Это старая версия документа!
# Vim: необходимый минимум знаний
## Режим вставки
Первая вещь, на которую вы должны обратить внимание — это то, что Vim может работать в различных режимах: - командном режиме, - режиме вставки и - режиме «последней строки» (известном ещё как «ex mode»).
Непосредственно после запуска, Vim находится в командном режиме. В этом режиме весь ввод с клавиатуры будет воспринят как команды редактору, а не редактирование текста.
Чтобы переключиться в режим вставки, нажмите 'i', после чего вы получите возможность редактировать текст. При помощи нажатия на Esc вы можете затем вернуться в командный режим, а введя ':' в командном режиме, вы попадаете в ex-mode.
## Командный режим
Команды, которые могут использоваться в командном режиме, можно перечислять очень долго. Но пока что мы ограничимся лишь самым необходимым. Давайте начнём с перемещения по тексту:
- 'h' — перемещение на один символ влево; - 'l' — перемещение на один символ вправо; - 'j' — перемещение на один символ вниз; - 'k' — перемещение на один символ вверх;
Можно смещать курсор не на один символ, а на слово целиком:
- 'w' перемещает на слово вперёд, - 'b' — на слово назад.
Словом в Vim считается любая последовательность алфавитно-цифровых символов. Например, «word» — это слово, а «one-year» — это уже два слова, поскольку они разделены дефисом.
## Удаление
выполняется при помощи команд 'd' или 'x'.
- Если вам нужно удалить один символ, поставьте курсор над этим символом и нажмите 'x'. - Для удаления слова под курсором используйте 'dw', а для удаления предыдущего слова — 'db'.
- Если требуется удалить целую строку, используйте команду 'dd'. - При помощи команды 'd$' можно удалить часть строки от позиции курсора до конца строки, - а командой 'd^' (или 'd0') — от текущей позиции курсора до начала строки.
## Копирование и вставка
Копирование и вставку текста в Vim можно выполнять невероятно быстро. Чтобы переключиться в режим выделения текста, используйте команду 'v', 'V' или 'Ctrl+v'. После переключения в режим выделения вы можете выделять текст, перемещая курсор клавишами h, l, j, k или же клавишами со стрелками.
- В режиме 'v' — будет происходить *«обычное» выделение*, - в режиме 'V' — *выделение целых строк*, - а в режиме 'Ctrl+v' — *блочное выделение*, с его помощью можно выделять вертикальные блоки.
После того, как вы выделите нужный текст, используйте команду 'y' для того, чтобы скопировать выделенный фрагмент в буфер.
Далее, при помощи команды 'p' или 'P' можно вставить скопированный текст из буфера. 'p' вставит текст после курсора, а 'P' — перед ним.
## Поиск и замена
Чтобы переключиться в режим поиска используйте команду '/' — для поиска в прямом направлении, или команду '?' — в обратном; затем введите шаблон поиска.
Поиск и замена в тексте выполняется при помощи команды ':s' с заданной областью поиска и замены. Например, чтобы найти «old» и заменить на «new», используйте следующую команду:
``` :%s/old/new/ ```
Символ процента перед 's' означает глобальную область поиска. Вместо глобальной области вы можете определить диапазон строк, например: ``` :1,15s/old/new/ ```
Имейте ввиду, что указанные выше команды заменяют только первое найденное вхождение.
Часто бывает нужно найти и заменить все найденные вхождения в тексте. Для этого можно воспользоваться «глобальной» заменой, добавив к команде букву 'g': ``` :%s/old/new/g ``` Приведённая выше команда заменит все найденные «old» на «new».
Дополнительно вы можете заставить Vim запрашивать у вас подтверждение перед выполнением замены: ``` :%s/old/new/gc ```
## Откат действий
Что делать, если вы внесли изменения, которые не нужно было вносить? Воспользуйтесь командой =='u'==, которая отменит последнее изменение, сделанное вами.
Если же после отката на действие назад вы снова передумали и решили «отменить отмену», вам поможет команда =='Ctrl+r'==, которая делает откат в обратную сторону.
Имейте ввиду, что если ваш Vim работает в режиме совместимости с Vi, то вы не можете откатиться более, чем на один шаг назад. В своём же «родном» режиме Vim «помнит» и позволяет откатываться на большое количество шагов.
## Сохранение и выход
Один из вопросов, который возникает у новичков, первый раз работающих с Vim, звучит примерно: «как мне выйти из него?». Действительно, глядя на экран с редактором, догадаться как именно это делается, невозможно. Это нужно просто знать.
Если вы хотите сохранить внесённые в файл изменения, используйте команду ==':w'==, а чтобы сохранить изменения и покинуть редактор — команду ==':wq'==.
Не хотите сохранять внесённые исправления? Бывает и такое. При помощи команды ==':q!'== можно выйти из Vim, при этом не сохраняя текущий файл.
Также, если нужно, вы можете сохранить редактируемый текст в другой файл при помощи команды ==':w имя_файла'==.
#vim
