Перейти к содержанию

vim

  • :vert, :vert help vert — запуск команд с вертикальным разделением окна вместо горизонтального
  • :read !pwd — выполнить внешнюю команду и вставить результат
  • set option — установить опцию
    • set number!, set invnumber (!) — переключение (инвертирование) опции (:help set-!, :help set-inv)
    • set number? (?) — показать значение опции
    • set nonumber (no) — отключить опцию
  • ~, 3~ — переключение регистра символа (нескольких символов) под курсором
  • gu, gU — смена регистра
    • guu, gUU — прегнать строку в нижний/верхний регистр
    • g~~ — переключение регистра строки
    • guiw, gUiw, g~iw — слово в верхний/нижний регистр; переключить регистр слова (iw — inner word)
  • :substitute — поиск и замена текста (:help substitute, :help s_flags)
    • :s/foo/bar — поиск и замена в текущей строке только первого встретившегося в строке
    • :s/foo/bar/g — поиск и замена всех совпадений текущей строке
    • :%s/foo/bar/g — поиск и замена во всём файле
  • открытие файла
    • :tabnew file — открыть файл в новой вкладке
    • ctrl-w f — разделить окно и открыть файл под курсором
    • ctrl-w F — разделить окно и открыть файл под курсором на строке. Путь указывается в формате /file/path.txt:6
    • ctrl-w gf — открыть файл под курсором в новой вкладке

Путь до текущего файла

  • vim.fandom.com
  • ctrl-g — показать полный путь до текущего файла
  • :echo expand('%:p') — полный путь до текущего открытого файла
  • в normal режиме %p — вставить полный путь до файла на место курсора
  • в input режиме ctrl-R % — вставить полный путь до файла на место курсора
  • исполнение текущего открытого файла во внешних программах
    !php -f %
    !mysql --defaults-extra-file=~/.my.cnf database < %
    

Пролистывание файла

  • ctrl-f, ctrl-b — прокрутка на один экран
  • ctrl-u, ctrl-d — прокрутка на несколько строк. По умолчанию — полэкрана
  • zz — переместить экран чтоб курсор оказался посередине по высоте. Осторожнее с CapsLock: ZZ — сохранить и выйти

Explore

Открытие встроенного файлового менеджера. Если текущий файл модифицирован - откроется в новом окне.

  • :Vexplore — вертикальный сплит + Explore в левом окне
  • :Vexplore! — вертикальный сплит + Explore в правом окне
  • :Hexplore — горизонтальный сплит + Explore
  • :TexploreExplore в новой вкладке
  • :Sexplore — сплит + Explore. Отличие от :Explore только в том, что всегда сделает :split

Управление

  • d — создать каталог
  • t — открыть в табе

Дополнительно

modeline

Vim умеет парсить свои команды внутри комментариев через указание vim:. Так например можно хранить настройки для vim в исходных файлах:

<?php
echo 'Hello World';

# vim: set tabstop=4 shiftwidth=4 noexpandtab:

Вкладки

  • :tabnew — новая вкладка
  • gT, gt — переключение по вкладкам
  • vim -p file1 file2 file3 — открыть файлы во вкладках
  • :tabs — показать список открытых вкладок
  • set showtabline=2 — показывать заголовок вкладки даже если она одна

Внутренняя справка vim

В vim стандартная справка вызывается командой :help. Чтоб открыть справку вертикально :vert help tag.

  • :help help — открытие справки, открытие раздела справки.
  • ctrl ] — переход по ссылке
  • ctrl o, ctrl t — переход к предыдущей метке. То есть вернуться обратно
  • :help E37 — справка об ошибке E37

Своя справочная страница

Можно создать файл, прописать мануал/памятку, пометить тегами и проиндексировать в vim. Подробнее в справке vim :help write-local-help, :help help-writing.

Создаём файл с расширением txt в каталоге ~/.vim/doc. Наполняем файл нужной информацией.

Пример содержимого файла
*myhelp.txt* My custom help

Моя справка:

1. Перемещение по справке       *myhelp-help*

:help |help|
    Для просмотра cправки vim
CTRL-]
    Переход по ссылке
CTRL-O CTRL-T
    Переход к предыдущей метке

В vim выполняем :helptags ~/vim/doc.

Теперь наша справка доступна по команде :help myhelp.txt. Можно создать команду для запуска своей справки в вертикальном окне. В ~/.vimrc прописываем (команда должна начинаться с заглавной буквы):

:command Myhelp vert help myhelp.txt

Разметка справочного файла

  • :help help-writing — справка vim по формату файла
  • Справочный файл создаётся в формате .txt, но vim отображает синтаксис таких файлов как help.
  • Текст, обёрнутый в звёздочки — тег: *myhelp-section*. Vim индексирует их при вызове :helptags. Команда :help myhelp-section открывает этот раздел.
  • Текст, обёрнутый в | — ссылка на тег: |myhelp-section|. Если навести курсор на этот текст и нажать ctrl ] — откроется соответствующий раздел.

Полезные ссылки