動作が個人設定の影響を受けないようにするため、ユーザーがインストールしたすべての設定ファイルを無視する方法でVimを起動します。すぐに。
これはFAQで対処されており、次のコマンドでVimを起動することが答えであることが示唆されています。
vim -u NONE -U NONE -N -i NONE
これによりほとんどの方法で取得runtimepath
できますが、オプションには~/.vim
、特にが含まれています~/.vim/after
(たとえば、その後ファイルタイプの検出をオンにしてファイルタイプを変更~/.vim/after/syntax/the_relevant_filetype.vim
すると、コードが実行されます)。
起動時に次のコマンドを呼び出すことで、この特定の問題を回避できます*:
:set runtimepath-=~/.vim
:set runtimepath-=~/.vim/after
...しかし、私はわからない:
- これは堅牢なソリューションです。ユーザー設定を有効にできる唯一のパスはこれらですか?他に考えていないことはありますか?
- 望ましい結果を達成するためのより良い方法があります。
* --cmd
または-u vimrc
シェル引数を使用するか、単にそれらを手動で入力します。
編集:これは私が修正しようとしている問題の種類の特定の例です。(私は解決策が他の考えられる問題を修正したいのですが、まだ気付いていないかもしれません。):
コンテンツを含むファイル〜/ .vim / after / ftplugin / c.vimを作成します。
noremap i :echom "This is not default behaviour"<CR>
これで、ユーザーがインストールした構成のうち、無視したいものがあります。FAQで提案されたソリューションをテストしましょう。
次のコマンドでVimを実行します:
vim -u NONE -U NONE -N -i NONE
次のコマンドを入力します。
:filetype plugin on :set ft=c i
望ましい動作:Vimは挿入モードに入る必要があります。これは、ユーザー構成が存在しない場合の処理です。
観察された動作:Vimは「これはデフォルトの動作ではありません」と出力します
:cd ~
、viminfo
ファイルのデフォルトの場所は$ HOMEであるため、E138が発生する可能性があります。新しい空のディレクトリを作成し、それを$ HOMEに使用するのが最善の解決策になると思います。
-u NONE
。
/tmp
ほうが良いか、それは私の最初の考えでしたが、それから/ dev / nullをブラックホールとして選択しました。...または何かHOME=$(mktemp -d) vim ...
。
-u NONE
か?必要な動作に依存すると思います。
HOME=/dev/null vim -u NONE
か?