понедельник, 15 июля 2013 г.

Vim - редактор

VIM - Шаг за шагом

Когда-то, когда я в первые увидел Линуксовую консоль на своем десктопе, VIM казался мне монстром, которым вообще невозможно пользоваться. Первый мой вход в редактор закончился перезагрузкой, т.к. я просто не знал как из него выйти. Данная статья опишет возможности (далеко не все) редактора в том порядке, в котором познавал их я.
Итак приступим. Первое что нужно знать, и с чего начинаются все руководства по VIM - это режимы.
Да, да в vim есть несколько режимов работы:
  • Коммандный режим
  • Режим редактирования
  • Визуальный режим
Начнем с самого важного действия: как выйти из редактора.
Для этого нужно перейти в коммандный режим - нажмите клавишу <esc> (пару раз для верности :) ) затем наберите :q и нажмите Enter.
Набираемая вами комманда должна отображаться в самом низу экрана.
Если же вы уже успели сделать изменения в файле редактор не даст вам выйти, сообщив о том, что файл изменен. Чтобы выйти без сохранения нужно добавить в конце комманды восклицательный знак :q!.
Если же вам нужно сохранить изменения наберите :w затем повторите комманду выхода из редактора. Можно сделать это в одно действие: :wq или :x .

Итак, выходить из редактора мы научились. Теперь перезагрузка не потребуется :). Идем дальше. Если вы открыли редактор, то для чего-то…. Конечно - изменить файл. Самое простое действие здесь - при помощи клавиш со стрелками на клавиатуре поместит курсор в то место, где вы собираетесь начать редактирование.
Если же ваша клавиатура не имеет таких клавиш - вам помогут аналоги:
  • j - вниз
  • k - вверх
  • h - влево
  • l - вправо
Как начать редактирование? нажать клавишу <i> - при этом в нижней части экрана появится надпись – INSERT – или – ВСТАВКА --.
Теперь вы можете редактировать содержимое файла. для удаления символа - клавиша <delete> , переход в командный режим <esc>

На этом базовые возможности заканчиваются. С этим знанием уже можно работать - так я и поступал, пока мне не надоело выполнять рутинные операции. Зная, что VIM может больше я начал читать руководства, и следующим, что я усвоил была комманда dd
Находясь в коммандном режиме перейдите на нужную строку и два раза нажмите клавишу <d> - строка исчезнет.
Если нажать D - исчезнеть часть строки от курсора, до ее конца. Чувствуете насколько стало удобней?

Однажды меня достало безумная долбежка клавиши d при удалении сотни строк. Оказалось перед любой коммандой можно ввести числовой модификатор, который укажет сколко раз выполнить комманду.
Итак: 5dd - удалит 5 строк начиная с текущей.

Дальше - больше. Понадобилось копировать и вырезать строки для последующей вставки, оказалось, что ddне удаляет строку, а вырезает ее.
Есть еще комманда yy, которая копирует строку целиком.
Вырезанное или копируемое нужно как-то вставить в место назначения - нет ничего проще p вставит строки, находящиеся в буфере после текущей строки, а P - перед текущей строкой.
В коммандном режиме можно удалять символ под курсором клавишей <delete> или x - тут так же применимы числовые модификаторы.
Для полноценного редактирования не хватает операций отмены изменений и повтора. Они есть: в коммандном режиме u и Ctrl+r - соответственно. И снова не забываем про числовые модификаторы.

В последнее время я начал редактировать в VIM исходные тексты программ. Вот тут появилась необходимость видеть номера строк. :set number - включит отображение номеров, а :set nonumber - выключит.
Но тут у меня появилось несколько бед сразу, во первых, если скопировать что-то из другого редактора и попытаться при помощи средней кнопки вставить в VIM в режиме редактирования - приходится править отступы. От этой беды спасает режим вклейки: :set paste / :set nopaste.
Следующая беда - если во вставленный текст попадают номера строк. Приходится по несколько раз нажимать на каждой строке x или delete оказалось и от этой беды есть панацея - визуальный режим.
Переходим в визуальный режим нажатием Ctrl+v, двигаем курсор по экрану, чем выделяем определенную прямоугольную область, затем нажимаем x, и выделенной области - как не бывало.
Так же может потребоваться групповая вставка - например нужно закомментировать блок кода, вставив в начале каждой строки »«. Снова на помощь приходит визуальный режим: Выделяем область шириной в один символ и нужной высоты, нажимаем клавишу I (заметьте в верхнем регистре) и пишем нужный текст, который отображается только в верхней строке. Далее, чтобы выйти из режима редактирования жмем <esc>**, и …. О чудо!!! Текст появляется в начале каждой строки, что были выделены в визуальном режиме.

Скопипастил отсюда: 

Комментариев нет:

Отправить комментарий