Vim/viに別のvimrcファイルを提供する方法があるかどうか知りたい。私は2つの異なるvimrcファイルの管理を検討しています。コンテンツについて、バージョン管理でチェックアウト/チェックインします。.vimrc
ファイルの通常のコマンドではなく、異なるコマンドセットを使用したいと思います。
例えば。
私の.vimrc
ファイルには、ファイルの保存中に末尾のスペースを自動的に削除するコマンドが含まれています。ただし、特定のファイルに対してこの機能をアクティブにしたくありません。
それで、異なるvimrcファイルを提供する方法はありますか(おそらくコマンドラインで、vim --vimrc = somefile file-to-openとして毎回パラメーターとしてそれを与えます)?
マンページを参照してください。
-u {vimrc}初期化にはファイル{vimrc}のコマンドを使用します。他のすべての初期化はスキップされます。これを使用して、特別な種類のファイルを編集します。また、「NONE」という名前を付けることで、すべての初期化をスキップするために使用することもできます。詳細については、vim内の「:help initialize」を参照してください。
それで、異なる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ファイルには、ファイルの保存中に末尾のスペースを自動的に削除するコマンドが含まれています。ただし、特定のファイルに対してこの機能をアクティブにしたくありません。
一部の既知のファイルタイプに対して特別な処理が必要な場合は、別の解決策があります。 vimrcでautocmd
コマンドを使用します。たとえば、これは私のファイルタイプに依存する構成です。
" 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
あなたもすることができます set exrc
メインの.vimrcで、vimが現在のディレクトリから.vimrcを自動的にロードするようにします。