Vimに問題があり、それがvimrc
ファイルにある可能性があります(または、ファイルである可能性があると言われていvimrc
ます)。
これを確認するにはどうすればよいですか?それが私のvimrc
ファイルである場合、問題が正確にどこにあるかをどのように知ることができますか?
Vimに問題があり、それがvimrc
ファイルにある可能性があります(または、ファイルである可能性があると言われていvimrc
ます)。
これを確認するにはどうすればよいですか?それが私のvimrc
ファイルである場合、問題が正確にどこにあるかをどのように知ることができますか?
回答:
最初に行うことは、デフォルト設定でVimを起動することです。
vim -u NONE -U NONE -N
-u NONE
あなたのvimrcをロードすることを防止するVimは、-U NONE
あなたのgvimrcを読み込みからVimを防ぎ、そして-N
何の互換モードを使用しないようにVimを伝えます(これは必須ではありませんが、ほとんどのVimユーザーは「互換モード」に使用されていません)。ことに注意NONE
された必要なすべて大文字にします。
Windowsでは、新しいショートカットを作成してこれらのフラグを追加できます1。
問題が解決しない場合は、vimrcに問題がないことがわかります。
問題が解消された場合、vimrcファイルの何かが原因です。
ほら!行って質問してください。vimrcファイルなしでVimを起動しようとしたことを忘れないでください!
まだ行っていない場合は、まずvimrcファイルのバックアップコピーを保存することをお勧めします。
次に行う可能性があるのは、最初にすべてのプラグインを無効にすることです。プラグインはVimでかなり変更される可能性があります。これで問題が解決した場合は、プラグインを1つずつ有効にして、どのプラグインを見つけようとします
。どのプラグインが問題の原因であるかを特定したら、このプラグインのドキュメントを読むか、またはでタグ付けされた質問をすることで、それを試して修正できますplugin-<name>
。
それはならないプラグイン、そしてあなたが持っていないすべてのあなたの問題を引き起こしているもののアイデアを、それは試行錯誤の手順です。vimrcの1つ以上の行をコメントアウトし、Vimを起動して、問題が発生するかどうかを確認し、問題が発生しなくなるまでこの手順を繰り返します。これを行う最も速い方法は次のとおりです。
最後に、問題を引き起こす単一のオプションまたはいくつかのオプションの組み合わせが必要です。Vimのオプションの詳細については、次を使用して確認できます。
:help 'option_name'
ここで引用符は重要であり、通常は引用符なしでも機能しますが、引用符を省略すると間違ったページが表示されることがあります。
ヘルプページを読んでもまだ混乱している場合は、どこに質問すればよいかがわかります;-)
あなたはそれについて質問をするために、おそらく、単一のプラグインを特定したい場合は、できるだけ読み込みますがしたい、まだプラグインを読み込みます。Vimのパッケージ機能を使用して簡単にこれを行うことができます。これには、Vim 8またはNeovimの比較的最近のバージョンが必要です。
新しい空のディレクトリを作成します。~/plugin
この例ではパスを使用します。次に、プラグインを通常のpack/plugins/start/$name
ディレクトリに配置します。例えば:
git clone https://github.com/fatih/vim-go.git ~/plugin/pack/plugins/start/vim-go
test-vimrc
次の内容のファイルを作成します。これはVimがからプラグインをロードすることを保証します~/plugin
ディレクトリおよびない~/.vim
ディレクトリ:
set nocompatible
set packpath=~/plugin,/usr/share/vim/vimfiles,/usr/share/vim/vim80,/usr/share/vim/vimfiles/after,~/plugin/after
packloadall!
syntax on
filetype plugin indent on
Vimを起動するには:
vim -U NONE -u ~/test-vimrc
これで、この単一のプラグインを備えた最小限のvimrcができました。
脚注
1たとえば、64ビットWindowsでは、ショートカットは次のようになります"C:\Program Files (x86)\Vim\vim74\vim.exe" -u NONE -U NONE -N
。作成するには、ショートカットを使用するファイルエクスプローラで右クリックし、[新規]-> [ショートカット]を選択して、ショートカットテキストを貼り付けます。Vimが別の場所にインストールされている場合は、Vimパスを変更する必要があります。
-U NONE
持っている場合は必要ありません-u NONE
。
-D
スクリプトから最初のコマンドを実行した後、デバッグモードに移行するデバッグ専用のVimパラメーターがあります。
たとえば、プラグインなしでVimをデバッグモードで実行するには、次のように実行します。
vim --noplugin -D
n
/ next
を入力して次の行を解析し、を押し続けEnterます。
そして、cont
またはq
背面に移動するにはvim
インターフェース。
GUIバージョンを使用している場合gui
は、vimrcにコマンドを入力して、そのコマンドの直後にデバッグを開始します。
使用可能なコマンドのリストを表示するには、Ctrl+ dを押します
続きを読む:
:help debug-scripts
もう1つのヒント:穴居人のように見えるかもしれませんが、.vimrcに:echom "message"を追加して、実行されているものと実行されていないものを確認するのが好きです。
例えば
if executable('ag')
:echom "AG FOUND"
...
endif
これは、ifブロックが実行されているかどうかなどをすばやく確認するのに役立ちます。vimを次に起動したときに、メッセージがコンソールに出力されます。
echom
別の興味深いコマンドを使用する:messages
と、エコーされたメッセージの完全なログを取得できます。起動後にそれらを見ると便利な場合があります。
私が見つけた助けの1つは、一部を切り替える変数のコレクションを保持する.vimrc
ことです。これにより、コメントアウトすることなく、その一部を無効または有効にできます。それはまたあなたの組織について考えることを強制する心地よい副作用を持っています.vimrc
。
" feature toggles in vimrc
let g:vimrc_feat_pathogen = 1
let g:vimrc_feat_core_minimal = 1
let g:vimrc_feat_matchit = 1
let g:vimrc_feat_options = 1
let g:vimrc_feat_colors_and_highlight = 1
let g:vimrc_feat_key_rebinding_arpeggio = 1
let g:vimrc_feat_key_rebinding = 1
let g:vimrc_feat_autocommand_group = 1
let g:vimrc_feat_custom_definitions = 1
let g:vimrc_feat_load_opam = 1
以下で保護されたセクションの例を示しif
ます。
if g:vimrc_feat_core_minimal
set nocompatible
filetype plugin indent on
syntax on
endif
始めるための簡単な手順を次に示します。
:source %
か、:so $MYVIMRC