1つのセッションにのみ別のvimrcファイルを提供する方法はありますか

1つのセッションにのみ別のvimrcファイルを提供する方法はありますか

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 の下に保存する場合 (そうであることを願います)、異なるブランチを使用して、それらの間でチェックアウトすることができます。

関連情報