
vim/vi で異なる vimrc ファイルを提供する方法があるかどうか知りたいです。2 つの異なる vimrc ファイルの管理を検討しています。バージョン管理でチェックアウト/チェックインするコンテンツには、ファイル内の通常のコマンドではなく、異なるコマンド セットを使用したいと考えています.vimrc
。
例えば。
私の.vimrc
ファイルには、ファイルを保存するときに末尾のスペースを自動的に削除するコマンドが含まれています。ただし、この機能を特定のファイルに対して有効にしたくありません。
では、別の vimrc ファイルを提供する方法はありますか (おそらくコマンドラインで、vim --vimrc=somefile file-to-open のように毎回パラメーターとして指定します)?
答え1
マンページを参照してください:
-u {vimrc} 初期化にはファイル {vimrc} 内のコマンドを使用します。その他の初期化はすべてスキップされます。特殊な種類のファイルを編集するにはこれを使用します。また、名前 "NONE" を指定してすべての初期化をスキップすることもできます。詳細については、vim 内の ":help initialization" を参照してください。
答え2
では、別の vimrc ファイルを提供する方法はありますか (おそらくコマンドラインで、vim --vimrc=somefile file-to-open のように毎回パラメーターとして指定します)?
はい、-u
パラメータを使用します:
vim -u ~/.my-custom-vimrc
からman vim
:
-u {vimrc} Use the commands in the file {vimrc} for initializations.
All the other initializations are skipped. Use this to
edit a special kind of files. It can also be used to skip
all initializations by giving the name "NONE". See ":help
initialization" within vim for more details.
私の .vimrc ファイルには、ファイルを保存するときに末尾のスペースを自動的に削除するコマンドが含まれています。ただし、この機能を特定のファイルに対して有効にしたくありません。
既知のファイルタイプに対して特別な処理が必要な場合は、別の解決策があります。vimrcautocmd
でコマンドを使用します。たとえば、これはファイルタイプに依存する設定です。
" Mapping of filetypes to options
au FileType freerad setl noexpandtab sts=0 sw=8
au FileType make setl noexpandtab sts=0
au FileType php let php_sql_query=1
au FileType php let php_htmlInStrings=1
au FileType python setl shiftwidth=2 expandtab
au FileType sql setl noexpandtab sts=0 sw=8
" global options I do not want any filetype to override
au FileType * setl formatoptions-=ro " don't continue comments
vim が特定のファイルタイプを自動的に割り当てないものにオプションを適用する必要がある場合は、独自のマッピングを追加できます (コマンドを使用する前に実行してくださいautocmd
)。
" mapping of filenames to filetypes
au FileReadPost,BufReadPost,BufNewFile /etc/freeradius/* setl ft=freerad
au FileReadPost,BufReadPost,BufNewFile *.xt setl ft=xt
答え3
set exrc
メインの .vimrc で、vim が現在のディレクトリから .vimrc を自動的に読み込むようにすることもできます。
答え4
Vim 設定ディレクトリを Git の下に保存する場合 (そうであることを願います)、異なるブランチを使用して、それらの間でチェックアウトすることができます。