私は使用tmux
の代わりに使用しての大部分はvim
タブと分割を。vimには、実行中のインスタンス間で(Ctrlnおよびを介してCtrlp)補完を共有する機能がありますか?それぞれがvims
サーバーと通信している場所に設定する方法はありますvim
か?
vim
、完了リストをどこから読み取って更新できるでしょうか?
私は使用tmux
の代わりに使用しての大部分はvim
タブと分割を。vimには、実行中のインスタンス間で(Ctrlnおよびを介してCtrlp)補完を共有する機能がありますか?それぞれがvims
サーバーと通信している場所に設定する方法はありますvim
か?
vim
、完了リストをどこから読み取って更新できるでしょうか?
回答:
データベースが各vimインスタンスの外部にある場合、Vimは同じ補完データベースを使用できます。
あなたが使用している場合たとえば、完了は、やや「共有」されますctags
完了またはyoucompleteme
使用する外部プロセスやファイルのことや他のプラグインを。
単語補完は同じファイル内の単語のみを使用するため、あまり役に立ちません:C-N
/C-P
しかしomni
、ctags
完了はctags
データベース(exuberant ctags
事前に構築する必要があります)を使用し、すべてのインスタンス間で共有されます。
C-X C-O
オムニ補完のタイプ、C-X C-]
ctags補完のタイプ。
で:help i_ctrl-n
、それはVimが使用することを示しているcomplete
完全な言葉にオプションを選択します。さらにヘルプcomplete
は、Vimインスタンスにローカルでないものを使用する唯一の実際のオプションは、辞書ファイルを使用することであることを示しています。問題は、すべてのvimインスタンスを使用してそのような辞書ファイルを生成することです。これを行うには、開いているすべてのファイルを時々解析する必要があります。ただし、これがパフォーマンスに与える影響はわかりません。
別のオプションは、まったく異なるメカニズム(ctagsなど)を使用することですが、これらは実際には単純なオートコンプリートを意図していないため、機能が他の場所で壊れる可能性があります。
より一般的な注意として、ワークフローを少し変更して、Vimの使用が想定されていた方法にもっと固執することもできます。これは、1つまたはいくつかのウィンドウを使用して同時に内容を確認し、バッファを頻繁に切り替えることを意味します。切り替え部分を非常にうまく行うプラグインはctrlPです。ボタンを押してアクティブにした後、さまざまな場所でファイルをあいまい検索できるため、すばやく切り替えることができます。ファイル名を覚えている限り。