The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новинки в vim 7.0. Настройка проверки орфографии. (vi vim spell rus)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: vi, vim, spell, rus,  (найти похожие документы)
From: Antony Pavlenko <anton@pavlenko.net.> Newsgroups: email Date: Mon, 3 Jul 2006 14:31:37 +0000 (UTC) Subject: Новинки в vim 7.0. Настройка проверки орфографии. Новинки в vim 7.0 Настройка проверки орфографии. Совсем недавно вышел новый релиз потрясающего текстового редактора vim. В этой небольшой заметке я бы хотел описать основные новшества этой версии, и остановиться немножко поподробнее на настройке такой очень полезной в хозяйстве вещи, как проверка орфографии. Итак из новинок vim 7.0 можно выделить: Появление вкладок (Tabs). ------------------------- Этот, уже ставший стандартным, способ просмотра и редактирования нескольких документов теперь поддерживается и vim'ом. На самом деле vim уже имеет способ редактирования нескольких файлов, так что не думаю что это новшество будет полезно тем из вас, кто уже пользуются другой реализацией. Однако для людей, которые только знакомятся с vim этот способ может понравиться больше нежели более привычный для vim. Итак, vim -p first.txt second.txt откроет эти два файла во вкладках. :tabnew {file} открыть file в новой вкладке. :tabclose - Закрыть вкладку. CTRL-W gf открыть в новой вкладке файл, имя которого расположено под курсором. gt - перейти на следующую вкладку. Соответственно 3gt перейти на 3 вкладку. gT - перейти на предыдущую. Из остальных новшеств: - Появилось некоторое подобие умного дополнения некоторых языков программирования. Причем их число будет только увеличиваться. Работает очень просто. В режиме вставки набираете первые символы, а потом Ctrl-X,Ctlr-P и выпадет менюшка, с возможными продолжениями. - Изменения в системе "Undo&Redo". Если ранее после отмены некоторого количества действий, делалось новое изменение, то все не сделанные изменения терялись, то теперь вы можете откатиться к любому изменению. То есть строиться не список изменений, по которому вы можете передвигаться вперед-назад, а дерево. Перемещаться по изменениям можно с помощью команд g- и g+ назад и вперед соответственно. Также теперь можно откатиться к примеру на 10 минут назад. :earlier 10m. Ну или прыгнуть в будущее :) :later 4m - Расширена поддержка Unicode с 2 до 6 "комбинированных" символов. - Полноценная поддержка 32ух битных символов. - Изменения в подсветке. Теперь когда вы двигаетесь по тексту и он оказывается в скобках, то эти скобки могут быть подсвечены. :help matchparen расскажет вам об этой возможности более подробно. - Переведены Маны. В том числе и на Русский. Спасибо Василию Рагозину. - Реализован "внутренний" grep. Теперь вы можете использовать :vimgrep, который не вызывает внешних программ. Кроме этих добавлен еще целый ряд новшеств. Полную информацию об изменениях вы можете прочитать в :h version7 ;-) Настройка проверки орфографии. Более подробно мне бы хотелось остановиться на такой очень полезной фиче 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 <F11> <Esc>:call ChangeSpellLang()<CR> endif Эту небольшую функцию можно вставить в свой .vimrc и все. По нажатию F11 будут попеременно включаться Русский, Английски, или вообще выключаться проверка орфографии. Все неправильно написанные слова будут подсвечены. Теперь при наведении на это слово курсора и нажатии z= выпадет менюшка, с возможными правильными вариантами. Как и везде слово можно добавить к словарю (zG), перейти к следующей (]z), предыдущей ([z) ошибке, пометить слово как ошибочное - zW. Надеюсь теперь грамотность в Рунете существенно возрастет ;-) Успехов в освоении vim :-)

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Igor (??), 19:09, 04/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Весьма полезная статья, только насчет накладывания патча как-то непонятно... Что за патч и где его берут?

    Спасибо.

     
     
  • 2.6, pavlenko (ok), 12:23, 05/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    В исходных текстах vim  vim70/runtime/spell/ru, куда вы до этого должны были перейти ;-)
     

  • 1.2, skyogre (?), 19:49, 04/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не соглашусь на счёт малополезности вкладок. Раньше после перехода к другому файлу (:e myfile.cpp) терялась история изменений, вернее при этом vim просто запоминал путь к файлу, но при переходе закрывал его. С появлением таб проблема устранилась. Да и удобнее гораздо видеть перед глазами открытые файлы, а в gVim'е ещё и мышкой можно клацать по табам.
    Не нравится то, что вкладки не изолированы и имеют общий список файлов. Понимаю, вопрос спорный, но лично мне нудобно после :make и enter на ошибку видеть в текущей вкладке файл который уже открыт в другой - путанница наступает.
     
  • 1.3, Portnov (?), 21:00, 04/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    гм. Как ни нескромно это прозвучит, мое вышло раньше:
    http://lug.mgn.ru//?module=articles&c=obzor&b=2&a=6
    :)
     
     
  • 2.5, pavlenko (?), 12:19, 05/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Да, вы правы.
    Я просто не нашел куда посылать спрошающих вот и набросал быстренько. Знал бы не мучался бы ;)
     

  • 1.4, Harliff (?), 11:17, 05/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вот бы русский словарь с английским соеденить...
    Что бы одновременно и русская и английская орфография проверялись.

    Можно это как-нибудь сделать?

     
     
  • 2.7, pavlenko (ok), 12:24, 05/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    По вышеописанному алгоритму?
    Только добавте еще и Английский словарь. Ну и потом расскажыте что получится ;-)
    Но я думаю работать должно
     

  • 1.8, Portnov (?), 12:50, 05/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Про русскую и английскую орфограию одновременно - у меня в статье упомянуто. Коротко говоря:
    :set spell spelllang=en,ru
    т.е. просто через запятую перечислить нужные языки.
     
     
  • 2.9, pavlenko (ok), 13:23, 05/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    thx
    и вправду работает
     
  • 2.19, Renat (??), 12:42, 07/09/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Почему слово которое я добавляю в словарь, добавляется куда то в /tmp/bla-bla, а после
    перезапуска Vim всё что я добавил пропадает?
     

  • 1.10, п.а.Ника (?), 14:22, 05/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    зачем все пишут про vim "потрясающий"?
    редактор в ряду прочих, еще и со сдвинутой крышей.
     
     
  • 2.12, stimpack (?), 09:44, 07/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Говорят, чем меньше знаешь, тем больше самомнение...
    Прости, а какой редактор потрясающий по-Твоему?
     

  • 1.11, freemer (?), 22:32, 06/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хм, странно вот, а вот у меня не работает почему-то не работает создание словаря. Словарь якобы содался, но все слова в нем видны как неправильные. Может кто-нидь выложит рабочий словарь? или пояснит какие файлы конкретно качать и на какие накладывать патчи. А то выкачал оттуда ru_RU.zip, наложил патч, сделал mkspell а не пашет, да и словарик какой-то слишком маленький получается.
     
     
  • 2.13, stimpack (?), 09:51, 07/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    зип распаковать додумался? вплоть до того, чтобы появились файлы *dic и *aff (ну или *spl и *sug)
     

  • 1.14, АКбара (?), 14:26, 07/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не хочет работать z=, zG и т.д.
     
  • 1.15, АКбара (?), 14:28, 07/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    При этом работает переход к следующей или предыдущей ошибке. Словари стандартные vim'овские.
     
  • 1.16, Portnov (?), 21:13, 07/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Правильные словари лежат здесь:
    ftp://ftp.vim.org/pub/vim/runtime/spell/ файлы ru.koi8-r.sug и ru.koi8-r.spl (или другие, соответствующие вашей локали)
    Ничего делать с ними не надо, просто положить в ~/.vim/spell/
     
     
  • 2.17, АКбара (?), 13:59, 08/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Их я и имела в виду.
     

  • 1.18, Автор (?), 11:12, 08/08/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Несколько другие впечатления от 7.0:
    http://www.developers.org.ua/archives/max/2006/08/07/where-vim-is-heading/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру