## Немного про 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$` - удалить все, что после курсора - `dG` - удалить все, что под курсором до конца файла - `dj` - удалить 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 ` - сохранить файл с именем `` - `e ` - открыть файл с именем `` - `r ` - вставить содержимое `` - `saveas ` - сохранить файл с новым именем `` - `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` - перейти к предыдущему вхождению