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

LXF83:Vim

Материал из Linuxformat
Перейти к: навигация, поиск

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, то возьмите и скомпилируйте исходные тексты: новые функции слишком хороши, стоит ли полгода ждать, пока их включат в ваш дистрибутив?

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