Vim плагин для автоматического завершения нескольких файлов
Есть ли плагин vim, который выполняет автозаполнение нескольких файлов?
Пример:
- Открытые файлы
a.txt
а такжеb.txt
, - При использовании
vim
редактироватьb.txt
Я хочу получать результаты автозаполнения отa.txt
а такжеb.txt
Я уже использую youCompleteMe
плагин, но это делает только завершение в одном файле для методов из этого языка.
Какие-либо предложения?
1 ответ
Встроенное завершение Vim с помощью Ctrl-N в режиме вставки уже поддерживает это. Там нет необходимости для плагина.
Вы можете увидеть это с помощью следующего теста:
Создать файл
very-basic-vimrc
со следующим содержанием:set nocompatible filetype plugin indent on syntax enable
Бежать
vim -u very-basic-vimrc
, Это запускает Vim, используя этот файл в качестве вашегоvimrc
, так что вы можете проверить, как работает Vim без каких-либо плагинов.В пустом буфере введите текст "один два три".
Бежать
:new
чтобы открыть другой буфер, и введите "четыре пять шесть".Вернитесь к первому буферу с помощью Ctrl-W W, затем откройте новую строку с
o
,Введите "fi" и нажмите Ctrl-N. Это инициирует следующее совпадение при автозаполнении - см . Документацию Vim для
i_CTRL-N
, "Пять" будет успешно завершено, даже если слово "пять" находится в другом буфере.
Если эта функциональность не работает для вас с вашим обычным vimrc, один из ваших установленных плагинов, таких как YouCompleteMe, может мешать этому поведению. Измените настройки для этого плагина или отключите его.
Я лично использую Supertab. С Supertab я могу успешно набрать Tab, чтобы завершить слово из другого буфера. Другие популярные плагины завершения, вероятно, также поддерживают эту функцию.
Я вижу, что YouCompleteMe стремится предложить завершение, даже не вводя Tab. Если завершения из других буферов не отображаются в этом автоматически запускаемом списке, YouCompleteMe, вероятно, делает это специально, чтобы нормальная типизация не слишком сильно замедлялась. Вам придется искать в документации YCM опцию, которая его включает, или отображение, которое расширяет список завершений, чтобы включать в себя дополнения из других буферов. Если ни один из них не существует, вы можете создать проблему, запрашивая ее, на трекере проблем YouCompleteMe.