Это не очередная статья «Как же пользоваться Vim», и это не «холивар» на тему что же все-таки лучше. Это попытка объяснить почему я пользуюсь vim и почему у меня есть время подумать о чем-то более важном, чем редактирование текста.
Принято считать, что компьютеры (или ЭВМ) были придуманы для выполнения рутинной работы, подлежащей автоматизации. Они предназначены для того, чтобы у человека появилось больше свободного времени на творческие дела. Однако что же происходит сейчас на самом деле?
Не буду делить людей на два типа :), но все-таки хочется заметить, что есть люди, которые делают работу за компьютером, а есть — за которых компьютер выполняет работу.
Возвращаясь к теме о текстовых редакторах хочется заметить, что средства вычисления, обладающие гораздо большими возможностями, но с повышенным порогом понимания/вхождения пользователей почему-то не пользуются популярностью. Людям гораздо проще постоянно тратить свое время на механические действия без которых невозможно достичь результата, пренебрегая лучшими, но требующими некоторого самообучения продуктами. Поспешишь — людей насмешишь? Конечно, кажется, что экономия времени налицо, если вы собираетесь воспользоваться чем-то простым и доступным один-два раза. Но как быть, если это ваш постоянный инструмент? Неужели не стоит потратить некоторое время для выбора подходящего, с большими возможностями?
Пользуясь компьютером волей не волей начинаешь расслаблять свой мозг, не хочется думать, пусть за тебя думает этот ящик. Не хочется запоминать все комбинации «горячих» клавиш, ведь у меня есть мышка! Однако даже пользователи «обычных» редакторов (да, vim — это необычный редактор) нередко находят мышку тормозящим устройством, замедляющим их работу. Приходится постоянно перемещать руки, затем вновь возвращать их на клавиатуру. Забудем на время работы с текстом о мышке.
Предположим, что вашим основным занятием является редактирование текста. Перемещение курсора — вероятно самое повторяющееся событие. Как правило, большинство будет тратить больше времени на достижение требуемой точки, выполнив простую комбинацию «зажми и держи». Бесполезная трата времени! Перескакивание по словам, предложениям, абзацам, экранам, переход на начало/конец строки, прокрутка экрана по мере передвижения курсора, прыжок на нужный символ звучит вдохновляюще? А само редактирование? Перемещение параграфов, удаление/замена слов/строк, блочное выделение, добавление текста в конец/начало, замена, поиск, выполнение команд, копирование между несколькими буферами обмена и т.д. и т.п. Это лишь необходимые вещи, упрощающие работу и экономящие время.
Для каждого действия в vim есть свои комбинация клавиш, это симулятор сверхсложного самолета. Можно подумать, что невозможно все запомнить, но все и не надо. То, чем вы будете пользоваться и что будет экономить вам время будет доведено до автоматизма. Если вы поймали себя на каком-то повторяющемся действии — стоит оторваться и подумать как можно это автоматизировать. Редактирование превращается в гонку. Задачи, которые раньше вы делали несколько часов и были невозможны в других редакторах, здесь легко осуществимы нажатием нескольких клавиш.
Кроме того, что в vim можно делать экзотические вещи, он имеет все возможности современных редакторов начиная от подсветки кода и заканчивая автоформатированием и проверкой правописания. В vim можно все и даже больше. Стоит только попробовать и не испугаться :)
Сайт vim — http://vim.org (UNIX, Windows, Mac…)
Войти с помощью OpenID
Все теже слова справедливы и для emacs'a.
M-% vi RET emacs RET !
Наверное, лучшим названием было бы «Нормальные редакторы» :)
Да, emacs тоже неплох. Сам перешел на него с Эклипса.