11

В Vim я знаю об использовании CTRL-n и CTRL-p для автозаполнения слов, найденных в документе. Это отлично подходит для поощрения использования описательных методов и имен переменных.

Я хотел бы добавить набор слов для автозаполнения, которые я часто, но не в исходном файле, который я сейчас редактирую. Мое текущее решение состоит в том, чтобы просто добавить список слов в комментарий в нижней части моего файла шаблона, но в лучшем случае это кажется немного расточительным и хитрым.

Есть ли способ добавить слова в словарь автозаполнения Vim, которые будут доступны для каждого сеанса Vim?

2 ответа2

10

Вы можете использовать сокращения в вашем файле ~/.vimrc всего за пару слов:

:abbr supe superuser
:abbr autoc autocomplete
:abbr que question

Они будут автоматически завершены после нажатия пробела или ввода. Поэтому, если вы наберете que затем нажмете пробел или Enter, это завершит слово "вопрос" для вас.

Если вы много добавляете и хотите этот интерфейс:

альтернативный текст

Вы можете использовать словари. Просто настройте файл со словом в каждой строке, затем в вашем .vimrc добавьте строку, подобную этой:

set dictionary+=/home/john/dict.txt

Замените путь на местоположение вашего файла словаря. Затем вы можете использовать Ctrl + x и Ctrl + k, чтобы вызвать предложения. Ctrl + n и Ctrl + p, чтобы выбрать следующий / предыдущий из нескольких вариантов выбора.

2

"Источники" для обычного автозаполнения (которое вы получаете с помощью Ctrl+N) берутся из опции complete (см . :h 'complete'). По умолчанию

complete=.,w,b,u,t

что значит

  1. . сканировать текущий буфер
  2. w сканировать буферы из других окон
  3. b сканировать другие загруженные буферы, которые находятся в списке буферов
  4. u сканируете выгруженные буферы, которые находятся в списке буферов
  5. завершение тегов t

Вы можете добавить свой собственный словарь с

set complete+=k~/.vim/keywords.txt

и добавьте ключевые слова по одному на строку в ~/.vim/keywords.txt . Таким образом, вы можете получить доступ к завершению напрямую с помощью Ctrl+N (нет необходимости в explicity, вызывайте завершение словаря с помощью Ctrl+X, Ctrl+K). Я обнаружил, что это особенно полезно для дополнений кода, где у меня есть все часто используемые имена функций в keywords.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .