Апр 082013
 

Отсюда http://www.instanceof.ru/linux/vim/step-by-step

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

Когда-то, когда я в первые увидел Линуксовую консоль на своем десктопе, VIM казался мне монстром, которым вообще невозможно пользоваться. Первый мой вход в редактор закончился перезагрузкой, т.к. я просто не знал как из него выйти. Данная статья опишет возможности (далеко не все) редактора в том порядке, в котором познавал их я.

Итак приступим. Первое что нужно знать, и с чего начинаются все руководства по VIM — это режимы.

Да, да в vim есть несколько режимов работы:

  • Коммандный режим
  • Режим редактирования
  • Визуальный режим

Начнем с самого важного действия: как выйти из редактора.

Для этого нужно перейти в коммандный режим — нажмите клавишу <esc> (пару раз для верности 🙂 ) затем наберите :q и нажмите Enter.

Набираемая вами комманда должна отображаться в самом низу экрана.

Если же вы уже успели сделать изменения в файле редактор не даст вам выйти, сообщив о том, что файл изменен. Чтобы выйти без сохранения нужно добавить в конце комманды восклицательный знак :q!.

Если же вам нужно сохранить изменения наберите :w затем повторите комманду выхода из редактора. Можно сделать это в одно действие: :wq или 😡 .


Итак, выходить из редактора мы научились. Теперь перезагрузка не потребуется :). Идем дальше. Если вы открыли редактор, то для чего-то…. Конечно — изменить файл. Самое простое действие здесь — при помощи клавиш со стрелками на клавиатуре поместит курсор в то место, где вы собираетесь начать редактирование.

Если же ваша клавиатура не имеет таких клавиш — вам помогут аналоги:

  • 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>**, и …. О чудо!!! Текст появляется в начале каждой строки, что были выделены в визуальном режиме.

Понравилось? Поделитесь:

:

Sorry, the comment form is closed at this time.