C ++、Python、およびASMのプログラミングにvimを使用しています。言語ごとに、異なる特定のプラグイン、キーマップなどがあります。
これを処理する最良の方法は何ですか? 別のvimrcの?またはすべて 1 つの vimrc で sth を追加します。ファイル iam 編集による if/else depening のように?
あなたの提案と経験に満足しています
よろしくお願いします
C ++、Python、およびASMのプログラミングにvimを使用しています。言語ごとに、異なる特定のプラグイン、キーマップなどがあります。
これを処理する最良の方法は何ですか? 別のvimrcの?またはすべて 1 つの vimrc で sth を追加します。ファイル iam 編集による if/else depening のように?
あなたの提案と経験に満足しています
よろしくお願いします
2 つのアプローチ: 自動コマンドと ftplugins。
自動コマンド
~/.vimrc
に、次のような行を追加できます。
autocmd FileType python setlocal tabstop=4 shiftwidth=4
詳細:help autocmd
と例については、 を参照してください。
ftプラグイン
設定とマッピングをこのファイルに入れます。
~/.vim/after/ftplugin/python.vim
詳細:help filetype
と:help ftplugin
例については、 と を参照してください。
考慮すべきことの 1 つは、オプションとマッピングの範囲です。グローバルなものも:colorscheme
あれば、上の のようにバッファやウィンドウに対してローカルなものも'tabstop'
あります。ファイルタイプ固有の設定が必要なため、できるだけローカルにする方が安全です。
オプションをローカルにするには、 を使用する必要がありますsetlocal
(すべてのオプションで機能するとは限らないことに注意してください:help
。それぞれのオプションを確認してください)。を参照してください:help :setlocal
。
setlocal autoindent
マッピングをバッファに対してローカルにするには、 を使用します。<buffer>
を参照してください:help <buffer>
。
map <buffer> <F6> ddP