Чи можна додати набір слів до словника автозаповнення Vim?


14

У Vim мені відомо про використання CTRL-n та CTRL-p для автозаповнення слів, знайдених у документі. Це чудово сприяє використанню описового методу та імен змінних.

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

Чи можна додати слова до автозаповнення словника Vim, яке було б доступне для кожного сеансу Vim?

Відповіді:


11

Ви можете використовувати скорочення у вашому ~/.vimrcфайлі лише для кількох слів:

: супербрус abbr supe
: abbr autoc автозаповнення
: abbr que питання

Вони автоматично завершаться після натискання кнопки Spaceабо Enter. Тож якщо ви ввели queпотім натиснувши Spaceабо Enterце закінчить для вас слово "питання".

Якщо ви додаєте багато і хочете цей інтерфейс:

alt текст

Можна використовувати словники . Просто встановіть файл із словом у кожному рядку, а потім у свій .vimrc додайте такий рядок:

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

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


1
фантастично! я збираюся використовувати словники!
Мад

Це спрацювало! Я не отримую цього гарного вигляду меню, хоча. Я використовую VIM 6.3.82, що не є останньою версією.
Мад

Ах ... чи допомагає оновлення? Вам потрібно натиснути послідовність Ctrl-x, Ctrl-k, щоб відкрити меню. Радий допомогти, хоча :)
Джон T

Це правильний шлях.
у.

Просто перевірили, що це працює у VIM 7.2. Знову дякую!
мад

3

"Джерела" для звичайного автозаповнення (те, що ви отримуєте від 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.