Шпаргалка по горячим клавишам в Vim

Шпаргалка по VIM редактору

Расположение и назначение клавиш в редакторе VIM (картинку удобно установить как фон на Рабочий стол) скачать, .png
VIM хоткеи табличка, можно распечатать скачать, .rar

Общее

  • :help keyword — открыть помощь по ключевому слову
  • :o file — открыть file
  • :sav file — сохранить весь текщий буфер как file
  • :close — закрыть текущую панель
  • K — открыть справочное руководство для слова под курсором

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

  • h — передвинуть курсор влево
  • j — передвинуть курсор на одну фактическую строку вниз
  • k — передвинуть курсор на одну фактическую строку вверх
  • l — передвинуть курсор вправо
  • gj — передвинуть курсор на одну видимую строку вниз
  • gk — передвинуть курсор на одну видимую строку вверх
  • H — переместиться к началу экрана
  • M — переместиться к середине экрана
  • L — переместиться к концу экрана
  • w — переместиться вперед на начало слова
  • W — переместиться вперед на начало слова (слово может содержать пунктуацию)
  • e — переместиться вперед на конец слова
  • E — переместиться вперед на конец слова (слово может содержать пунктуацию)
  • b — переместиться назад на начало слова
  • B — переместиться назад на начало слова (слово может содержать пунктуацию)
  • % — переместиться к парному символу (по умолчанию поддерживаются: '()', '{}', '[]')
  • 0 — переместиться на начало строки
  • ^ — переместиться на первый непробельный символ строки
  • $ — переместиться на конец строки
  • g_ — переместиться к последнему непустому символу в строке
  • gg — переместиться на первую строку документа
  • G — переместиться на последнюю строку документа
  • 5G — переместить на пятую строку
  • fx — переместиться к следующему вхождению символа x в текущей строке
  • tx — установить курсор за следующим вхождением символа x в строке
  • Fx — переместиться на предыдущее вхождение символа x в текущей строке
  • Tx — установить курсор за предыдущим вхождением символа x в строке
  • ; — повторить предыдущее f, t, F или T перемещение
  • , — повторить предыдущее f, t, F или T перемещение, в обратном направлении
  • } — переместиться к следующему параграфу (или функции/блоку при редактировании кода)
  • { — переместиться к предыдущему параграфу (или функции/блоку при редактировании кода)
  • zz — center cursor on screen
  • Ctrl + b — переместиться назад на целый экран
  • Ctrl + f — переместиться вперед на целый экран
  • Ctrl + d — переместиться вперед на половину экрана
  • Ctrl + u — переместиться назад на половину экрана
Совет: Добавьте число перед командой перемещения курсора для того, чтобы повторить её. Например, 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 — выйти из режима выделения текста

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

  • > — сместить текст вправо
  • < — сместить текст влево
  • y — скопировать выделенный текст
  • d — удалить выделенный текст
  • ~ — переключить регистр

Регистры

  • :reg — показать содержимое регистров
  • "xy — поместить содержимое в регистр x
  • "xp — вставить содержимое регистра x
Совет: Содержимое регистров сохраняется в ~/.viminfo, и будет восстановлено при следующем запуске vim.Совет: В нулевом регистре всегда хранится содержимое последней команды копирования.

Метки

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

Макросы

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

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

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

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

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

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

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

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

  • :vimgrep /pattern/ {file} — поиск по шаблону в нескольких файлах
e.g. :vimgrep /foo/ **/*
  • :cn — переместиться к следующему совпадению
  • :cp — переместиться к предыдущему совпадению
  • :copen — открыть окно со списком результатов

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

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

Вкладки

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

31 декабря 2019, 14:51 Разное 0    524 0