чем крут vi
Apr. 19th, 2012 07:46 pmЗашла тут в http://wizzard0.livejournal.com/239893.html?thread=1726997#t1726997 речь о редакторах. Хочу оттуда вынести мой ответ о том, почему vi - самый лучший редактор кода, с большим отрывом.
Я тут стал думать, и причин нашлось много. Без определеного порядка:
* Удобно двигать блоки влево-вправо (хотя может и IDE до этого нынче доросли).
* Не портит табуляции.
* Метки с быстрым переходом назад на них. Я всегда использую как минимум 3 метки. Очень, очень важная вещь, ее отсутствие меня страшно убивает.
* Поиск-замена с регулярными выражениями. В vim еще лучше, история поисков-замен и прочих команд.
* Поиск-замена в блоках строк.
* Фильтрование блоков строк через внешние программы.
* Быстрый переход к другой стороне скобок по %.
* Быстрое переключение между двумя последними файлами по ^^. Никаких уродских табов, никаких уродских мышей. Очень удобно для копирования многих кусков между двумя файлами.
* (Не часть vi но часть юниксной консоли и Гнома, если его правильно настроить): переключение экранов по ALT-Fn, позволяющее открыть много редакторов с разными файлами и легко переключаться между ними (никаких уродских табов, никаких уродских мышей).
* Командная философия означает, что все редактирование происходит в виде постоянного написания и исполнения микро-макросов, с повтором по точке. Например, d$ удаляет все до конца строки. Поэтому когда надо поудалять всякое странное в концах строк, делаем один раз d$, а потом просто движемся по строкам и нажимаем точку. Или вот если два соседних символа оказались перепутаны, как поменять их местами? В vi нажимаем xp. В IDE нажимаем Shitf-стрелку, ^X, стрелку, ^V. Пока такое пронажимаешь, проще обе буквы удалить и напечатать заново.
Вот этот командная философия - это то, что тяжело прочухать, впервые увидев vi. А когда она прочухана, то оказывается, что она - единственно правильная.
Я тут стал думать, и причин нашлось много. Без определеного порядка:
* Удобно двигать блоки влево-вправо (хотя может и IDE до этого нынче доросли).
* Не портит табуляции.
* Метки с быстрым переходом назад на них. Я всегда использую как минимум 3 метки. Очень, очень важная вещь, ее отсутствие меня страшно убивает.
* Поиск-замена с регулярными выражениями. В vim еще лучше, история поисков-замен и прочих команд.
* Поиск-замена в блоках строк.
* Фильтрование блоков строк через внешние программы.
* Быстрый переход к другой стороне скобок по %.
* Быстрое переключение между двумя последними файлами по ^^. Никаких уродских табов, никаких уродских мышей. Очень удобно для копирования многих кусков между двумя файлами.
* (Не часть vi но часть юниксной консоли и Гнома, если его правильно настроить): переключение экранов по ALT-Fn, позволяющее открыть много редакторов с разными файлами и легко переключаться между ними (никаких уродских табов, никаких уродских мышей).
* Командная философия означает, что все редактирование происходит в виде постоянного написания и исполнения микро-макросов, с повтором по точке. Например, d$ удаляет все до конца строки. Поэтому когда надо поудалять всякое странное в концах строк, делаем один раз d$, а потом просто движемся по строкам и нажимаем точку. Или вот если два соседних символа оказались перепутаны, как поменять их местами? В vi нажимаем xp. В IDE нажимаем Shitf-стрелку, ^X, стрелку, ^V. Пока такое пронажимаешь, проще обе буквы удалить и напечатать заново.
Вот этот командная философия - это то, что тяжело прочухать, впервые увидев vi. А когда она прочухана, то оказывается, что она - единственно правильная.