Vim — замечательный редактор во всех отношениях. Пользуюсь им довольно часто, хотя очень далёк от использования хотя бы малой доли его возможностей. Есть определённый минимум, которым обхожусь, с которым счастлив, которым доволен. Забавно, конечно, но вот уже на протяжении нескольких лет мне в голову не приходило, что в Vim мне довольно часто не хватает банальной проверки правописания. В сегодняшней статье я буду пробовать дружить Vim с проверкой правописания русского языка.
Настройка и включение
Для начала необходимо загрузить с ftp://ftp.vim.org/pub/vim/runtime/spell/ файлы словарей, соответственно языкам, регионам и кодировкам, проверка правописания которых вам необходима. Для меня пока что достаточно проверки русского в UTF-8 и поэтому я загрузил файлы ru.utf-8.spl и ru.utf-8.sug. Скаченные файлы необходимо разместить в каталоге ~/.vim/spell.Собственно, на этом настройка правописания завершена и теперь осталось её включить. Делается это следующей командой в Vim:
set spell spelllang=ru
ru замените, если нужно, на код языка, правописание которого вам необходимо проверять. Если вам нужно, чтобы включение проверки правописания происходило автоматически при запуске Vim, добавьте приведённую строку в файл ~/.vimrc и/или в ~/.gvimrc по вашему вкусу. Вот, что должно получиться в итоге:
Работа с ошибками
При помощи следующих команд Vim вы можете быстро перемещаться по словам, написанным с ошибками:
]s — перемещает курсор на следующее слово с ошибкой;
[s - перемещает курсор на предыдущее слово с ошибкой;
]S — то же, что и ]s, только курсор не будет останавливаться на словах, которые считаются неправильным для определённого региона выбранного языка;
[S - то же, что и ]S, но в обратном направлении.
Для добавления ошибочно написанных слов в ваш собственный список слов можно использовать следующие команды:
zg — добавляет слово, находящееся под курсором в spellfile;
zG — то же, что и zg, однако слово будет добавлено в internal-wordlist;
zw — то же, что и zg, однако слово будет помечено как ошибочно-написанное;
zW — то же, что и zw, только слово будет добавлено в internal-wordlist;
Чтобы отменить действие добавления слова, используйте команды:
zug и zuw — отменяет действие zg и zw соответственно;
zuG и zuW — отменяет действие zG и zW соответственно;
Для того, чтобы Vim показал вам предложения по исправлению ошибочно-написанного слова, используйте команду z=: