Я использую tmux
по большей части вместо использования vim
вкладок и сплитов. Есть ли у vim возможность делиться завершением (через Ctrlnи Ctrlp) между запущенными экземплярами? Есть ли способ установить его там, где каждый из vims
них общается с сервером vim
?
autocompletion
tmux
clientserver
Грегори Нисбет
источник
источник
vim
будет читать и обновлять его список завершения?Ответы:
Vim может использовать одну и ту же базу данных завершения, если база данных является внешней для каждого экземпляра vim.
Например, завершение будет несколько «общим», если вы используете
ctags
завершениеyoucompleteme
или любой другой плагин, который использует внешние процессы или файлы.Завершение слов не очень полезно для вас, потому что оно будет использовать слова только в одном файле:
C-N
/C-P
Но
omni
иctags
завершение будет использоватьctags
базу данных (которая должна быть построенаexuberant ctags
заранее) и будет распространяться среди всех экземпляров.Тип
C-X C-O
для omni-complete,C-X C-]
для ctags дополнения.источник
В
:help i_ctrl-n
нем показано, что Vim используетcomplete
опцию для завершения слов. Далее в справкеcomplete
показано, что единственным реальным вариантом использования чего-то, что не является локальным для экземпляра Vim, является использование файла словаря. Затем вопрос сводится к созданию такого файла словаря с использованием всех экземпляров vim. Вы можете сделать это, анализируя все открытые файлы время от времени. Я понятия не имею, какое влияние это окажет на производительность.Другим вариантом будет использование совершенно другой механики (ctags и т. Д.), Но это может нарушить функциональность в других местах, поскольку они не предназначены для простого автозаполнения.
В более общем плане, вы также можете немного изменить свой рабочий процесс, чтобы больше придерживаться того способа, который Vim предполагал использовать. Это будет означать использование одного или нескольких окон для одновременного просмотра содержимого и частого переключения буферов. Плагин, который делает переключающую часть очень хорошо, это ctrlP. После активации его нажатием кнопки вы можете выполнять нечеткий поиск файлов в разных местах, что позволяет быстро переключаться между ними. Пока вы помните имя файла, которое есть.
источник