Можно ли добавить набор слов в словарь автозаполнения Vim?


13

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

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

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

Ответы:


10

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

: abbr supe superuser
: abbr autoc автозаполнение
: abbr que вопрос

Они будут автоматически завершены после нажатия Spaceили Enter. Так что, если вы набрали текст, queнажмите Spaceили Enterон закончил бы слово «вопрос» для вас.

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

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

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

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

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


1
фантастический! Я собираюсь использовать словари!
мад

Это сработало! Хотя я не получаю этого красивого меню. Я использую VIM 6.3.82, который не является последней версией.
Мад

Ах ... обновление помогает? Вам нужно нажать последовательность Ctrl-x, Ctrl-k, чтобы вызвать меню. Рад помочь, хотя :)
Джон Т

Это правильный путь.
в.

Только что проверил, что это работает в VIM 7.2. Еще раз спасибо!
2010 г.

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(нет необходимости в явном вызове завершения словаря с помощью Ctrl+ X, Ctrl+ K). Я обнаружил, что это особенно полезно для дополнений кода, где у меня есть все часто используемые имена функций вkeywords.txt

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.