Справка по Vim

Ниже представлена краткая выжимка по основным командам текстового редактора Vim.

 


Содержание:

  1. Режимы Vim
  2. Перемещение по тексту (Обычный режим)
  3. Маркеры (Метки)
  4. Выделение текста (Визуальный режим)
  5. Операции с текстом (Обычный и Визуальный режимы)
  6. Поиск и Замена
  7. Регистры
  8. Макросы
  9. Работа с файлами
  10. Настройка Vim
  11. Разное
  12. Регулярные выражения: POSIX классы и Специальные символы
  13. Работа с окнами (Split Windows)

Режимы Vim
  • Esc или Ctrl + [ Выйти из текущего режима в Обычный режим (Normal mode).
  • i Войти в режим Вставки (Insert mode) перед курсором.
  • I (Shift + i) Войти в режим Вставки в начале текущей строки.
  • a Войти в режим Вставки после курсора.
  • A (Shift + a) Войти в режим Вставки в конце текущей строки.
  • o Вставить новую строку ниже и перейти в режим вставки.
  • O (Shift + o) Вставить новую строку выше и перейти в режим вставки.
  • R (Shift + r) Войти в режим Замены (Replace mode).

Перемещение по тексту (Обычный режим)
  • h, j, k, l Влево, вниз, вверх, вправо.
  • w / W Переход к началу следующего слова (W игнорирует знаки препинания).
  • e / E Переход к концу следующего слова (E игнорирует знаки препинания).
  • b / B Переход к началу предыдущего слова (B игнорирует знаки препинания).
  • $ Переход в конец текущей строки.
  • ^ Переход к первому непробельному символу в текущей строке.
  • 0 Переход к самому началу текущей строки.
  • G Переход к последней строке файла.
  • gg Переход к первой строке файла.
  • Ctrl + O Вернуть курсор назад.
  • Ctrl + I Курсор вперед.
  • Double ' Курсор вперед/назад.
  • [номер]G Переход конкретному номеру строки (например, 123G).
  • % Переход соответствующей скобкеад ((), {}, []).
  • Ctrl + f Прокрутка вперёд на один экран.
  • Ctrl + b Прокрутка назад на один экран.
  • Ctrl + d Прокрутка вниз на пол-экрана.
  • Ctrl + u Прокрутка вверх на пол-экрана.
  • Ctrl + e Прокручивает окно (экран) вниз на одну строку, не перемещая курсор (если это возможно).
  • Ctrl + y Прокручивает окно (экран) вверх на одну строку, не перемещая курсор.
  • Ctrl + d Прокручивает окно (экран) вниз на пол-экрана. Курсор перемещается.
  • Ctrl + u Прокручивает окно (экран) вверх на пол-экрана. Курсор перемещается.
  • Ctrl + f Прокручивает окно (экран) вниз на целый экран (Forward). Курсор перемещается.
  • Ctrl + b Прокручивает окно (экран) вверх на целый экран (Backward). Курсор перемещается.
  • H Переместить курсор на верхнюю строку экрана.
  • M Переместить среднюю строку экранаола <char>.
  • L Переместить нижнююрстрокуаэкранаола <char>.
  • f<char> Перейти вперёд до символа <char>.
  • F<char> Перейти назад до символа <char>.
  • t<char> Перейти вперёд до символа <char>, остановившись перед ним.
  • T<char> Перейти назад до символа <char>, остановившись после него.
    • ; / , Переход к следующему/предыдущему.

Маркеры (Метки)
  • m[символ] Установить маркер [символ] (a-z для файла, A-Z для глобально).
  • `[символ] Перейти к точной позиции маркера.
  • '[символ] Перейти к началу строки маркера.
  • Использование с операциями:

  • d'[символ] Операция от текущей строки до строки маркера.
  • d`[символ] Операция от текущей позиции до точной позиции маркера.
  • c'[символ] Изменить от текущей строки до строки маркера.
  • y`[символ] Копировать от текущей позиции до точной позиции маркера.
  • Управление и использование в диапазонах:

  • :marks Показать список всех текущих маркеров.
  • :marks ab Показать список маркеров a и b.
  • 'a,'bs/test/foo/g Найти и заменить test на foo между маркерами a и b.

Выделение текста (Визуальный режим)
    Начните выделение, выбрав режим, затем перемещайте курсор.

  • v Символьное выделение (— VISUAL —).
  • V (Shift + v) Построчное выделение (— VISUAL LINE —).
  • Ctrl + v Блочное выделение (— VISUAL BLOCK —).
  • gv Повторное выделение последнего выделенного блока.

Операции с текстом (Обычный и Визуальный режимы)
    Команды могут применяться к выделенному тексту или к «текстовым объектам» (например, yiw — yank inner word).
  • y Копировать (yank).
    • yy Копировать текущую строку.
    • yw Копировать слово под курсором.
    • y$ Копировать до конца строки.
    • yap Копировать весь параграф.
    • yiw Копировать внутреннюю часть слова.
  • d Вырезать (delete).
    • dd Вырезать текущую строку.
    • dw Вырезать слово под курсором.
    • d$ Вырезать до конца строки.
  • x Удалить символ под курсором.
  • X Удалить символ перед курсором.
  • c Изменить (change). Удаляет текст и переходит в режим вставки.
    • cc Изменить текущую строку.
    • cw Изменить слово под курсором.
    • ciw Изменить внутреннюю часть слова.
  • p Вставить (put) содержимое буфера после курсора/строки.
  • P Вставить (put) содержимое буфера до курсора/строки.
  • u Отменить последнее изменение.
  • Ctrl + r Повторить отмененное изменение (redo).
  • . (точка) Повторить последнее изменение.
  • > Увеличить отступ.
    • >> Увеличить отступ текущей строки.
  • < Уменьшить отступ.
    • << Уменьшить отступ текущей строки.
  • J (Shift + j) Объединить текущую строку со следующей.
  • Модификаторы i (inner) и a (around/all) с текстовыми объектами: эти модификаторы используются для точного определения части текста, над которой выполняется операция (y, d, c, v). Курсор должен находиться внутри или на границе текстового объекта.
  • i (inner) — «внутренняя часть» Относится к содержимому внутри ограничителей или к самому слову/блоку, исключая сами ограничители и окружающие пробелы.
    • iw Внутреннее слово (без пробелов).
      • diw Удалить слово под курсором.
      • ciw Изменить слово под курсором (удалить и перейти в режим вставки).
      • yiw Скопировать слово под курсором.
    • iW Внутреннее БОЛЬШОЕ слово (разделенное пробелами).
    • i( / i) Внутреннее содержимое круглых скобок (без самих скобок).
      • di( Удалить содержимое внутри ().
    • i[ / i] Внутреннее содержимое квадратных скобок (без самих скобок).
    • i{ / i} / ib Внутреннее содержимое фигурных скобок (без самих скобок).
    • i< / i> / it Внутреннее содержимое угловых скобок / HTML/XML тегов (без самих тегов).
    • i" Внутреннее содержимое двойных кавычек (без самих кавычек).
    • i' Внутреннее содержимое одинарных кавычек (без самих кавычек).
    • i` Внутреннее содержимое обратных кавычек (без самих кавычек).
    • ip Внутренний параграф (без пустых строк-разделителей).
    • is Внутреннее предложение (без окружающих пробелов/знаков препинания).
  • a (around/all) — «вокруг» / «вместе с» Относится к содержимому вместе с его ограничителями и окружающими пробелами.
    • aw Слово (включая один окружающий пробел).
      • daw Удалить слово и окружающий пробел.
      • caw Изменить слово и окружающий пробел.
    • aW БОЛЬШОЕ слово (включая окружающие пробелы).
    • a( / a) Содержимое круглых скобок вместе со скобками.
      • da( Удалить содержимое () вместе со скобками.
    • a[ / a] Содержимое квадратных скобок вместе со скобками.
    • a{ / a} / aB Содержимое фигурных скобок вместе со скобками.
    • a< / a> / at Содержимое угловых скобок / тегов вместе с тегами.
    • a" Содержимое двойных кавычек вместе с кавычками.
    • a' Содержимое одинарных кавычек вместе с кавычками.
    • a` Содержимое обратных кавычек вместе с кавычками.
    • ap Параграф целиком (включая окружающие пустые строки).
    • as Предложение целиком (включая окружающие пробелы/знаки препинания).

Поиск и Замена
  • /шаблон Поиск вперёд по шаблону.
  • ?шаблон Поиск назад по шаблону.
  • n Перейти к следующему совпадению.
  • N (Shift + n) Перейти к предыдущему совпадению.
  • * Поиск следующего вхождения слова под курсором.
  • # Поиск предыдущего вхождения слова под курсором.
  • gn Выделяет следующее вхождение последнего найденного шаблона и переводит в визуальный режим.
  • gN То же, что gn, но в обратном направлении.
  • Вставка в режиме поиска (Ctrl + r + регистр):
    • В строке поиска (после / или ?) нажмите Ctrl + r, затем:

    • " Содержимое безымянного регистра (скопированное/вырезанное внутри Vim).
    • + Содержимое системного буфера обмена (Ctrl+C извне Vim).
    • * Содержимое буфера выделения X11 (выделение мышью в Linux).
  • Замена текста (:s):
    • :[диапазон]s/шаблон/замена/[флаги] Общий синтаксис замены.
      • % По всему файлу.
      • g Заменить все вхождения в строке.
      • c Запросить подтверждение для каждой замены.
      • i Игнорировать регистр.
    • [диапазон] (Range)
    • Это необязательная часть, которая определяет, на каких строках будет выполняться замена. Если диапазон не указан, команда применяется только к текущей строке.

      • Без диапазона:
        • :s/old/new/ Заменить old на new только в текущей строке (только первое вхождение).
        • :s/old/new/g Заменить old на new в текущей строке (все вхождения).
      • Конкретная строка:
        • :10s/old/new/ Заменить на строке 10.
      • Диапазон строк:
        • :10,20s/old/new/ Заменить с строки 10 по строку 20.
        • :.,$s/old/new/ Заменить от текущей строки (.) до конца файла ($).
        • :1,$s/old/new/ Заменить от первой строки (1) до конца файла ($). То же самое, что и %s/old/new/.
        • :%s/old/new/ Самый частый способ замены по всему файлу. % — это сокращение для 1,$.
      • Относительный диапазон:
        • :+5s/old/new/ Заменить на 5 строк ниже текущей.
        • :-3,+5s/old/new/ Заменить с 3 строк выше текущей до 5 строк ниже текущей.
      • Визуальное выделение:
        • Когда вы выделяете текст в визуальном режиме (v, V, Ctrl+v) и затем нажимаете :, Vim автоматически вставляет диапазон '<,'>, который означает «от начала выделения до конца выделения».
        • :'<,'>s/old/new/ Заменить только в выделенном блоке текста.
      • Поиск как диапазон:
        • :?,/old/s/old/new/ Заменить от предыдущего вхождения ? до следующего вхождения /old.
    • [шаблон] (Pattern / Regular Expression)
      • Это регулярное выражение, которое Vim будет искать. Это может быть как простая строка, так и сложный паттерн.

      • Простая строка: /word/
      • Спецсимволы регулярных выражений:
        • . Любой один символ (кроме новой строки).
        • * Ноль или более вхождений предыдущего символа/группы.
        • \+ Одно или более вхождений предыдущего символа/группы.
        • \? Ноль или одно вхождение предыдущего символа/группы.
        • ^ Начало строки.
        • $ Конец строки.
        • \< Начало слова.
        • \> Конец слова.
        • \s Пробельный символ.
        • \S Непробельный символ.
        • \d Цифра. \D: Не цифра.
        • \w Символ слова ([a-zA-Z0-9_]). \W: Не символ слова.
        • \[...] Набор символов (например, [abc], [0-9]).
        • \(...\) Захватывающая группа (Capturing Group). Содержимое этой группы можно использовать в строке замены с помощью обратных ссылок (\1, \2 и т.д.).
        • |: Или (логическое ИЛИ). Пример: foo\|bar найдет foo или bar.
    • [замена] (Replacement String)
      • Это строка, на которую будет заменено найденное совпадение. В этой части можно использовать буквальные символы, а также специальные последовательности:

      • & Вставляет все найденное совпадение.
        • Пример: :%s/foo/(&)/g заменит foo на (foo).
      • \1, \2, …: Вставляют содержимое захватывающих групп из шаблона поиска.
        • Пример: :%s/\(foo\)\(bar\)/\2\1/g заменит foobar на barfoo.
      • \u Преобразует следующий символ в верхний регистр.
      • \U Преобразует все последующие символы в верхний регистр до конца замены или до \E.
      • \l Преобразует следующий символ в нижний регистр.
      • \L Преобразует все последующие символы в нижний регистр до конца замены или до \E.
      • \E Завершает эффект \U или \L.
      • ~ Вставляет строку замены из предыдущей команды :s.
      • \r Вставляет перевод строки. Это позволяет вставлять многострочный текст.
      • \n Вставляет null-символ.
    • [флаги] (Flags)
      • Это необязательные модификаторы, которые изменяют поведение команды замены.

      • g (global):
        • Заменяет все вхождения шаблона в каждой строке диапазона. Без этого флага будет заменено только первое вхождение на каждой строке.
        • Самый часто используемый флаг.
      • c (confirm):
        • Запрашивает подтверждение для каждой замены. Vim будет подсвечивать совпадение и ждать вашей реакции:
          • y заменить.
          • n не заменять.
          • a заменить все оставшиеся без запроса.
          • q выйти (отменить оставшиеся замены).
          • l заменить и выйти.
          • Ctrl+e прокрутить экран вверх.
          • Ctrl+y прокрутить экран вниз.
      • i (ignorecase):
        • Игнорировать регистр при поиске шаблона.
        • Пример: :s/word/new/gi заменит word, Word, WORD и т.д.
      • I (noignorecase): Не игнорировать регистр при поиске шаблона, даже если set ignorecase включен глобально.
      • n (noprint): Не выводить строку после замены. Вместо этого выводит количество совпадений. Полезно для подсчета вхождений.
      • p (print): Вывести (напечатать) строку после первой замены. (Это поведение по умолчанию, если нет n).
      • e (error): Не выдавать ошибку, если шаблон не найден.
      • r (reverse): Искать назад (для диапазона).
  • Примеры:
    • :s/ui_\(\l\)/ui_\u\1/g ui_temp — > uiTemp
      • :%s/:
        • : Вход в командный режим.
        • % Обозначает «по всему файлу» (применить замену ко всем строкам).
        • s Команда substitute (заменить).
      • ui_\(.\) Это шаблон поиска (что мы ищем).
        • ui_ Точное совпадение с символами «u», «i», и «_».
        • \( и \) Это захватывающие скобки (capturing group). Все, что найдется внутри них, будет «захвачено» и сохранено во временной переменной \1 для использования в части «замена».
        • . Означает «любой один символ» (кроме новой строки). В вашем случае, это будет та самая буква (например, ‘u’ в ui_umover или ‘s’ в ui_settings).
          • Важный момент: Если после ui_ может быть что-то, что не является буквой (например, цифра, знак препинания или пробел), то . захватит и это. Если вы хотите явно указать, что это должна быть буква, можно использовать [a-zA-Z] вместо . или \a (любая буква). Если это только строчная буква, то \l (lowercase). Давайте использовать \l, чтобы быть более точными.
          • Улучшенный шаблон для поиска только строчной буквы: ui_\(\l\)
        • /\u\1/ Это строка замены (на что мы заменяем).
          • \u Это специальная последовательность в Vim, которая означает «преобразовать следующий символ в верхний регистр».
          • \1 Это обратная ссылка на содержимое первой захватывающей группы. То есть, сюда вставится та самая буква, которую мы нашли после ui_.
        • g Флаг global. Означает, что нужно заменить все вхождения шаблона в каждой строке, а не только первое (если ui_ встречается несколько раз в одной строке).
      • :%s/foo/bar/gic Описание: Заменить все вхождения foo на bar по всему файлу, игнорируя регистр и с запросом подтверждения.
        • %s/ Выполнить замену по всему файлу.
        • foo Шаблон поиска — foo.
        • bar Строка замены — bar.
        • /gic Флаги
          • g Глобально — заменить все вхождения в каждой строке.
          • i Игнорировать регистр при поиске (найдет foo, Foo, FOO и т.д.).
          • c Запрашивать подтверждение перед каждой заменой.
      • :'<,'>s/\(.*\), \(.*\)/\2 \1/g Описание: Переставить местами «фамилия, имя» на «имя фамилия» только в выделенном блоке текста.
        • Пример: Иванов, Иван -> Иван Иванов

        • :'<,'>s/ Выполнить замену только в текущем визуальном выделении.
        • \(.*\), \(.*\) Шаблон поиска
          • \(.*\) Первая захватывающая группа (\1) — захватывает любой текст до запятой (включая пробелы в конце, если они есть).
          • , Буквальная запятая и пробел.
          • \(.*\) Вторая захватывающая группа (\2) — захватывает любой текст после запятой и пробела.
        • \2 \1 Строка замены
          • \2 Вставляет содержимое второй захваченной группы (в данном случае, «имя»).
          • Вставляет пробел.
          • \1 Вставляет содержимое первой захваченной группы (в данном случае, «фамилия»).
        • /g Флаг «глобально» — заменить все вхождения в каждой строке выделения.
      • :%s/TODO:/\UFIXME:\E (2025-06-25)/g Описание: Заменить TODO: на FIXME: (в верхнем регистре) и добавить текущую дату по всему файлу.
        • Пример: Это TODO: задача -> Это FIXME: (2025-06-25) задача

        • %s/ Выполнить замену по всему файлу.
        • TODO: Шаблон поиска — буквальное совпадение с TODO:.
        • \UFIXME:\E (2025-06-25) Строка замены
          • \U Преобразует все последующие символы в верхний регистр до \E.
          • FIXME: Буквально вставляется, но благодаря \U будет в верхнем регистре (FIXME:).
          • \E Завершает эффект \U (чтобы следующая часть не была в верхнем регистре).
          • (2025-06-25) Буквально добавляется дата (обратите внимание, что дата должна быть актуализирована вручную или через Vim-скрипт).
        • /g Флаг «глобально» — заменить все вхождения в каждой строке.

    Регистры
    • "" Показать содержимое всех регистров.
    • "xy Скопировать в регистр x.
    • "xp Вставить содержимое регистра x.
    • " Безымянный регистр (по умолчанию для y и d).
    • % Имя текущего файла.
    • # Имя альтернативного файла.
    • : Содержимое последней команды.
    • j Содержимое последнего копирования.
    • * Системный буфер обмена (выделение мышью, X11).
    • + Системный буфер обмена (Ctrl+C/V).

    Макросы
    • q<регистр> Начать запись макроса в указанный регистр (например, qa для регистра ‘a’).
    • (Выполните нужные действия)
    • q Завершить запись макроса.
    • @<регистр> Выполнить макрос из указанного регистра (например, @a).
    • [число]@<регистр> Выполнить макрос [число] раз (например, 100@a).
    • @@ Повторить последний выполненный макрос.

    Работа с файлами
    • :w Сохранить файл.
    • :w [имя_файла] Сохранить как новый файл.
    • :wq / :x Сохранить и выйти.
    • :q Выйти (только если нет несохраненных изменений).
    • :q! Выйти без сохранения изменений (принудительно).
    • :e [имя_файла] Открыть новый файл для редактирования.
    • :r [имя_файла] Вставить содержимое файла в текущую позицию.
    • :e! Перезагрузить текущий файл (отменить несохраненные изменения).
    • Ctrl + z Приостановить Vim (вернуть в оболочку; для возврата используйте fg).

    Настройка Vim
      (команды :set и .vimrc)

    • Эти команды обычно вводятся в командном режиме (:). Чтобы они работали при каждом запуске Vim, добавьте их в файл ~/.vimrc (на Linux/macOS) или _vimrc (на Windows) в вашей домашней директории.
    • :set nu / :set nonu Включить/отключить абсолютные номера строк.
    • :set rnu / :set nornu Включить/отключить относительные номера строк.
    • :set autoindent / :set noautoindent Включить/отключить автоматический отступ.
    • :set expandtab / :set noexpandtab Преобразовывать/не преобразовывать табуляции в пробелы.
    • :set tabstop=4 Установить ширину табуляции в 4 пробела.
    • :set shiftwidth=4 Установить ширину отступа для команд >>, <<.
    • :set wrap / :set nowrap Включить/отключить перенос строк.
    • :set nohlsearch :set noh Отключить подсветку текущего поиска. Отключает подсветку уже найденных совпадений.
    • :set noincsearch Отключает инкрементальный поиск (то есть, подсветку по мере ввода запроса).
    • :set incsearch Включить подсветку поиска. (инкрементальный/постепенный поиск)
    • :set hlsearch Включить подсветку поиска.
    • :set ic / :set noic Включить/отключить игнорирование регистра при поиске.
    • :set showmode / :set noshowmode Показать/скрыть текущий режим Vim.

    Разное
    • . (точка) Повторить последнее изменение.
    • Ctrl + a Увеличить число под курсором.
    • Ctrl + x Уменьшить число под курсором.
    • Ctrl + g Показать информацию о файле (имя, номер строки, процент).
    • :%! Отфильтровать весь файл через внешнюю команду (например, :%!sort отсортирует весь файл).
    • :'<,'>! Отфильтровать выделенный текст через внешнюю команду (появляется после выделения и нажатия :!).

    Регулярные выражения
      Эти символы используются в шаблонах для поиска и замены.
      POSIX Классы Символов (для [...])

    • [:alnum:] Буквенно-цифровые символы.
    • [:alpha:] Буквы.
    • [:blank:] Пробелы и табуляции.
    • [:cntrl:] Управляющие символы.
    • [:digit:] Цифры (0-9).
    • [:graph:] Графические (печатные, кроме пробела) символы.
    • [:lower:] Строчные буквы.
    • [:print:] Печатные (включая пробел) символы.
    • [:punct:] Знаки препинания.
    • [:space:] Пробельные символы (пробел, табуляция, новая строка и т.д.).
    • [:upper:] Прописные буквы.
    • [:xdigit:] Шестнадцатеричные цифры.
    • Квантификаторы

    • ? Ноль или одно вхождение.
    • * Ноль или более вхождений.
    • \+ Одно или более вхождений.
    • \{n\} Точно n вхождений.
    • \{n,\} Не менее n вхождений.
    • \{,m\} Не более m вхождений.
    • \{n,m\} От n до m вхождений.
    • Специальные символы

    • \. Точка (экранированная).
    • \d Цифра. \D Не цифра.
    • \s Пробельный символ. \S Не пробельный символ.
    • \w Символ слова (буквы, цифры, _). \W Не символ слова.
    • \< Начало слова. \> Конец слова.
    • ^ Начало строки. _ Конец строки.
    • \b Граница слова (аналогично \< или \>).
    • \t Табуляция. \n Новая строка. \r Возврат каретки.
    • \( \) Захват группы (для обратных ссылок \1, \2 и т.д.).

    Работа с окнами (Split Windows)
      Создание разделов (Creating Splits):

    • :split или :sp:
      • Создает новое горизонтальное разделение над текущим окном.
      • Если не указано имя файла, открывает в новом окне текущий файл.
      • Пример: :sp или :sp new_file.txt
    • :vsplit или :vsp:
      • Создает новое вертикальное разделение справа от текущего окна.
      • Если не указано имя файла, открывает в новом окне текущий файл.
      • Пример: :vsp или :vsp another_file.py
    • Ctrl + w s: Короткая команда для :split. Создает горизонтальное разделение.
    • Ctrl + w v: Короткая команда для :vsplit. Создает вертикальное разделение. (Это та, которую вы упомянули!)
    • Перемещение между разделами (Navigating Splits):
      Эти команды позволяют быстро переключать фокус (курсор) между открытыми разделами.

    • Ctrl + w w Переключает фокус между всеми открытыми разделами по кругу (вперед). Самая часто используемая команда.
    • Ctrl + w h Перемещает фокус в раздел влево от текущего.
    • Ctrl + w j Перемещает фокус в раздел вниз от текущего.
    • Ctrl + w k Перемещает фокус в раздел вверх от текущего.
    • Ctrl + w l Перемещает фокус в раздел вправо от текущего.
    • Изменение размеров разделов (Resizing Splits):
      Вы можете вручную или автоматически изменять размеры окон.

    • Ctrl + w = Выравнивает размеры всех разделов, делая их примерно одинаковыми. Очень полезно после создания или закрытия окон.
    • Ctrl + w + Увеличивает высоту текущего горизонтального раздела (или ширину вертикального, если есть). Добавьте число для большего изменения: 5 Ctrl + w +.
    • Ctrl + w - Уменьшает высоту текущего горизонтального раздела (или ширину вертикального, если есть). Добавьте число для большего изменения: 5 Ctrl + w -.
    • Ctrl + w < Уменьшает ширину текущего вертикального раздела.
    • Ctrl + w > Увеличивает ширину текущего вертикального раздела.
    • :resize [N] или :res [N]: Устанавливает высоту текущего окна в N строк.
    • :vertical resize [N] Устанавливает ширину текущего окна в N столбцов.
    • Закрытие разделов (Closing Splits):

    • :close или :clo Закрывает текущее окно. Если есть несохраненные изменения, Vim выдаст предупреждение.
    • :q Закрывает текущее окно, если нет несохраненных изменений.
    • :q! Закрывает текущее окно, отбрасывая несохраненные изменения (принудительно).
    • Ctrl + w c Короткая команда для :close.
    • Ctrl + w o Закрывает все другие разделы, оставляя только текущий активный раздел. Очень удобно, чтобы быстро вернуться к одному файлу.
    • Перемещение разделов (Moving Splits):

    • Ctrl + w r Вращает разделы по часовой стрелке. Перемещает текущий раздел вправо/вниз.
    • Ctrl + w R Вращает разделы против часовой стрелки. Перемещает текущий раздел влево/вверх.
    • Ctrl + w x Меняет местами текущий раздел с соседним (по горизонтали или вертикали).
    • Открытие буфера в новом разделе (Opening Buffers in New Splits):
      Эти команды позволяют открыть уже загруженный в буфер файл в новом разделе.

    • :sbuffer [номер/имя] или :sb Открывает указанный буфер в новом горизонтальном разделении.
    • :vert sbuffer [номер/имя] или :vsb Открывает указанный буфер в новом вертикальном разделении.
    Поделиться: