vim Neocompleteプラグインの使用問題の補完
2250 ワード
vim自動補完プラグインはYouCompleteMe、Neocompleteなどがあり、
YouCompleteMeは補全神器で、スピードは速いが、windowsの下でコンパイルしにくいのでNeocompleteを選んだ.
Windows下Neocompleteのluaサポート vim を取り付ける
Neocompleteはvimコンパイル時に+luaのサポートを追加する必要があります.vim公式サイトでダウンロードしたインストールバージョンには+luaのサポートはありません.
コンパイルサポート+lua/dynのバージョンを見つけて、ダウンロードした後に正しいdllファイルを見つけてvimディレクトリに置くだけでいいです.
https://tuxproject.de/projects/vim/
ダウンロード後の解凍 lua をコンパイルサポートするかどうかを確認します.
vimを開き、コマンドモードに入り、versionを入力します.中に+lua/dynというものがあります.
いいえ、 lua 53.dll をダウンロード
対応バージョンのダウンロード
https://sourceforge.net/projects/luabinaries/files/5.3.4/Windows%20Libraries/Dynamic/
ダウンロード解凍後、lua 53.dllをgvim.exe同級ディレクトリにコピー
再びvimを開くと、コマンドモード入力
注意:lua 53.dllのバージョンはvimのバージョンに対応する必要があります.いずれも64ビット、または32ビットのバージョンです.
Neocompleteの使用中に問題が発生システムにpy 3バージョンのみインストールpy 2バージョンpythonがない場合 次のエラーメッセージが頻繁に表示されます.
その後、
問題はneocompleteが補完メソッドを呼び出すときにpython 2のファイルを使用するべきで、python 3に変更する必要があります.
問題は、.vimrcの3つのpythoncompleteをpython 3 completeに変更し、以下のようにします.とマルチカーソル操作プラグインの競合(MULTIPLE-CRURSORS) 「vim-multiple-cursor」を使用して、挿入モードで何かを入力します.遅くなり、次のように追加されます.
vimrcプロファイルに次の構成を追加できます.
このロックとロック解除により、neocompleteが複数のカーソル編集を完了するまで関数呼び出しをトリガーすることを防止できます.
YouCompleteMeは補全神器で、スピードは速いが、windowsの下でコンパイルしにくいのでNeocompleteを選んだ.
Windows下Neocompleteのluaサポート
Neocompleteはvimコンパイル時に+luaのサポートを追加する必要があります.vim公式サイトでダウンロードしたインストールバージョンには+luaのサポートはありません.
コンパイルサポート+lua/dynのバージョンを見つけて、ダウンロードした後に正しいdllファイルを見つけてvimディレクトリに置くだけでいいです.
https://tuxproject.de/projects/vim/
ダウンロード後の解凍
vimを開き、コマンドモードに入り、versionを入力します.中に+lua/dynというものがあります.
:lua print('hello')
を入力し、luaがあるかどうかを確認し、ある場合はhello
を出力します.いいえ、
lua53.dll
のような情報が欠けていることを示すなど、欠落している特定のバージョンがプロンプトされます.対応バージョンのダウンロード
https://sourceforge.net/projects/luabinaries/files/5.3.4/Windows%20Libraries/Dynamic/
ダウンロード解凍後、lua 53.dllをgvim.exe同級ディレクトリにコピー
再びvimを開くと、コマンドモード入力
:echo has("lua")
が1に戻るとよい.注意:lua 53.dllのバージョンはvimのバージョンに対応する必要があります.いずれも64ビット、または32ビットのバージョンです.
Neocompleteの使用中に問題が発生
E117: unknown function:pythoncomplete#Complete
version
を表示します.+pythonと+python 3があります.その後、
echo has(“python”)
を表示し、結果は0であった.echo has(“python3”)
、結果は1です.問題はneocompleteが補完メソッドを呼び出すときにpython 2のファイルを使用するべきで、python 3に変更する必要があります.
問題は、.vimrcの3つのpythoncompleteをpython 3 completeに変更し、以下のようにします.
autocmd FileType python setlocal omnifunc=python3complete#Complete
(neocomplete_start_auto_complete)
vimrcプロファイルに次の構成を追加できます.
" Called once right before you start selecting multiple cursors
function! Multiple_cursors_before()
if exists(':NeoCompleteLock')==2
exe 'NeoCompleteLock'
endif
endfunction
" Called once only when the multiple selection is canceled (default )
function! Multiple_cursors_after()
if exists(':NeoCompleteUnlock')==2
exe 'NeoCompleteUnlock'
endif
endfunction
このロックとロック解除により、neocompleteが複数のカーソル編集を完了するまで関数呼び出しをトリガーすることを防止できます.