ДРУГОЕ / LINUX
Vim: от движения до сохранения
Если не указано иное, команды выполняются в Normal. Нажмите Esc; команды с двоеточием завершайте Enter.
Режимы и выход
EscВернуться в Normal перед выполнением команд из этой шпаргалки.i / a / oВвод перед курсором / после / на новой строке ниже.v / V / Ctrl+VВыделение символами / строками / блоком. Терминал может перехватить Ctrl+V.:w ↵Сохранить файл.:q ↵ / :wq ↵Закрыть окно / сохранить и закрыть.:q! ↵Закрыть окно, отбросив несохранённые изменения.:help ↵ / vimtutorСправка в Vim / учебник из оболочки.
Навигация
h j k lВлево, вниз, вверх, вправо.w / b / eНачало следующего слова / назад по словам / конец слова.0 / ^ / $Начало строки / первый непробельный символ / конец строки.gg / G / 42GНачало файла / конец / строка 42.Ctrl+D / Ctrl+UПолстраницы вниз / вверх.%Перейти к парной скобке.fX / ; / ,Найти символ X в строке / повторить / повторить в обратную сторону.
Правки и буферы
x / dd / dwУдалить символ / строку / слово вперёд.yy / p / PСкопировать строку / вставить после / перед курсором.ciwЗаменить слово под курсором и перейти в режим ввода.u / Ctrl+RОтменить / повторить изменение.. / 3dwПовторить последнюю правку / удалить три слова."+y / "+pСистемный буфер: только если сборка Vim и окружение поддерживают clipboard. Обычный y использует регистр Vim.
Поиск, замена и окна
/текст ↵ / ?текст ↵Поиск вперёд / назад (шаблон регулярного выражения).n / NПовторить поиск в том же / противоположном направлении.:noh ↵Убрать подсветку результатов.:%s/old/new/gc ↵Замена по всему файлу с подтверждением каждого совпадения; old — регулярное выражение.:set number ↵Показать номера строк.:split / :vsplitРазделить окно горизонтально / вертикально; завершить Enter.Ctrl+W, затем h/j/k/lПерейти в соседнее окно.:bn / :bpСледующий / предыдущий буфер; завершить Enter.