実行中のvimインスタンス間で補完を共有する


10

私は使用tmuxの代わりに使用しての大部分はvimタブと分割を。vimには、実行中のインスタンス間で(Ctrlnおよびを介してCtrlp)補完を共有する機能がありますか?それぞれがvimsサーバーと通信している場所に設定する方法はありますvimか?


8
いいえ、これは実用的な方法で行うことはできません。Vimは数十、数十のバッファを完全に処理することができます。
romainl 2016年

1
@romainl、「完了ファイル」に何かを書き込んでvim、完了リストをどこから読み取って更新できるでしょうか?
J.チョメル2017年

回答:


2

データベースが各vimインスタンスの外部にある場合、Vimは同じ補完データベースを使用できます。

あなたが使用している場合たとえば、完了は、やや「共有」されますctags完了またはyoucompleteme使用する外部プロセスやファイルのことや他のプラグインを。

単語補完は同じファイル内の単語のみを使用するため、あまり役に立ちません:C-N/C-P

しかしomnictags完了はctagsデータベース(exuberant ctags事前に構築する必要があります)を使用し、すべてのインスタンス間で共有されます。

C-X C-Oオムニ補完のタイプ、C-X C-]ctags補完のタイプ。


0

:help i_ctrl-n、それはVimが使用することを示しているcomplete完全な言葉にオプションを選択します。さらにヘルプcompleteは、Vimインスタンスにローカルでないものを使用する唯一の実際のオプションは、辞書ファイルを使用することであることを示しています。問題は、すべてのvimインスタンスを使用してそのような辞書ファイルを生成することです。これを行うには、開いているすべてのファイルを時々解析する必要があります。ただし、これがパフォーマンスに与える影響はわかりません。

別のオプションは、まったく異なるメカニズム(ctagsなど)を使用することですが、これらは実際には単純なオートコンプリートを意図していないため、機能が他の場所で壊れる可能性があります。

より一般的な注意として、ワークフローを少し変更して、Vimの使用が想定されていた方法にもっと固執することもできます。これは、1つまたはいくつかのウィンドウを使用して同時に内容を確認し、バッファを頻繁に切り替えることを意味します。切り替え部分を非常にうまく行うプラグインはctrlPです。ボタンを押してアクティブにした後、さまざまな場所でファイルをあいまい検索できるため、すばやく切り替えることができます。ファイル名を覚えている限り。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.