Журнал LinuxFormat - перейти на главную

LXF83:Vim

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Новая: == Vim 7.0 == ''Самый артистичный из всех редакторов: в нем больше горячих клавиш, чем может упомнить '''Пол Х...)

Версия 20:16, 9 марта 2008

Vim 7.0

Самый артистичный из всех редакторов: в нем больше горячих клавиш, чем может упомнить Пол Хадсон.

          Пусть он еще не научился варить
          кофе, зато все остальное новая
          версия маститого редактора Vim

уже умеет. Многие считают Vim такой же неотъемлемой частью Linux, как и Bash. Стандартная черно-серая схема сохраня- ется со времен его предшественника Vi, и Vim по-прежнему стартует в режиме сов- местимости; поэтому, запустив 7.0, вы вправе усомниться в наличии каких-либо изменений.

   Не сомневайтесь, их предостаточно.

Если вы редактируете в Vim случайный файл конфигурации, то, скорее всего, не заметите никакой разницы. Если же вы продвинутый пользователь Vim, то приго- товьтесь к вкладочному редактированию, автозавершению кода, проверке правописа- ния «на лету», новой системе grep, дереву откатов и встроенному профилированию скриптов для выявления медленных участ- ков кода. И это далеко не все удивительные новшества.

Умные дополнения

Некоторые новые для Vim 7 функции извес- тны уже давно, но здесь они реализованы настолько гладко, что почти не требуют изучения. Взять, к примеру, новую систе- му вкладочного редактирования. Vim всег- да умел (и умеет) редактировать несколь- ко файлов сразу, но это выглядело убого и было сложно в освоении. Теперь при- нят набор вкладок в стиле Opera, которые появляются при одновременном открытии нескольких документов. Каждая вкладка несет название открытого в ней файла, а к названию несохраненных добавляется знак +. Просто, но такого-то мы и ждем от редактора подобного класса.

Задачи нововведений в области авто- завершения кода и проверки правописания кажутся полностью противоположными: того, кому нужно автозавершение, вряд ли заботит проверка правописания, и наобо- рот. Но в этом весь Vim: у него есть что предложить любому пользователю, а своих услуг он не навязывает. Если вы вводите текст через Vim, то проверка правописания весьма тщательна, это не просто сравнение вашего текста со списком слов: например, подсвечиваются неверно введенные слова, предложения, начинающиеся не с заглав- ной буквы, слова, чуждые вашей стране (сравните ‘center’ и ‘centre’), и редкие сло- ва (т.е. те, которые вы, вероятно, ввели случайно). Если слово введено неверно, Vim предложит список слов для замены, составленный из замен, использованных прежде. Чем чаще применялась замена, тем выше она размещается в списке.

Для редактирования

Автозавершение кода, для первой попыт- ки, действует неплохо. Неудобство состоит лишь в активации по клавишам Ctrl+X и Ctrl+О, в противоположность более при- вычным открытым скобкам. Зато выдается список параметров функций, и в нем при- сутствуют пользовательские переменные, что дает Vim фору перед прочими средами разработки, которые нам встречались.

ОК, вкладки, автозавершение и провер- ка правописания – безусловные хиты, но этого нельзя сказать о Vimgrep и о дереве откатов (по крайней мере, пока). Система Vimgrep задумана неплохо, но на прак- тике трудноосуществима. Идея состоит в том, что вам достаточно набрать :Vimgrep некоторый_образец*.все_что_угод- но, а Vim разыщет все файлы с указанным образцом и откроет их для редактирова- ния в своих вкладках. Как будто разум- но. Можно даже приказать Vim открыть лишь первый из найденных файлов, набрав

1Vimgrep. Однако по неизвестным причи-

нам запихнуть найденные файлы в новую вкладочную систему невозможно: файлы- то загружаются, но вам по-прежнему пона- добится клавиатурная черная магия для навигации по ним.

Дерево откатов в теории кажется весь- ма тонким замыслом. Вообразите ситуа- цию: вы набрали большой отрывок текста и кое-что в нем переделали. Поразмыслив, вы решили, что первоначальный вариант был лучше, и нажали Undo (Откат), чтобы отменить изменения. Поработали еще – и вспомнили, что среди тех самых изменений был жутко удачный параграф, но, увы, он был затерт с началом набора текста после отката, и ваш шанс отменить откат нажати- ем Redo (Отмена отката) упущен. Согласен, этот сценарий надуман: ветвление отка- тов отнюдь не самая актуальная задача. Круто, конечно, набрать ‘earlier 20m’ и полу- чить свой документ таким, каким он был 20 минут назад, или прыгать по откатам и отменам до бесконечности, но особого смысла тут не просматривается.

Мы не имеем ничего против всех этих новшеств. Если они вам не нужны, то вы даже не заметите их существования. А если вы продвинутый пользователь Vim, то возьмите и скомпилируйте исходные текс- ты: новые функции слишком хороши, стоит ли полгода ждать, пока их включат в ваш дистрибутив? LXF

Персональные инструменты
купить
подписаться
Яндекс.Метрика