Python の Vim オートコンプリート

Fariba Laiq 2023年6月21日
  1. Python 用の Vim
  2. Python の Vim オートコンプリート
Python の Vim オートコンプリート

Vim (Vi Improvementの略) は、Python の開発環境として好まれることが多い強力なテキスト エディターです。 この記事では、Vim とその Python のオートコンプリート機能について説明します。

Python 用の Vim

Vim は、世界中の開発者にサービスを提供してきました。絶え間なく技術が進歩し、絶え間なく変化するこの世界では、非常に称賛に値する偉業です。 Vim は、その機能に関して特定の考え方に従うことが知られています。これは、キーボードによる効率という用語でのみ説明できます。

つまり、Vim は、ペンと紙を持ったライターのように、ソフトウェア開発者が、開発中にスクロールしたり、選択するオプションを見つけたりするなど、他の無数の注意散漫に気を取られることなく効率的にコードを記述できるべきであるという考えに基づいて構築されたことを意味します。 . 開発者にとって、キーボードはペンです。

Vim は構造化されたコマンド言語に従っており、その中での操作は最初は戸惑うかもしれません。 Vim のような気晴らしのない環境でプログラミングの技術を最終的に習得するには、慣れなければならない重要なコマンドがたくさんあることは間違いありません。

ただし、コマンドは論理的でわかりやすいスタックに存在するため、慣れるのがはるかに速くなります。

ヴィムの特徴

Vim と Python は強力な組み合わせであり、多くのソフトウェア開発者に好まれています。

Vim は、多数のプラグインを提供する IDE として簡単にセットアップできます。 これらは、ソフトウェア開発者が Vim をカスタマイズし、開発ニーズに最適な環境を作成するのに役立ちます。

この記事で Vim を IDE として最大限に活用するために使用できるすべての機能を網羅することはできませんが、実際に最も需要の高い機能のリストを提供できます。

  1. 分割レイアウト

    sp <filename> を使用して、現在のファイルのすぐ下に新しいファイルを開くことができます。

  2. コードの折りたたみ

    現時点で完全に表示するのに不可欠ではないクラスまたはメソッドを折りたたむことができます。

  3. バッファー

    Vim では、バッファを使用して、最近開いたファイルに簡単にアクセスできます。 b <buffer name or number> を使用してファイルを開くか、ls を使用してすべてのバッファーを一覧表示します。

  4. UTF-8 サポート

    次のスクリプトを使用して設定することで、Vim がエンコーディングに UTF-8 を使用していることを確認できます: set encoding=utf-8.

  5. 不要な空白のフラグ付け

    Vim のようなエディタを使用すると、開発中に余分な空白が生じる可能性があります。 Vim にこの空白にフラグを付けて、簡単に見つけて削除することができます。

    au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
    
  6. 自動インデント

    Python が開発言語として使用されているため、インデントは開発フェーズの重要な部分です。 自動インデントにより、開発者は余分なインデントやインデントがないことによるエラーを心配する必要がなくなります。

    メソッドの定義が 1 行よりも長い場合、自動インデントが機能しないことがあります。 indentpython.vim を次のように設定することで、これに対抗できます。

    Plugin 'vim-scripts/indentpython.vim'
    
  7. 構文チェック

    最新の IDE の特徴は、あらゆる開発言語の構文を維持できることです。 このように pep8 機能を追加するための構文プラグインと flake8 を追加することで、Vim 用にこれをセットアップできます。

    構文:

    Plugin 'vim-syntactic/syntactic
    

    フレーク8:

    Plugin 'nvie/vim-flake8' #adds pep8
    
  8. ペップ8

    Vim の pep8 チェックをセットアップして、コーディング標準のレビューを維持できます。

Python の Vim オートコンプリート

Python でオートコンプリート機能を利用できるようにする最適なプラグインは YouCompleteMe です。 YouCompleteMe が Jedi のような他のさまざまなオートコンプリートを使用して機能することは事実ですが、最近の Python バージョンに最適なプラグインです。

Vundle を使用して、次のように環境にインストールしてセットアップできます。

Bundle 'Valloric/YouCompleteMe'

完全なインストール手順は、この すべての OS タイプに関する広範なドキュメント にあります。

64 ビット Linux システムでセットアップする方法は次のとおりです。

  1. 次のコマンドを実行して、すべての完全なパッケージをインストールすることから始めます。 次のコマンドは、Vundle、CMake、Vim、および Python を介して YCM プラグインをインストールします。 これらのパッケージが既にインストールされている場合は、再インストールされません。

    apt install build-essential cmake vim-nox python3-dev
    
  2. 次に、次のコマンドを使用して mono-complete、go、node、java、および npm をインストールします。

    apt install mono-complete golang nodejs default-jdk npm
    
  3. あとは、次のように YCM をコンパイルするだけです。

    cd ~/.vim/bundle/YouCompleteMe
    python3 install.py --all
    

インストールは非常に簡単ですが、次のようにカスタマイズできます。

let g:ycm_autoclose_preview_window_after_completion=1
map <leader>g  :YcmCompleter GoToDefinitionElseDeclaration<CR>

このスクリプトにより、オートコンプリートが完了するとウィンドウが消え、スクリプトの 2 行目に GoTo 定義のショートカットが作成されます。

著者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn