
vim / viで他のvimrcファイルを提供する方法があるかどうか疑問に思います。私は2つの異なるvimrcファイルを管理しようとしています。.vimrc
ファイルの通常のコマンドではなく、バージョン管理でチェックアウト/チェックインするために別のコマンドセットを使用したいと思います。
例えば。
私の.vimrc
ファイルには、ファイルを保存するときに末尾のスペースを自動的に削除するコマンドが含まれています。ただし、特定のファイルに対してこの機能を有効にしたくありません。
それでは、別のvimrcファイルを提供する方法はありますか(おそらくコマンドラインでvim --vimrc = somefile file -毎回開くことができるように引数として渡します)?
答え1
マンページを参照してください。
-u {vimrc} {vimrc} ファイルのコマンドを使用して初期化します。他のすべての初期化はスキップされます。特別な種類のファイルを編集するために使用します。 「NONE」という名前を指定して、すべての初期化をスキップするためにも使用できます。詳細については、vimの「:helpの初期化」を参照してください。
答え2
それでは、別のvimrcファイルを提供する方法はありますか(おそらくコマンドラインでvim --vimrc = somefile file -毎回開くことができるように引数として渡します)?
はい、-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ファイルには、ファイルを保存するときに末尾のスペースを自動的に削除するコマンドが含まれています。ただし、特定のファイルに対してこの機能を有効にしたくありません。
autocmd
既知の特定のファイル形式に対して特別な処理が必要な場合は、vimrcのコマンドを使用する別の解決策があります。たとえば、以下は私のファイル形式関連の設定です。
" 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
vimにデフォルトの.vimrcの現在のディレクトリから.vimrcを自動的にロードさせることもできます。
答え4
Vim設定ディレクトリをGitの下に保存したら(そうであれば)、異なるブランチを使用してそれらの間でチェックアウトできます。