LXF83:Vim
(Новая: == Vim 7.0 == ''Самый артистичный из всех редакторов: в нем больше горячих клавиш, чем может упомнить '''Пол Х...) |
|||
Строка 2: | Строка 2: | ||
''Самый артистичный из всех редакторов: в нем больше горячих клавиш, чем может упомнить '''Пол Хадсон'''.'' | ''Самый артистичный из всех редакторов: в нем больше горячих клавиш, чем может упомнить '''Пол Хадсон'''.'' | ||
− | + | Пусть он еще не научился варить кофе, зато все остальное новая версия маститого редактора Vim уже умеет. Многие считают Vim такой же неотъемлемой частью Linux, как и Bash. Стандартная черно-серая схема сохраняется со времен его предшественника Vi, и Vim по-прежнему стартует в режиме совместимости; поэтому, запустив 7.0, вы вправе усомниться в наличии каких-либо изменений. | |
− | + | ||
− | + | Не сомневайтесь, их предостаточно. Если вы редактируете в Vim случайный файл конфигурации, то, скорее всего, не заметите никакой разницы. Если же вы продвинутый пользователь Vim, то приготовьтесь к вкладочному редактированию, автозавершению кода, проверке правописания «на лету», новой системе grep, дереву откатов и встроенному профилированию скриптов для выявления медленных участков кода. И это далеко не все удивительные новшества. | |
− | уже умеет. Многие считают Vim такой же | + | |
− | неотъемлемой частью Linux, как и Bash. | + | |
− | Стандартная черно-серая схема | + | |
− | + | ||
− | Vim по-прежнему стартует в режиме | + | |
− | + | ||
− | вправе усомниться в наличии каких-либо | + | |
− | изменений. | + | |
− | + | ||
− | Если вы редактируете в Vim случайный | + | |
− | файл конфигурации, то, скорее всего, не | + | |
− | заметите никакой разницы. Если же вы | + | |
− | продвинутый пользователь Vim, то | + | |
− | + | ||
− | автозавершению кода, проверке | + | |
− | + | ||
− | откатов и встроенному профилированию | + | |
− | скриптов для выявления медленных | + | |
− | + | ||
− | новшества. | + | |
=== Умные дополнения === | === Умные дополнения === | ||
− | Некоторые новые для Vim 7 функции | + | Некоторые новые для Vim 7 функции известны уже давно, но здесь они реализованы настолько гладко, что почти не требуют изучения. Взять, к примеру, новую систему вкладочного редактирования. Vim всегда умел (и умеет) редактировать несколько файлов сразу, но это выглядело убого и было сложно в освоении. Теперь принят набор вкладок в стиле Opera, которые появляются при одновременном открытии нескольких документов. Каждая вкладка несет название открытого в ней файла, а к названию несохраненных добавляется знак +. Просто, но такого-то мы и ждем от редактора подобного класса. |
− | + | ||
− | настолько гладко, что почти не требуют | + | |
− | изучения. Взять, к примеру, новую | + | |
− | + | ||
− | + | ||
− | + | ||
− | и было сложно в освоении. Теперь | + | |
− | + | ||
− | появляются при одновременном открытии | + | |
− | нескольких документов. Каждая вкладка | + | |
− | несет название открытого в ней файла, а | + | |
− | к названию несохраненных добавляется | + | |
− | знак +. Просто, но такого-то мы и ждем от | + | |
− | редактора подобного класса. | + | |
− | Задачи нововведений в области | + | Задачи нововведений в области автозавершения кода и проверки правописаниякажутся полностью противоположными: того, кому нужно автозавершение, вряд ли заботит проверка правописания, и наоборот. Но в этом весь Vim: у него есть что предложить любому пользователю, а своих услуг он не навязывает. Если вы вводите текст через Vim, то проверка правописания весьма тщательна, это не просто сравнение вашего текста со списком слов: например, подсвечиваются неверно введенные слова, предложения, начинающиеся не с заглавной буквы, слова, чуждые вашей стране (сравните ‘center’ и ‘centre’), и редкие слова (т.е. те, которые вы, вероятно, ввели случайно). Если слово введено неверно, Vim предложит список слов для замены, составленный из замен, использованных прежде. Чем чаще применялась замена, тем выше она размещается в списке. |
− | + | ||
− | + | ||
− | того, кому нужно автозавершение, вряд ли | + | |
− | заботит проверка правописания, и | + | |
− | + | ||
− | предложить любому пользователю, а своих | + | |
− | услуг он не навязывает. Если вы вводите | + | |
− | текст через Vim, то проверка правописания | + | |
− | весьма тщательна, это не просто сравнение | + | |
− | вашего текста со списком слов: например, | + | |
− | подсвечиваются неверно введенные слова, | + | |
− | предложения, начинающиеся не с | + | |
− | + | ||
− | (сравните ‘center’ и ‘centre’), и редкие | + | |
− | + | ||
− | случайно). Если слово введено неверно, | + | |
− | Vim предложит список слов для замены, | + | |
− | составленный из замен, использованных | + | |
− | прежде. Чем чаще применялась замена, | + | |
− | тем выше она размещается в списке. | + | |
=== Для редактирования === | === Для редактирования === | ||
− | Автозавершение кода, для первой | + | Автозавершение кода, для первой попытки, действует неплохо. Неудобство состоит лишь в активации по клавишам Ctrl+X и Ctrl+О, в противоположность более привычным открытым скобкам. Зато выдается список параметров функций, и в нем присутствуют пользовательские переменные, что дает Vim фору перед прочими средами разработки, которые нам встречались. |
− | + | ||
− | лишь в активации по клавишам Ctrl+X и | + | |
− | Ctrl+О, в противоположность более | + | |
− | + | ||
− | список параметров функций, и в нем | + | |
− | + | ||
− | что дает Vim фору перед прочими средами | + | |
− | разработки, которые нам встречались. | + | |
− | ОК, вкладки, автозавершение и | + | ОК, вкладки, автозавершение и проверка правописания – безусловные хиты, но этого нельзя сказать о Vimgrep и о дереве откатов (по крайней мере, пока). Система Vimgrep задумана неплохо, но на практике трудноосуществима. Идея состоит в том, что вам достаточно набрать :Vimgrep некоторый_образец*.все_что_угод-но, а Vim разыщет все файлы с указанным образцом и откроет их для редактирования в своих вкладках. Как будто разумно. Можно даже приказать Vim открыть лишь первый из найденных файлов, набрав :1Vimgrep. Однако по неизвестным причинам запихнуть найденные файлы в новую вкладочную систему невозможно: файлы-то загружаются, но вам по-прежнему понадобится клавиатурная черная магия для навигации по ним. |
− | + | ||
− | этого нельзя сказать о Vimgrep и о дереве | + | |
− | откатов (по крайней мере, пока). Система | + | |
− | Vimgrep задумана неплохо, но на | + | |
− | + | ||
− | том, что вам достаточно набрать :Vimgrep | + | |
− | некоторый_образец*.все_что_угод- | + | |
− | но, а Vim разыщет все файлы с указанным | + | |
− | образцом и откроет их для | + | |
− | + | ||
− | + | ||
− | лишь первый из найденных файлов, набрав | + | |
− | :1Vimgrep. Однако по неизвестным | + | |
− | + | ||
− | вкладочную систему невозможно: файлы- | + | |
− | то загружаются, но вам по-прежнему | + | |
− | + | ||
− | навигации по ним. | + | |
− | Дерево откатов в теории кажется | + | Дерево откатов в теории кажется весьма тонким замыслом. Вообразите ситуацию: вы набрали большой отрывок текста и кое-что в нем переделали. Поразмыслив, вы решили, что первоначальный вариант был лучше, и нажали Undo (Откат), чтобы отменить изменения. Поработали еще – и вспомнили, что среди тех самых изменений был жутко удачный параграф, но, увы, он был затерт с началом набора текста после отката, и ваш шанс отменить откат нажатием Redo (Отмена отката) упущен. Согласен, этот сценарий надуман: ветвление откатов отнюдь не самая актуальная задача. Круто, конечно, набрать ‘earlier 20m’ и получить свой документ таким, каким он был 20 минут назад, или прыгать по откатам и отменам до бесконечности, но особого смысла тут не просматривается. |
− | + | ||
− | + | ||
− | и кое-что в нем переделали. Поразмыслив, | + | |
− | вы решили, что первоначальный вариант | + | |
− | был лучше, и нажали Undo (Откат), чтобы | + | |
− | отменить изменения. Поработали еще – и | + | |
− | вспомнили, что среди тех самых изменений | + | |
− | был жутко удачный параграф, но, увы, он | + | |
− | был затерт с началом набора текста после | + | |
− | отката, и ваш шанс отменить откат | + | |
− | + | ||
− | этот сценарий надуман: ветвление | + | |
− | + | ||
− | Круто, конечно, набрать ‘earlier 20m’ и | + | |
− | + | ||
− | 20 минут назад, или прыгать по откатам | + | |
− | и отменам до бесконечности, но особого | + | |
− | смысла тут не просматривается. | + | |
− | Мы не имеем ничего против всех этих | + | Мы не имеем ничего против всех этих новшеств. Если они вам не нужны, то вы даже не заметите их существования. А если вы продвинутый пользователь Vim, то возьмите и скомпилируйте исходные тексты: новые функции слишком хороши, стоит ли полгода ждать, пока их включат в ваш дистрибутив? |
− | новшеств. Если они вам не нужны, то вы | + | |
− | даже не заметите их существования. А | + | |
− | если вы продвинутый пользователь Vim, то | + | |
− | возьмите и скомпилируйте исходные | + | |
− | + | ||
− | ли полгода ждать, пока их включат в ваш | + | |
− | дистрибутив? | + |
Версия 20:21, 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, то возьмите и скомпилируйте исходные тексты: новые функции слишком хороши, стоит ли полгода ждать, пока их включат в ваш дистрибутив?