wiki/docs/linux/Vim.md
ilyamak04 3f174470e2
All checks were successful
Build MkDocs / build-and-deploy (push) Successful in 17s
+
2025-02-12 23:12:50 +03:00

5.5 KiB
Raw Blame History

Немного про Vim

Режимы

Обычный режим (Normal)

  • Режим, в который Vim попадает сразу после запуска
  • Выполняются команды редактирования, навигации и копирования

!!! info "нажать Esc" Выйти в обычный режим можно нажатием Esc

Режим вставки (Insert mode)

  • Режим, который позволяет вводить текст как в обычных текстовых редакторах (Выход из режима - нажатие Esc)

Режим команд (Command mode)

  • Для выполнения команд: сохранение, выход, поиск и замена (Выход - нажатие Esc)

Режим визуального выделения (Visual mode)

  • Для выделения текста для копирования, удаления или редактирования (Выход - нажатие Esc)

Есть ещё режимы, но мне неизвестны сценарии, в которых они могут быть полезны.

Шорткаты

Нормальный режим -> режим вставки

  • i - вставка перед курсором
  • I - втсавка в начало строки
  • A - вставка в конец строки
  • o - создаст новую строку ПОД курсором, переместит на неё фокус
  • O - создаст новую строку НАД курсором, переместит на неё фокус

Нормальный режим

  • G - перейти в конец файла
  • gg - перейти в начало файла
  • 0 - переместиться в начало строки
  • ^ - переместиться к первому непробельному символу в начале строки
  • $ - переместиться в конец строки
  • w - перейти в начало следующего слова
  • b - перейти в начало предыдущего слова
  • x - удалить символ под курсором
  • daw - удалит слово включая пробел
  • ciw - удалить текущее слово и перейти в режим вставки
  • dd - удалить строку
  • d<n>j - удалить n строк вниз
  • u - отменить дейтсвие
  • ctrl r - вернуть действие
  • yy - копировать строку
  • p - вставить после курсора
  • = - автоформатирование кода
  • ctrl u - подняться на пол страницы вверх
  • ctrl d - опуститься на пол страницы вниз

!!! note "Буферы Vim" В Vim буферы (buffers) не связаны напрямую с системным буфером обмена (clipboard)

Режим визульного выделения

Чтобы перейти в него, нажать:

  • V - выделение строками (чаще всего использую)
  • v - выделение посимвольно
  • ctrl + v - выделение блоками (колонками)

  • y - копировать выделенный текст
  • d - вырезать выделенное
  • x - удалить выделенное
  • u - сделать выделенный текст строчными буквами
  • U - сделать выделенный текст заглавными буквами
  • > < - сдвиг текста вправо, влево

Режим команд

Чтобы перейти в режим команд, нажать shift :

!!! info ":" В режиме команд каждая команда начинается с :

  • wq - сохранить и выйти
  • q! - выйти без сохранения
  • w <filename> - сохранить файл с именем <filename>
  • e <filename> - открыть файл с именем <filename>
  • r <filename> - вставить содержимое <filename>
  • saveas <filename> - сохранить файл с новым именем <filename>
  • bn - переход к следующему буферу
  • bp - переход к предыдущему буферу
  • n - перейти к строке n
  • set number - показать номера строк
  • set nonumber - скрыть номера строк

Чтобы поменять кодировку файла в Vim, выполнить следующие действия:

  • перейти в Режим команд, нажать shift + :
  • set fileencoding? - кодировка текущего файла
  • e ++enc=utf-8 - переоткроет файл в нужной кодировке
  • set fileencoding=utf-8 - устанавливает кодировку файла для сохранения
  • wq- сохранить и выйти
Поиск
  • /word - найти word вперёд
  • ?word - найти word назад

Далее, нажать enter

  • * - поиск слова на котором курсор ниже по тексту
  • # - поиск слова на котором курсор выше по тексту
  • n - перейти к следующему вхождению
  • N - перейти к предыдущему вхождению