Немного про vim
Передвижение
- h/j/k/l лево/низ/верх/право
- 0/^ первый/последний непробельный символ
- $/g_ начало/конец строки
- w/e слово вперёд (остановка на начале/конце слова)
- b/ge слово назад (остановка на начале/конце слова)
- (/{/)/} предложение/параграф вперёд/назад
- ’[/’] начало/конец последнего изменения
- ’</’> начало/конец последнего выделения
- ’. последняя правка
- % на следующий или “ответный” символ (на закрывающую скобку, например)
Visual mode
- gv вернуть последнее выделение
- aw (iw) выделить слово (слово внутри)
- as/ap/at/a[/a(/a</a{/a”/a’/a` выделить предложение, параграф, тег, скобки, кавычки (см. выше)
Метки
- m{a-zA-Z} поставить метку
- '{a-zA-Z} перейти на метку (a-z - только в текущем файле, A-Z0-9 - во всех)
- '. перейти на место последнего редактирования
- :marks показать метки
Регистры
- 0 последнее копирование
- 1-9 последние 9 удалений (стек)
- a-z именованные; копирование в ‘A’ дописывает значение в ‘a’
- . последняя вставка
- +/* буфер обмена
- / последний поиск
- _ “чёрная дыра”
Указать явно регистр нужно командой ", например "ayy = скопировать текущую строку в регистр ‘a’.
Разное
Далее ‘[]’ = команды передвижения
- g8 показать hex-значение символа под курсором
- g^ перейти на самый левый непробельный символ в строке
- g_ перейти на самый правый непробельный символ в строке
- g~[] сменить регистр
- gu lowecase
- gU uppercase
- f/F{} перейти к N-му символу ‘{}’ (N задаётся в начале)
- ; повторить последнюю ‘f/F’
- , повторить последнюю ‘f/F’ в обратном направлении
- z перерисовать экран