Более подробно мне бы хотелось остановиться на такой очень полезной фиче
Vim 7 как проверка орфографии. Так как у меня с этим проблемы, то ужа
довольно давно я нагородил кучу костылей, чтобы научить vim проверять
орфографию. Теперь же все эти костыли были с радостью удалены. Ведь vim
7 имеет встроенную поддержку орфографии!
Теперь я расскажу как ее включить/настроить. Все не просто, а очень
просто. Словари можно скачать с сайта ftp://ftp.vim.org/pub/vim/runtime/spell/
и положить в папочку ~/.vim/spell, если хотите использовать этот словарь только
для одного пользователя, либо в общую директорию (обычно /usr/share/vim/vim70/spell).
Для тех же, кто хочет создать свой словарь для начала нужно найти
исходный словарь словарь. Можно использовать два формата словарей, aff и
dic. Разработчики vim предлагают воспользоваться словарями OpenOffice
что я и сделал. Скачать их можно по адресу.
Так как для русского языка уже существует целый набор словарей, я не
стал искать разницу и скачал их все, и все добавил в словарь vim. Как
это сделать я покажу чуть ниже. Итак у нас есть словари и есть исходные
тексты vim 7. Копируем наши словари в директорию vim70/runtime/spell/ru.
Затем накладываете патчик
patch < ru_RU.diff
, а после запускаете из vim
:mkspell ru <путь_к_словарю_1> <путь_к_словарю_2> <и_так_сколько_хотите_словарей>
Таким образом вы генерируете словарь с именем ru. Конечно это не очень
хорошее имя. Лучше если вы выберете нечто типа ru_ваша_кодировка. Будте
внимательны, словарь генерируется для вашей локали. Для каждой локали
словарь надо генерировать заново.
Теперь полученные словари копируете в вышеуказанные директории и
наслаждаетесь жизнью ;)
Все, теперь наш vim умеет проверять правописание. Для большего удобства
я набросал маленькую функцию, которая позволяет быстро переключать язык,
или вообще выключать проверку орфографии. Вот он.
if version >= 700
" По умолчанию проверка орфографии выключена.
setlocal spell spelllang=
setlocal nospell
function ChangeSpellLang()
if &spelllang =~ "en_us"
setlocal spell spelllang=ru
echo "spelllang: ru"
elseif &spelllang =~ "ru"
setlocal spell spelllang=
setlocal nospell
echo "spelllang: off"
else
setlocal spell spelllang=en_us
echo "spelllang: en"
endif
endfunc
" map spell on/off for English/Russian
map:call ChangeSpellLang()
endif
Эту небольшую функцию можно вставить в свой .vimrc и все. По нажатию
F11 будут попеременно включаться Русский, Английски, или вообще
выключаться проверка орфографии. Все неправильно написанные слова будут
подсвечены. Теперь при наведении на это слово курсора и нажатии z=
выпадет менюшка, с возможными правильными вариантами. Как и везде слово
можно добавить к словарю (zG), перейти к следующей (]z), предыдущей ([z)
ошибке, пометить слово как ошибочное - zW. Надеюсь теперь грамотность в
Рунете существенно возрастет ;-)
Успехов в освоении vim :-)
Джерело http://howtoforge.org.ua/?q=node/353
Немає коментарів:
Дописати коментар