Linux vim горячие клавиши

Шпаргалка по Vim

Совет: Добавьте число перед командой перемещения курсора для того, чтобы повторить её. Например, 4j перемещает курсор на 4 строки вниз.

Режим вставки — вставка/добавление текста

  • i — вставка перед курсором
  • I — вставка в начало строки
  • a — вставка (добавление) после курсора
  • A — вставка (добавление) в конец строки
  • o — добавление новой строки под текущей
  • O — добавление новой строки над текущей
  • ea — вставка (добавление) после конца слова
  • Esc — выход из режима вставки

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

  • r — заменить один символ
  • J — присоединить нижнюю строку к текущей
  • cc — заменить всю строку
  • cw — заменить всё текущее слово
  • c$ — заменить до конца строки
  • s — удалить символ и заменить текст
  • S — удалить строку и заменить текст (то же что cc)
  • xp — переставить две буквы (удалить и вставить)
  • u — отменить
  • Ctrl + r — применить последнее отменённое изменение
  • . — повторить последнюю команду

Выделение текста (визуальный режим)

  • v — включить режим выделения текста, выделить строки, затем выполнить команду (например, y-копирование)
  • V — включить построчный режим выделения
  • o — переместиться на другой конец выделенной области
  • Ctrl + v — включить режим выделения блоков
  • O — переместить на другой угол блока
  • aw — выделить слово
  • ab — блок в ()
  • aB — блок в <>
  • ib — внутренний блок в ()
  • iB — внутренний блок в <>
  • Esc — выйти из режима выделения текста

Визуальные команды

Регистры

  • :reg — показать содержимое регистров
  • «xy — поместить содержимое в регистр x
  • «xp — вставить содержимое регистра x

Совет: Содержимое регистров сохраняется в ~/.viminfo, и будет восстановлено при следующем запуске vim.

Метки

  • :marks — список меток
  • ma — установить метку A на текущей позиции
  • `a — переместиться к метке A
  • y`a — скопировать до метки A

Макросы

  • qa — записать макрос A
  • q — остановить запись макроса
  • @a — run macro a
  • @@ — выполнить последний макрос
Читайте также:  Xfce kali linux настройка

Вырезать и вставить

  • yy — скопировать строку
  • 2yy — скопировать 2 строки
  • yw — скопировать слово
  • y$ — скопировать до конца строки
  • p — вставить буфер обмена после курсора
  • P — вставить буфер обмена перед курсором
  • dd — удалить (вырезать) строку
  • 2dd — удалить (вырезать) 2 строки
  • dw — удалить (вырезать) слово
  • D — удалить (вырезать) до конца строки
  • d$ — удалить (вырезать) до конца строки
  • x — удалить (вырезать) символ

Выход и сохранение

  • :w — сохранить файл, но не выходить
  • :w !sudo tee % — сохранить файл с sudo
  • :wq либо 😡 либо ZZ — сохранить файл и выйти
  • :q — выйти (терпит неудачу в случае несохраненных изменений)
  • :q! либо ZQ — выйти и потерять несохраненные изменения

Поиск и замена

  • /pattern — поиск шаблона
  • ?pattern — обратный поиск шаблона
  • \vpattern — ‘very magic’ режим: все не алфавитно-цифровые символы интерпретируются как специальные (экранирование не требуется)
  • n — повторить поиск в том же направлении
  • N — повторить поиск в обратном направлении
  • :%s/old/new/g — заменить все вхождения шаблона в файл на указанное значение
  • :%s/old/new/gc — заменить все вхождения шаблона в файл на указанное значение с подтверждением
  • :noh — отключить подсвечивание результатов поиска

Поиск в нескольких файлах

  • :cn — переместиться к следующему совпадению
  • :cp — переместиться к предыдущему совпадению
  • :copen — открыть окно со списком результатов

Сворачивание

  • zf#j — создает свертку от текущей позиции до # строк вниз
  • zf/подстрока — создает свертку от текущей позиции и до первой найденной подстроки
  • v/V и zf — выделение блока и создание свертки

После закрытия Vim все свертки забываются, для сохранения сверток в открытом файле используется команда :mkview , для загрузки — :loadview (подробнее).

Работа с несколькими файлами

  • :e file — редактировать файл в новом буфере
  • :bnext либо :bn — перейти к следующему буферу
  • :bprev либо :bp — перейти к предыдущему буферу
  • :bd — удалить буфер (закрыть файл)
  • :ls — список всех открытых буферов
  • :sp file — открыть файл в новом буфере и разделить окно
  • :vsp file — открыть файл в новом буфере и вертикально разделить окно
  • Ctrl + ws — разделить окно
  • Ctrl + ww — переключение окон
  • Ctrl + wq — закрыть окно
  • Ctrl + wv — разделить окно вертикально
  • Ctrl + wh — переместить курсор в левое окно (вертикально разделение)
  • Ctrl + wl — переместить курсор в правое окно (вертикальное разделение)
  • Ctrl + wj — переместить курсор в окно ниже (горизонтальное разделение)
  • Ctrl + wk — переместить курсор в окно выше (горизонтальное разделение)
Читайте также:  Broadcom 43142 driver linux

Вкладки

  • :tabnew либо :tabnew file — открыть файл в новой вкладке
  • Ctrl + wT — переместить текущее окно в собственную вкладку
  • gt либо :tabnext либо :tabn — переключиться на следующую вкладку
  • gT либо :tabprev либо :tabp — переключиться на предыдущую вкладку
  • #gt — переключить на вкладку номер #
  • :tabmove # — переместить текущую вкладку на # позицию (нумерация с 0)
  • :tabclose либо :tabc — закрыть текущую вкладку и все её окна
  • :tabonly либо :tabo — закрыть все вкладки кроме текущей
  • :tabdo command — выполнить command на всех вкладках (к примеру :tabdo q — закрывает все открытые вкладки)

Источник

Как отсюда выйти: шпаргалка по Vim

Обложка: Как отсюда выйти: шпаргалка по Vim

Вы собираетесь создать файл crontab и внезапно оказываетесь в этом странном редакторе по умолчанию. В том, в котором всё никак не разберётесь.

ESC? Ничего не произошло. CTRL + C? Нет. ESC ESC ESC? Неа. Вы в тупике.

Ну вот, опять. Склонив голову от стыда, вы запускаете очередной терминал, чтобы исполнить команду killall vim и продолжить заниматься своими делами.

С вами бывало такое? Конечно, бывало. Что ж, потратив несколько минут на эту статью, вы познакомитесь с основами редактора Vim (и научитесь быстро выходить из него).

Vim по умолчанию установлен во многих операционных системах (включая большинство дистрибутивов Linux и macOS), поэтому хотя бы поверхностные знания о нём лишними не будут. Откройте терминал и введите vim .

В умелых руках Vim может стать мощнее многих IDE. И, разумеется, он не ест сотни мегабайт памяти лишь для отображения пустого файла (да, Eclipse, это о тебе).

Основы

Некоторые из нижеописанных команд начинаются с двоеточия: нажав его, появится подсказка, в которой будет указана полная команда. Команды без двоеточий — это скорее горячие клавиши, которые можно использовать в режиме по умолчанию (в нём запускается Vim). Команды, написанные ЗАГЛАВНЫМИ БУКВАМИ — это отдельные клавиши: например, ESC — это клавиша Esc на вашей клавиатуре.

Все команды чувствительны к регистру и должны выполняться вне режима insert.

Выход из Vim

Выход без сохранения изменений:

Как запомнить: quit dammit! (закройся, чёрт возьми!)

Выход с сохранением изменений:

Как запомнить: write to disk and quit

Для перемещения по открытому файлу используйте стрелки.

Читайте также:  Linux команда apt repository

Перемещение на строку 285:

Изменение текста

Вставка текста там, где стоит курсор:

Вставка текста в конце текущей строки:

Выход из режима редактирования (возврат в стандартный режим):

Выделение текста

Переход в визуальный режим:

Для выделения текста используйте стрелки.

Выход из визуального режима:

Копирование, удаление, вставка

Копирование выделенного текста в буфер:

Удаление выделенного текста:

Копирование текущей строки в буфер:

Как запомнить: yank yank

Копирование трёх строк, включая текущую, в буфер:

Удаление текущей строки и помещение её в буфер:

Как запомнить: delete delete

Удаление 5 строк, включая текущую:

Вставка из буфера перед текущей строкой:

Вставка из буфера после текущей строки:

Отмена и восстановление последнего изменения

Отмена последнего изменения:

Восстановление последнего отменённого изменения:

Отмена двух последних изменений:

Многоуровневое дерево отката изменений Vim очень мощное, подробнее о нём можно почитать в документации.

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

Открытие файла index.html вместо текущего:

Сохранение текущего файла:

Как запомнить: write to disk

Сохранение файла с изменённым именем, например, changes.txt:

Поиск и замена

Поиск и замена всех вхождений строки в файле:

Поиск и замена с запросом подтверждения замены:

Подсветка синтаксиса и отступы

Включение подсветки синтаксиса:

Включение автоматических отступов:

Увеличение отступов нескольких строк при выделении их в визуальном режиме:

Вкладки

Открытие server.py в новой вкладке:

Переход на вкладку справа:

Переход на предыдущую вкладку слева:

Как запомнить: tab previous

Для закрытия вкладки переключитесь на неё и используйте команду :q или :wq .

Разделённый экран

Открытие templates/base.html в режиме вертикального разделения экрана:

Как запомнить: vertical split

Открытие shared.js в режиме горизонтального разделения экрана:

Как запомнить: the ’default’ horizontal split

Перемещение между «частями» экрана:

Для закрытия экрана переключитесь на него и используйте команду :q или :wq .

Настройка Vim: файл .vimrc

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

Например, добавление этих строк в ~/.vimrc сделает подсветку синтаксиса и автоматическую корректировку отступов включёнными по умолчанию:

Идеи для кастомизации Vim можно почерпнуть в этом GitHub-репозитории.

Полезные ресурсы

Вот ещё несколько полезных материалов для изучения Vim:

А какая команда Vim — ваша любимая? Может, вы знаете удобные приёмчики? Делитесь ими в комментариях!

Источник

Оцените статью
Adblock
detector