Vim как пользоваться
Перейти к содержимому

Vim как пользоваться

  • автор:

Основы работы с редактором VIM

VIM — это свободный текстовый редактор, возможности которого во многом превосходят возможности обычного редактора. Однако есть минус — интерфейс редактора не интуитивен, поэтому для работы с ним нужно некоторое время потратить на изучение команд, горячих клавиш и т.п.

VIM имеет три режима работы:

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

Для перехода в командный режим требуется нажатие Esc. Все команды в VIM вводятся с символа двоеточия — «:» (без кавычек). Для перехода в визуальный режим требуется нажатие Ctrl+V.

В данной статье мы рассмотрим основы работы с редактором VIM и перечислим распространённые команды.

Использование редактора VIM

Для того, чтобы отредактировать или просмотреть файл, вводим в командной строке:

kondr ~ $ vim test.txt

Перед нами откроется редактор VIM, как показано на рисунке:

Меняем содержимое файла на произвольное.
После внесения изменений нажимаем «ESC» для выхода в «командный режим», вводим «:» (двоеточие), вводим «wq» (write-quit) — для сохранения изменений и выхода; «q!» — для выхода без сохранения, и нажимаем «Enter«.

Теперь Вы можете работать с файлом, изменять и сохранять изменения. Дальше перечислим другие команды для работы с файлами и текстом.

Работа с файлами

:q — закрыть файл, если не требует сохранения, т.е. в файле не было изменений. В противном случае VIM выдаст сообщение об ошибке, как показано на рисунке:

:q! — закрыть файл без сохранения;
:qa! — закрыть все файлы без сохранения;
:wq — закрыть и сохранить файл;
:wqa — закрыть все файлы с сохранением.

Работа с текстом

Перемещение по тексту

VIM обладает большими возможностями для ускорения работы с текстом и имеет большое количество команд для перемещения по тексту.

Для перемещения можно использовать стрелочки, а также h (Влево), l (Вправо), j (Вниз), k (Вверх).
Другие команды для перемещения по тексту:

|, 0, home — в начало строки;
^ — на первый непустой символ в строке;
$, end — в конец строки;
m — на половину ширины экрана;
g — на нижнюю строку;
e — до конца слова;
— на строку вверх и на первый непустой символ;
+, Enter — на строку вниз и на первый непустой символ;
G — на последнюю строку;
H — на первую строку экрана;
M — на среднюю строку экрана;
L — на последнюю строку экрана;
w — на слово вперед;
b — на слово назад;
( — на предложение назад (до точки);
) — на предложение вперед (до точки);
— на абзац назад (до пустой строки);
> — на абзац вперед (до пустой строки);
:ju — список переходов.

Редактирование текста

VIM также имеет большое количество возможностей для быстрого редактирования.

Del, x — удаление символа под курсором;
X — удаление символа перед курсором;
u, :u — отмена последнего действия;
U — отменить все изменения, повлиявшие на текущую строку;
~ — перевести в верхний или нижний регистр в зависимости от текущего символа под курсором;
C — удалить от курсора и до конца строки с переходом в режим ввода;
D — удалить от текущего символа до конца строки;
dd — вырезать строку, на которой стоит курсор. Перед любой командой можно ввести числовой модификатор, который укажет сколько раз выполнить команду. Например: 3dd — удалит три строки начиная с текущей;
yy — копирует строку. Также можно использовать числовой модификатор;
p — вставить после текущей строки;
P — вставить перед текущей строкой;
— сдвиг влево текущей строки;
>> — сдвиг вправо текущей строки;
J — объединение текущей строки с последующей.

Для программистов

:set number — включить отображение номеров строк;
:set nonumber — отключить отображение номеров строк;
= — расстановка отступов для языка программирования С.

Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел «Помощь и поддержка».

Как освоить Vim?

Осваивать Vim — это, пожалуй, страшно. Или, точнее, очень страшно. Речь идёт об изучении совершенно необычного подхода к редактированию кода, не говоря уже о работе с простым текстом. Многие несправедливо обвиняют тех, кто выбирает Vim, в том, что они впустую тратят время.

Я со всей уверенностью могу заявить о том, что Vim позволил мне повысить эффективность в деле написания программ. Работать стало удобнее (ниже я расскажу об этом более подробно). Я никому не хочу навязывать Vim, но очень рекомендую освоить этот редактор всем, кто занимается программированием, работает в сфере Data Science, в общем — тем, кто так или иначе пишет и редактирует некий код.

Если вам очень хочется узнать о том, стоит ли вам использовать Vim, и о том, кто и для чего им реально пользуется — взгляните на этот материал (кстати, не позвольте его названию, «Не пользуйтесь Vim», ввести себя в заблуждение). Ещё можете посмотреть это видео, которое, кстати, подготовил сам Люк Смит.

А теперь, учитывая всё вышесказанное, предлагаю поговорить о том, что такое, на самом деле, Vim!

Что такое Vim?

Отвечая на этот вопрос, я хочу ещё раз повторить то, что было сказано в самом начале статьи: «Vim — это редактор, реализующий совершенно необычный подход к редактированию кода, не говоря уже о работе с простым текстом».

В Vim имеется несколько «режимов работы», переключение между ними приводит к изменению функционала клавиатурных клавиш (например, клавиша W в режиме вставки, что неудивительно, позволяет ввести букву w, а вот в нормальном режиме она позволяет перемещать курсор вперёд на одно слово). При таком подходе клавиатура используется и для ввода символов, и для перемещения по тексту. Другими словами — при работе в Vim не нужна мышь.

Это очень хорошо в тех случаях, когда нужно постоянно «переключаться» между редактированием и просмотром кода. Обычно программисты именно так и работают. Если вы раньше никогда не пользовались Vim для работы с программным кодом, то вы даже не замечаете того, как много времени тратится на то, чтобы снять руку с клавиатуры и потянуться к мыши (или к трекпаду), затем — на то, чтобы переместить курсор туда, куда нужно, и наконец на то, чтобы вернуть руку на клавиатуру и приступить к вводу текста (в общем — тратится очень много времени).

Конечно, на то, чтобы привыкнуть к Vim, нужно некоторое время. И это — не прямая замена какой-нибудь IDE или редактора вроде VS Code. Но можно сказать, что Vim позволяет тому, кто умеет им пользоваться, значительно ускорить работу с кодом. Кроме того, интересно то, что его более простым аналогом является Vi — стандартный текстовый редактор большинства Unix-подобных систем, работающий в терминале.

Как научиться работать в Vim?

▍1. Используйте vimtutor

Меня не удивляет то, что в каждом руководстве по Vim рекомендуется начинать изучать этот текстовый редактор с vimtutor . Поэтому я, без зазрения совести, поступлю так же. Нет нужды играть ни в какие «Vim-игры» (хотя они и довольно интересны), или прибегать к программам, помогающим запоминать бесчисленные клавиатурные сокращения. Надо просто установить vimtutor и, когда найдётся 10-15 минут свободного времени, прорабатывать этот официальный учебник по Vim. И не пытайтесь сразу же запомнить все клавиатурные сокращения Vim; вы запомните их постепенно, снова и снова проходя уроки vimtutor .

Хочу отметить, что Windows-пользователям я рекомендую использовать WSL (Windows Subsystem for Linux, подсистему Windows для Linux) и для прохождения vimtutor , и, в целом, для работы с Vim. Лично я в Windows с Vim не работал, поэтому не могу обещать того, что при работе с ним в этой ОС всё будет точно так же, как в Linux.

▍2. Постоянно пользуйтесь Vim

Практика — это путь к совершенству. Это — главный принцип, которого стоит придерживаться при изучении чего-то нового. Изучение Vim — не исключение. Поэтому, пока вы изучаете Vim с помощью vimtutor , пользуйтесь этим редактором для решения реальных задач.

Используйте Vim как можно чаще. Нужно просмотреть текстовый файл? Запустите Vim. Хотите что-то по-быстрому изменить в Python-скрипте? Примените Vim. Делаете какие-то заметки? Делайте их с помощью Vim. В общем, полагаю, вы меня поняли. И каждый раз, когда работаете в Vim, всегда задавайтесь вопросом о том, какова наиболее эффективная последовательность нажатий на клавиши (то есть — наиболее короткая последовательность), позволяющая решить текущую задачу.

И попутно постарайтесь сократить использование мыши.

▍3. Интегрируйте с Vim всё что сможете

Используйте клавиатурные привязки Vim везде, где это возможно. Начните делать всё, что сможете, «в стиле Vim». Например, если вы пользуетесь браузером, основанным на Chromium (Chrome, Brave, Edge), или браузером Firefox, подумайте об установке расширения Vimium, которое позволяет пользоваться в браузере клавиатурными сокращениями Vim, отвечающими за перемещение по документу (H, J, K, L и так далее).

Если вы пользуетесь для работы с кодом некоей IDE — найдите плагин или расширение для добавления Vim-привязок в соответствующую среду. Например, пользователи PyCharm (или любой IDE от JetBrains) могут воспользоваться ideavim. А пользователи VS Code (в 2021 году этот инструмент уже ближе к IDE, чем к обычным текстовым редакторам) могут прибегнуть к расширению VSCodeVim.

В Jupyterlab можно включить привязки Vim для встроенного текстового редактора путём установки jupyterlab-vim, что позволит полностью эмулировать Vim в ячейках блокнотов.

Постарайтесь органично интегрировать Vim в свою рабочую среду и несколько недель поработайте по-новому. Я могу говорить о том, что после нескольких VSCode-сессий в стиле Vim мне стало гораздо удобнее пользоваться этим редактором. А ещё — я очень рад избавлению от мыши!

▍4. Перенастройте клавишу Caps Lock (но это необязательно)

Самая бесполезная клавиша, расположенная в самом лучшем месте клавиатуры. Именно так можно охарактеризовать клавишу Caps Lock. Поэтому советую превратить Caps Lock в Escape. Если вы интересуетесь Vim, то уже должны знать о том, что клавиша Escape используется в Vim для переключения режимов. Я очень советую тем, кто стремится к максимальной эффективности, воспользоваться вышеописанной модификацией.

Пользователи Windows и WSL могут использовать uncap — программу, которая превращает клавишу Caps Lock в Escape.

Пользователям macOS в плане переназначения клавиш повезло — они могут решить эту задачу, прибегнув к системным настройкам.

Если вы работаете в Linux — настроить всё как надо вам помогут StackOverflow и Google. Лично я (заслуженный пользователь Arch Linux) использую утилиту setxkbmap , с помощью которой делаю из Caps Lock ещё одну клавишу Escape. А потом включаю автозапуск утилиты при запуске системы:

setxkbmap -option caps:escape 

▍5. Глубже изучите Vim

После того, как вы привыкнете к Vim и немного его освоите, придёт время для более глубокого освоения этого редактора ради дальнейшего повышения эффективности своего труда. Ниже я, основываясь на собственном опыте, привожу список самых полезных (и, пожалуй, уникальных для Vim) команд, применимых в нормальном режиме работы:

  • ZZ — сохранить документ и выйти из Vim. Красивая команда.
  • zz, zt, zb — прокрутка текста, перемещающая строку с курсором, соответственно, в центральную, в верхнюю или в нижнюю часть области просмотра.
  • Ctrl+u, Ctrl+d — прокрутка области просмотра вверх или вниз на полстраницы.
  • ciw — (Change Inside Word) удаление текущего слова и автоматический переход в режим вставки.
  • C — удалить текст от позиции курсора до конца строки и перейти в режим вставки.
  • dt — (Delete To ) удалить текст от позиции курсора до следующего вхождения указанного символа.
  • ~ — (тильда, на стандартной клавиатуре вводится клавишей, находящейся под Escape) переключение регистра (верхний/нижний) текущего или выделенного символа.
  • . — (точка) повтор последней команды Vim.
  • ggvG= — (перейти в начало файла, войти в визуальный режим, выделить весь текст до конца, выровнять выделенные строки) автоматическое выравнивание текста во всём файле.

Если вас интересуют другие команды Vim — посмотрите это замечательное и довольно длительное видео, демонстрирующее прохождение уроков vimtutor , которое записал Вим Дизель (шучу — это всё тот же Люк). Тут собрано множество полезнейших советов по Vim.

Итоги

Вероятно, сейчас вы уже достаточно хорошо освоили Vim и значительно повысили свою скорость работы с кодом. И вы наконец сможете похвастаться перед пользователями Reddit или перед коллегами своими отточенными навыками редактирования текстов, когда в ходе работы вам не приходится убирать руки с основной части клавиатуры. Когда вы достигнете подобного уровня, вы можете развиваться в сфере Vim и дальше. Например — в следующих направлениях:

  • Можно установить Neovim и поэкспериментировать с ним (это — отрефакторенный форк Vim, рассчитанный на высокий уровень расширяемости и на поддержку графического интерфейса).
  • Можно перенести функционал Vim в терминал или интерпретатор командной строки, воспользовавшись vim-airline.

Vim-airline, тема violet ( источник )

  • Можно попробовать некоторые из популярных Vim-плагинов.

Текстовый редактор VIM — краткое руководство

url image

VIM (сокр. от Vi Improved, произносится «Вим») — текстовый редактор, созданный на основе более старого Vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации. На выделенных серверах установлен VIM, также создан alias, который при вызове команды VI вызывает VIM. Если на сервере нет текстового редактора vim — его можно установить. Debian/Ubuntu:

# apt install vim

CentOS/AlmaLinux:

# yum install vim
  • 1. Режимы работы
  • 2. Основные команды перемещения по тексту
  • 3. Работа с буфером
  • 4. Замена текста
  • 5. Как выйти из редактора VIM

Режимы работы

Существует три основных режима работы: режим команд, режим редактирования и режим последней строки.

Выход из режима редактирования осуществляется клавишей Escape (далее обозначена как esc), переход в режим редактирования клавишами i или insert.

Находясь в режиме команд, можно выполнять сложные операции редактирования текста с помощью клавиши : (двоеточие). При нажатии этой клавиши курсор устанавливается в последнюю строку экрана, поэтому данный режим называется режимом последней строки. Он считается особым типом режима команд.

Для того, чтобы открыть какой-то файл или создать новый, надо выполнить команду:

# vim путь_к_файлу/имя_файла

Например, чтобы отредактировать конфигурационный файл NGINX с помощью VIM, напишем:

# vim /etc/nginx/nginx.conf

Конечно, если вы только начинаете изучать VIM и плохо разбираетесь в работе сервисов Linux, лучше не трогать конфигурационные и системные файлы, чтобы что-нибудь не поломать. Для тренировки можно взять какой-нибудь большой текст и скопировать его в тестовый файл.

При запуске VIM по умолчанию открывается режим команд (или командный режим).

Чтобы перейти в режим редактирования, необходимо нажать клавишу i (или insert) и внести нужные изменения.

Если вместо i нажать a, текст будет вставляться за символом, на котором стоит курсор (обычно при редактировании файлов используется этот метод, но тут кому как удобнее), если нажать o — будет вставлена новая строка.

Стирать текст можно как в режиме редактирования (как в любом классическом редакторе), так и в режиме команд (клавиша esc, затем клавиша x — она работает как клавиша del, то есть стирает вперед, если нажать shift+x, то будет стирать назад по аналогии с backspace).

Чтобы перейти в режим последней строки, следует выйти в режим команд (клавиша esc), затем нажать на двоеточие (:). Далее можно либо ввести команду (рассмотрим команды далее), либо выйти обратно в режим команд (клавиша esc).

Команды в VIM можно вводить в режиме последней строки (через двоеточие) и в режиме команд (с помощью клавиши SHIFT). Отметим, что VIM воспринимает команды только в английской раскладке, поэтому перед работой не забудьте ее проверить

Основные команды перемещения по тексту

1. Перейти к строке с номером:

(esc) :номер или (esc),номер,shift+g

2. Поиск по тексту:

(esc) /слово_которое_ищем

Например, ищем слово «timeout». Переходим в режим команд (esc), вводим / (слэш) и timeout. Курсор перейдет на первое слово timeout в файле. Чтобы перейти к следующему слову timeout в тексте, нажимаем n, чтобы перейти к предыдущему — нажимаем N. Как только находим нужное нам слово в тексте — выходим из поиска клавишей esc.

3. Переместить курсор на начало следующего слова:

(esc) w (можно, например, перейти на 3 слова, нажав 3w)

4. Переместить курсор на конец следующего слова:

(esc) e

5. Переместить курсор на начало предыдущего слова:

(esc) b

6. Переместить курсор на конец предыдущего слова:

(esc) ge

7. Переместить курсор на следующий абзац:

(esc) >

8. Переместить курсор в начало строки:

(esc) 0 (ноль)

9. Переместить курсор в конец строки:

(esc) $

10. Переместить курсор на 10 строк вниз:

(esc) 10j

11. Переместить курсор на 5 символов вправо:

(esc) 5l

12. Переместить курсор в конец документа:

(esc) G или shift+g

13. Переместить слово в начало документа:

(esc) gg

14. Переместить курсор в предыдущее место:

(esc) ctrl+o

Команд для перемещения по тексту в VIM намного больше, здесь мы рассмотрели только основные, которые помогут вам освоится в VIM.

Работа с буфером

В режиме команд в VIM можно работать со строками, не используя ctrl+c, ctrl+x и ctrl+v. В Linux вместо них можно использовать сочетания клавиш ctrl+insert (копировать) и shift+insert (вставить), но мы рассмотрим примеры работы с буфером в VIM.

(esc) dd — удаляет строку в буфер (аналог ctrl+x).
(esc) 10dd — удаляет 10 строк в буфер.
(esc) yy — скопирует строку в буфер (аналог ctrl+c).
(esc) 10yy — скопирует 10 строк в буфер.
(esc) p — вставит содержимое буфера под курсором.
(esc) P — вставит содержимое буфера над курсором (аналог ctrl+v).

Замена текста

Один из мощных инструментов VIM — замена слова в тексте на другое. В Linux есть инструменты для этого, однако с помощью VIM можно, например, заменить все слова в строке.

(esc):s/что_меняем/на_что_меняем/ — в данном случае меняем первое слово «что_меняем» в строке на «на_что_меняем».

(esc):s/что_меняем/на_что_меняем/g

где g обозначает замену до конца строки, в таком случае меняются все слова «что_меняем» в строке.

Если надо менять информацию по всему файлу, то тогда пишем символ % в начале команды:

(esc):%s/что_меняем/на_что_меняем/g

В VIM есть очень удобный функционал комментирования строк.

  • Комментировать блок текста от курсора до строки номер 10

. 10s/^/#/

  • Комментировать блок текста от курсора до конца

Как выйти из редактора VIM

Среди пользователей Linux много шуток о том, что можно зайти в VIM и не выйти. Однако выход всё же есть. Мы расскажем, как можно это сделать.

  • Стандартный выход осуществляется последовательностью нажатий (esc):q

Данная команда обычно используется в случаях, когда вы просто открыли VIM, чтобы что-то посмотреть, ничего не меняя. Если файл редактировался, то VIM не даст вам выйти, и вы увидите ошибку: E37: No write since last change (add ! to override). Если вы не хотите сохранять изменения, используйте следующую команду.

Добавив в конце восклицательный знак, мы как-будто твердо указываем VIM-у, что делать, игнорируя ошибки. Полезно, когда вы открыли файл, что-то в нем изменили или случайно что-то удалили и хотите выйти, не сохраняя изменения.

Добавив w, мы говорим VIM-у, что файл нужно сохранить с изменениями. Для начала рекомендуем научиться использовать режим последней строки, т.е. команды q! или wq. Со временем для ускорения работы можно начать использовать shift+zq и shift+zz.

  • Выход с принудительным сохранением (например, если файл read-only):

(esc):wq!

Основные команды текстового редактора VI / VIM

Текстовый редактор vim, созданный на основе более старого vi. Один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, возможными благодаря расширениям и надстройкам. По умолчанию входит в состав любого дистрибутива Linux.

Открываем файл с помощью vi / vim:

vim test.txt vi test.txt

Основные режимы работы.

«Обычный режим» — перемещение по файлу, стирание текста и другие редактирующие функции. Это — основной режим, только из него можно сразу перейти в другие режимы. Для возврата в основной режим из любого другого режима:

, иногда 2 раза;

«Режим ввода» — ввод текста. Как только завершается ввод текста, принято сразу возвращаться в обычный режим. Заметьте, что стирание и ввод текста происходит в двух разных режимах. Переход в него из обычного режима:

«Командный режим» — Команды (операции с файлом, поиск и замена, настройка редактора…). Переход в него из обычного режима:

«Режим поиска» — ввод поискового запроса. Переход в него из обычного режима

/ , поиск от курсора до конца документа ? , поиск от курсора до начала документа

«Визуальный режим» — режим выделения текста:

"v" и влево или вправо стрелками; Shift+v вся строка целиком; Ctrl+v прямоугольник, часть текста.

Перемещение по файлу

После загрузки Vim, на экране вы увидите часть загруженного вами текстового файла. Загрузившись, Vim находится в «командном режиме» — один из основных режимов. Это значит, что если вы нажмете клавишу (строчная L), вместо появления «l» на месте курсора вы увидите, что курсор сдвинулся на один символ вправо. В командном режиме знаки, набираемые на клавиатуре, используются как команды для Vim, а не как помещаемые в текст символы. Команды перемещения — один из наиболее важных типов команд. Вот некоторые из них:

Для перемещения курсора нажмите клавиши h,j,k,l так, как показано ниже: ^ k Советы: Клавиша h находится слева и перемещает влево. < h l >Клавиша l находится справа и перемещает вправо. j Клавиша j похожа на стрелку "вниз". v - на страницу (экран) вниз; - на страницу (экран) верх; - на пол страницы (экрана) вниз; - на пол страницы (экрана) верх; - на строку вниз, без изменения положения курсора; - на строку верх, без изменения положения курсора; 0 («ноль») - в начало текущей строки; ^ - в начало текущей строки (к первому непробельному символу); $ - в конец текущей строки; w - на слово вправо; b - на слово влево; W - до пробела вправо; B - до пробела влево; > - абзац вниз; < - абзац вверх; gg - перейти в начало файла; G - перейти в конец файла; G - перейти на конкретную строку ; / - перейти к ; ? - то же самое, но искать назад; n - повторить поиск; N - повторить поиск назад; [[ - в начало функции; '' - к месту выполнения команды [[

Ввод текста

Следующие команды переводят редактор в режим ввода:

i — перейти в режим ввода с текущей позиции a — перейти в режим ввода после курсора I — переместиться в начало строки и перейти в режим ввода А — переместиться в конец строки и перейти в режим ввода o — перейти в режим ввода с новой строки под курсором O — перейти в режим ввода с новой строки над курсором s - заменяет указанное количество символов (удаляет указанное число символов и переходит в режим ввода). В отличии от команды с которая может удалить кусок текста размером не меньше слова (cw), командой s можно удалить любое число символов. Например 4s удалит четыре символа начиная с того который находится под курсором. Эта команда применяется для замены одного или нескольких символов другими символами. S - удаляет всю текущую строку и переходит в режим ввода. Число перед командой показывает сколько нужно удалить строк начиная с текущей. Например 4S удалит четыре строки включая текущую. R — перейти в режим ввода с заменой текста (аналог insert). Символы под курсором заменяются на вводимые. Команда применяется когда неизвестно сколько придётся изменить символов на другие (иначе можно было бы использовать команду s с указанием числа заменяемых символов, например, 7s). При удалении вводимых символов возвращаются те которые были до ввода команды. Такой режим сохраняется до конца строки. При вводе новой строки (по нажатию Enter), происходит не переход на другую строку с тем же режимом замены текста, а создание новой строки. r — заменить один символ. Заменяет символ находящийся под курсором на символ который следует за командой. При этом не происходит выхода из командного режима (не надо нажимать ESC после изменения текста). Например, команда ry - символ под курсором меняется на "y". Числовой показатель указывает сколько символов необходимо заменить на данный. Например, 3ry вставляет три символа "y".

Удаление и вставка

Ниже перечислены основные комманды удаления и вставки текста:

x — удалить символ под курсором (x удаляет указанное число символов начиная с того который находится под курсором); X — удалить символ влево (удалить символ перед курсором); d — используется совместно с командами перемещения. Удаляет символы с текущего положения курсора до положения после ввода команды перемещения. Пример: dw - удаляет символы с текущего до конца слова. включая пробел после слова, чтобы удалить символы до конца слова, но оставить пробел используется команда de, dE - удаляет символы с текущего до конца слова, включая символы пунктуации, но оставляет пробел после слова, diw - удаляет слово под курсором, dd — удалить текущую строку (вырезать); dd или dd — стирание числа строк начиная с текущей; db - удаляет символы с текущего до начала слова (удаление в обратном направлении); d0 - удаление символов с начала строки до текущего положения курсора; d$ или D - удаление символов с текущего положения курсора до конца строки; с — команда аналогичная d, но после удаление переходит в режим ввода; сс - команда удаляет текущую строку и переходит в режим ввода; C - удаляет текст с текущего положения курсора до конца строки, аналогична команде с$ (где $ - символ конца строки); yy (также Y) — копирование текущей строки в буфер; yy — копирование числа строк начиная с текущей в буфер; p — вставка содержимого буфера под курсором. Поскольку в vim девять ячеек буфера удаления. Можно вставить не только последнее удаление, но и удаления сделанные ранее. Например "4p" вставит под курсор содержимое четвертого удаления начиная с последнего. Также чтобы поменять местами два символа можно использовать комбинацию команд "удалить" -x (удаление в буфер) и "вставить" - p (вставить из буфера). Таким образом, поставив курсор на первую букву из двух которые необходимо поменять местами и нажав комбинацию клавиш xp мы совершим необходимые действия; P — вставка содержимого буфера перед курсором; J — слияние текущей строки со следующей. Числовой аргумент перед командой показывает сколько следующих линий необходимо объединить с текущей. Например 2J объединить две следующие строки с текущей, на которой расположен курсор.

Отмена изменений

u — отмена последней команды; U — отмена всех последних изменений в строке, если строка удалена, то применить эту команду к данной строке будет невозможно.

Поиск

Перейти на строку:

/фраза - поиск фразы во всем документе. n - следующее найденное (вниз) N - предыдущее (вверх).

Выход

Есть еще пара команд, которые вам необходимо знать:

:q! - выйти без сохранения; :wq - записать файл и выйти; ZZ - записать файл и выйти (Если файл не изменяли, то записываться он не будет) 

В этой статье описаны основные возможности, необходимые для работы. Практически во все дистрибутивы Linux входит учебник по работе с редактором, - просто введите в командной строке команду vimtutor.

Справка

Для вызова справки (помощи) о редакторе введите в терминале команду:

man vim

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *