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