wiki/docs/linux/Vim.md
ilyamak04 5331d15135
All checks were successful
Build MkDocs / build-and-deploy (push) Successful in 15s
+
2025-02-15 19:45:29 +03:00

153 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Немного про 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` - опуститься на пол страницы вниз
- `3j` - вниз на 3 строки
- `3k` - вверх на 3 строки
- `3dd` - удалить на 3 строки вниз
- `3yy` - копировать 3 строки
!!! 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` - перейти к предыдущему вхождению
- `*` - поиск слова на котором курсор ниже по тексту (переходы по вхождениям аналогично)
- `#` - поиск слова на котором курсор выше по тексту
### mc (Midnight Commander)
- `Esc Esc` - отмена
- `+` - выделение
- `-` - снять выделение
- `alt enter` - имя файла на котором фокус появиться в терминале mc
- `alt a` - полный путь к текущей директории появится в треминале mc
- `alt p` - вставить предыдущую команду в терминал mc
- `alt t` - меняем отображение файлов в mc
- `alt h` - история команд в терминале mc
- `alt e` - изменить кодировку файла
- `ctrl r` - обновить данные в панели mc (если новые файлы добавляются)
- `ctrl s` - поиск в панели mc
- `ctrl \` - панель быстрого доступа для каталогов
- `ctrl x + i` - информация о файле
- `ctrl x + q` - быстрый просмотр файла (файл откроется на чтение в правом окне)
- `ctrl t` - выделить файл
#### Режим просмотра (F3 или alt+3)
- `space` - в режиме просмотра пролистать на страницу вниз
- `b` - в режиме просмотра пролистать на страницу вверх
- `PgUp` - пролистать на пол страницы вверх
- `PgGd` - пролистать на пол страницы вниз
- `ctrl shift f` - просмотр лога в реальном времени в режме просмотра
- `g` - перейти в начало файла
- `G` -перейти в конец файла
##### Поиск
`/` - поиск в файле
`n` - перейти к следующему вхождению
`shift n` - перейти к предыдущему вхождению