Текстовые редакторыVim

Зарегистрировался сегодня на open-life.org и первым делом начал искать посты по интересным для меня темам. И, надо сказать, я был крайне удивлён отсутствием какой бы то ни было информации о Vim'е. По моему мнению на сайте подобной тематики должен быть отдельный блог «Vim» или, хотя бы, дюжина постов о Vim'е в блоге «Текстовые редакторы», потому как об этом редакторе можно сказать очень и очень много.

Ну, раз эта тема ещё не поднималась, придётся мне её начать. Под катом вы найдёте краткий обзор Vim и несколько ссылок.
Итак, что же это за редактор такой — Vim? У новичка обычно складывается впечатление, что Vim — это такой архаичный редактор, которым пользуются только старые пердуны и фанатики. Но это — именно тот случай, когда первое впечатление не является верным. Vim был создан достаточно давно — в 1991ом году, и по сути он является развитием редактора Vi (а Vi основан на ex, который основан на en, который основан на em, который основан на ed). У этого редактора действительно длинная история и она, похоже, будет гораздо длиннее, покольку Vim и сейчас активно развивается. Несмотря на внушительный возраст, Vim по-прежнему пользуется популярностью (пусть не такой большой как в начале, но весьма значительной). К тому же, ряды поклонников Vim по-прежнему пополняются, примером тому могу служить я сам. Ведь я — не бородатый старик, который по привычке использует старый редактор, а обычный студент, который сознательно выбрал Vim, хотя имел возможность использовать любую современную IDE.

Что же такого особенного в Vim? Vim использует совершенно не типичный для современных редакторов интерфейс — командный. Грубо говоря, вместо лазанья по меню и нажимания сложных хоткеев пользователю предлагается использовать простые команды и их комбинации (сразу оговорюсь, что и меню и любые хоткеи при желании в Vim легко добавляются). Какой от этого прок? Во-первых, это быстрее (при условии что пользователь запомнил необходимые команды). Во-вторых (что гораздо важнее) эти команды можно комбинировать! Рассмотрим пример:
• чтобы переместить курсор на одно слово вправо, можно нажать клавишу w (от слова Word)
• чтобы переместить курсор на три слова вправо, можно нажать 3w (то есть сначала цифру «3», затем клавишу w)
• чтобы удалить слово под курсором, можно нажать dw (Delete Word)
• чтобы удалить три подряд идущих слова, можно нажать 3dw

Вы могли удивиться: Если при нажатии клавиши «w» происходит переход на следующее слово, то как же ввести букву «w»? Для этого надо перейти в режим вставки. Итак, Vim поддерживает несколько режимов, а именно:
• режим команд (normal mode)
• режим вставки (insert mode)
• режим выделения (visual mode)
Чтобы перейти в режим вставки из режима команд, надо нажать «i» (от слова insert). Чтобы перейти в режим выделения — «v». Чтобы вернуться в режим команд надо нажать Esc (либо ctrl-[). По началу это кажется, мягко говоря, необычным. Но, поиспользовав Vim некоторое время, к такому разделению на режимы привыкаешь и начинает казаться необычным отсутствие нескольких режимов у остальных редакторов.

Разумеется, поддержкой простых команд наподобие «w» и «d» возможности Vim не ограничиваются. Многооконный интерфейс, подсветка синтаксиса, автоматическая расстановка отступов, интеграция с компиляторами, сворачивание блоков кода, автодополнение слов — это лишь некоторые из множества поддерживаемых возможностей. Кроме того, с помощью скриптов на встроенном языке программирования и макросов Vim можно легко и быстро расширять. Сегодня в сети можно легко найти расширения для Vim на любой вкус.

Таким образом, Vim — это отличный тестовый редактор для программиста. Пусть не самый простой в изучении, но очень удобный и мощный.

Напоследок несколько ссылок для дальнейшего изучения:
http://www.vim.org — официальный сайт Vim, здесь можно найти много расширений для Vim
http://vimeo.com/user1690209/videos/sort:newest — серия скринкастов о Vim (ведь лучше один раз увидеть, да?)
http://cream.sourceforge.net — попытка сделать Vim более простым и близким к обычным редакторам
http://www.viemu.com/ — плагин, делающий встроенный редактор Visual Studio похожим на Vim
http://jenyay.net/Programming/VimScript1 — цикл статей о программировании скриптов для Vim
http://habrahabr.ru/blogs/vim/ — блог о Vim на хабре
http://iley.ru/notes/vimrc.html — мой файл настроек Vim (многое взято отсюда)
  • +9
  • iley
  • 25 августа 2009, 10:19

Комментарии (11)

А теперь бы все то же самое но по emacs'у :)
Если кто-нибудь сделает подобный обзор по Emacs-у, буду весьма благодарен. Про Emacs почитать будет как минимум интересно. Я сам, к сожалению, Emacs слишком плохо знаю, чтобы про него что-либо писать.
Есть плагин для Emacs, который делает Emacs похожим на Vim.
такое есть и для емакса.
книжка UNIX in a Nutshell (UNIX справочник). интересная вещь))
если Вам интересно, то ISBN — 5911360314
посмотрев на официальный сайт я начал понимать, что оттолкнуть людей от Vim'а может отсутствие скриншотов (:
Что вы хотите особенного увидеть на скриншоте Vim'а? В нём нет меню, нет тулбаров, всё, что видит пользователь во время работы — это набранный текст.
Есть такая вещь: ирония. Одним из признаков передачи иронии на письме может являться смайлик, в нашем случае смайликом была следующая комбинация символов в моём сообщении: «(:»
А мне откуда знать, какой глубинный смысл вы вкладывали в свой смайлик? Многие люди их просто так ставят, где попало. Изъясняйтесь проще. Русским языком. Чтобы не приходилось по смайликам гадать.
вот-вот, я только хотел добавить: в GNU-шном окружении почти каждая программа, большая или маленькая — целая легенда, с кучей разнообразных функций. vi, vim, emacs, не говоря про сам bash и др. шеллы. Даже у tail есть достаточный набор параметров.
Моё объяснение того как удобно пользоваться Vim'ом:
много букоф, но текст подходит для новичка, чтобы научится пользоваться vi по серьёзному.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.