Vim
Немного про Vim#
Режимы#
Обычный режим (Normal)#
- Режим, в который Vim попадает сразу после запуска
- Выполняются команды редактирования, навигации и копирования
нажать 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
- удалить все, что под курсором до конца файлаd<n>j
- удалить n строк внизu
- отменить дейтсвиеctrl r
- вернуть действиеyy
- копировать строкуp
- вставить после курсора=
- автоформатирование кодаctrl u
- подняться на пол страницы вверхctrl d
- опуститься на пол страницы вниз3j
- вниз на 3 строки3k
- вверх на 3 строки3dd
- удалить на 3 строки вниз3yy
- копировать 3 строки
Буферы Vim
В Vim буферы (buffers) не связаны напрямую с системным буфером обмена (clipboard)
Режим визульного выделения#
Чтобы перейти в него, нажать:
V
- выделение строками (чаще всего использую)v
- выделение посимвольноctrl + v
- выделение блоками (колонками)
y
- копировать выделенный текстd
- вырезать выделенноеx
- удалить выделенноеu
- сделать выделенный текст строчными буквамиU
- сделать выделенный текст заглавными буквами>
<
- сдвиг текста вправо, влево
Режим команд#
Чтобы перейти в режим команд, нажать shift :
:
В режиме команд каждая команда начинается с :
wq
- сохранить и выйтиq!
- выйти без сохраненияw <filename>
- сохранить файл с именем<filename>
e <filename>
- открыть файл с именем<filename>
r <filename>
- вставить содержимое<filename>
saveas <filename>
- сохранить файл с новым именем<filename>
bn
- переход к следующему буферуbp
- переход к предыдущему буферуn
- перейти к строкеn
set number
- показать номера строкset nonumber
- скрыть номера строк%d_
- удалить содержимое файла без копирования в буфер
Чтобы поменять кодировку файла в 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
- имя файла на котором фокус появиться в терминале mcalt a
- полный путь к текущей директории появится в треминале mcalt p
- вставить предыдущую команду в терминал mcalt t
- меняем отображение файлов в mcalt h
- история команд в терминале mcalt e
- изменить кодировку файлаctrl r
- обновить данные в панели mc (если новые файлы добавляются)ctrl s
- поиск в панели mcctrl \
- панель быстрого доступа для каталоговctrl x + i
- информация о файлеctrl x + q
- быстрый просмотр файла (файл откроется на чтение в правом окне)ctrl t
- выделить файл
Режим просмотра (F3 или alt+3)#
space
- в режиме просмотра пролистать на страницу внизb
- в режиме просмотра пролистать на страницу вверхPgUp
- пролистать на пол страницы вверхPgGd
- пролистать на пол страницы внизctrl shift f
- просмотр лога в реальном времени в режме просмотраg
- перейти в начало файлаG
-перейти в конец файла
Поиск#
/
- поиск в файле
n
- перейти к следующему вхождению
shift n
- перейти к предыдущему вхождению