現在、Vim Python IDEの作成方法に関するトピックに関する多くの投稿とビデオがあります。 このエディターを長い間使用しているので、この記事を書くことにしました。この記事で説明するセットアップの経験が損なわれないことを願っています。 膨大な数のプラグインを詰め込んでVimから「ハーベスター」を作成するつもりはありませんが、Python開発者がより快適に感じるのに役立つエディター自体のツールといくつかの拡張機能で対処しようとします。 始めましょう。
LiveReload
最近のほとんどのWeb開発者は、この驚くべき拡張なしに自分の人生を想像することはほとんどできません。 WebStorm、Sublime Textなどのエディターにあり、LiveReloadをサポートしないエディター用の個別のアプリケーションとして存在します。 残念ながら、Vimはそれらのエディターの1つです。 拡張機能はありますが、古くなっており、最新のLiveReload 2プロトコルをサポートしていません。
幸いなことに、python-livereloadと呼ばれる優れたコンソールユーティリティがあります。 このユーティリティの大きな利点のうち、Google Chrome、Firefoxなどのプラグインをインストールする必要はありませんが、ユーティリティは無料です。 ソースは
github.com/lepture/python-livereloadから入手できます
。pipまたはeasy_installでインストールできます。
pip install livereload 
編集を開始する前に、通常のPythonスクリプトであるGuardfileを作成する必要があります。
  
次に、現在のディレクトリで次のコマンドを使用してLiveReloadサーバーを起動できます。
 livereload -p 8000 
Python-livereloadは、less、coffee、uglifyjs、slimmerもサポートしています。 livereload.compilerモジュールから対応する関数をインポートするだけで十分です。次に例を示します。
  
基本的なvimエディター設定
次に、将来コードを快適に操作するのに役立つ基本設定について説明します。 まず、リーダーキーを設定しましょう。
mapleader = "、"を設定します
リーダーキーを使用すると、エディターに既に存在する標準の組み合わせを損なうことなく、独自の組み合わせを作成できます。 リーダーキーとして、「、」の組み合わせを設定します。他の設定も可能です。
エディターから余分なものをすべて削除しようとしました(GUIのタブを除く)。 これを行うには、次の設定を使用します
 if has('gui_running') "    GUI Vim set guioptions-=m "   " set guioptions-=e "   GUI      set guioptions-=T "   set guioptions-=r "     set guioptions-=L "     set background=light "      set guioptions-=R set guioptions-=l endif 
コメントアウトされた行セットguioptions- = eに注意してください。 有効にすると、タブはコンソールウィンドウに表示されます。

エディタウィンドウを区切るダッシュ間のインデントは削除できるため、
 set fillchars=stl:\ ,stlnc:\ ,vert:│ 

次に、表示できない文字を設定します。これらには、空白文字、改行、タブが含まれます。 次の設定を使用します
 if has('multi_byte') if version >= 700 " set listchars=tab:»\ ,trail:·,eol:¶,extends:→,precedes:←,nbsp:× set listchars=tab:▸\ ,eol:¬ # TextMate else set listchars=tab:»\ ,trail:·,eol:¶,extends:>,precedes:<,nbsp:_ endif endif nmap <leader>l :set list!<CR> 
リーダー+ lの組み合わせを結び付けて、非表示文字を常にオンおよびオフにします。これらは常に必要なわけではなく、編集を妨げることさえあります。
ヒント:エディターにテキストを挿入するときに、フォーマットが保存されず、エディターにゴミが表示されることがあります。 これを回避するには、 set paste行をvimrcに追加するか、コマンドを入力します。テキストを挿入する前にset pasteバンドル
Vundleは、拡張機能のインストールと更新を簡単にします。 記事の後半で、このプラグインを使用して拡張機能をインストールします。 のインストールには時間がかかりますので、すぐにインストールしましょう。
 git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle 
ここで、次の行を.vimrcに追加する必要があります。
 set nocompatible filetype off set rtp+=~/.vim/bundle/vundle/ call vundle 
拡張機能をインストールするには、次の形式を使用します
 Bundle 'tpope/vim-fugitive' "   Github Bundle 'FuzzyFinder' "    vim-scripts Bundle 'git://git.wincent.com/command-t.git' "   Git 
電力線
vimのステータス行は鈍くandいように見えます。 幸いなことに、より有益で美しいプラグインがあります。 ステータスバーの表示例

インストール:バンドル「Lokaltog / vim-powerline」
現在のgitリポジトリのブランチを表示するには、現在のディレクトリにバンドル「tpope / vim-fugitive」を追加してインストールします。 Powerlineが正しく機能するためには、修正されたフォント
をここからダウンロードし、インストールして、エディターに登録する必要があります。 例:
 set guifont=Menlo\ Regular\ for\ Powerline:h12 
Command-t
Command-Tは、ファイルを名前ですばやく開き、バッファまたはタグを切り替えることができる優れた拡張機能です。
インストール:バンドル「wincent / Command-T」
次に、command-t拡張ディレクトリに移動して、rake makeを実行します。
 cd .vim/bundle/command-t rake make 
キーボードショートカットは次のように構成できます。
 map <leader>f :CommandT<CR> map <leader>b :CommandTBuffer<CR> 
リーダー+ fでCommand-Tが開き、リーダー+ bで開いているバッファーのリストが開きます。

パイトンモード
Pythonモードでは、エディターからほぼ完全なIDEを作成できます。 python-modeでできること:
1. pyflakes、pep8、pylint、mccable、pep257による強調表示エラー
2. Ropeの完全サポート(RopeCompletion、RopeGotoDefinition、RopeRename、RopeAutoImportなど)
3. virtualenvをサポート

Pythonモード設定の例
 "   Rope let g:pymode_rope = 1 "  linting let g:pymode_lint = 1 "    let g:pymode_lint_checker = "pyflakes,pep8" "   ,     let g:pymode_lint_cwindow = 0 "   virtualenv let g:pymode_virtualenv = 1 "     let g:pymode_syntax = 1 let g:pymode_syntax_all = 1 let g:pymode_syntax_indent_errors = g:pymode_syntax_all let g:pymode_syntax_space_errors = g:pymode_syntax_all "   let g:pymode_folding = 0 "      let g:pymode_breakpoint = 1 "  leader + e    let g:pymode_breakpoint_key = '<leader>e' 
キーボードショートカット:
| 組み合わせ | 説明 | 
|---|
| Ccg | 定義に移動 | 
| Cスペース | ロープのオートコンプリート | 
| Ccd | ロープショーのドキュメント | 
| Ccf | ロープ検索オカレンス | 
ロープのオートコンプリートでは、リーダーとcの組み合わせを構成しました。 そのように点灯します
 imap <leader>c <CR>=RopeCodeAssistInsertMode()<CR> 
github.com/aliev/vimに詳細なコメントが記載されたVim設定ファイルを見ることができます。
その他の便利なvim拡張機能
マッチタグバンドル「gregsexton / MatchTag」
ペアのhtml、xmlタグの強調表示
終わりにバンドル「tpope / vim-endwise」
Rubyのブロックを自動的に閉じることを可能にする、rubistsの優れた拡張機能
エメットバンドル「mattn / emmet-vim」
私は非常に長い間、この延長を待っていました。 Emmetサポート(Zen Codingに改名)
Tコメントバンドル「tomtom / tcomment_vim」
自動言語検出によるコードブロックのコメント化