Отсюда 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.