Vimi
Содержание
- 1 Откуда
- 2 Первые шаги
- 2.1 Сплиты, табы, буферы
- 2.2 Запуск, работа со сплитами
- 2.3 Пролистывание
- 2.4 Выделение текста
- 2.5 Поиск
Откуда
https://github.com/miripiruni/vimi
Первые шаги
Сплиты, табы, буферы
Буфер (buffer)
Буфер = открытый файл в памяти
файл может быть открыт
может не быть видимым
один буфер можно показывать в нескольких окнах
Команды:
:ls " список буферов :bn " следующий :bp " предыдущий :bd " закрыть буфер
Сплит/окно(window)
Сплит = окно, в котором отображается буфер
делит экран
один таб может содержать несколько сплитов
каждый сплит показывает один буфер
Создание:
:split :vsplit
Навигация:
Ctrl-w h j k l
Таб (tabpage)
Таб = набор сплитов
Это не файл, а layout (раскладка окон).
каждый таб может иметь свои сплиты
буферы могут быть общими между табами
похоже на «workspace» в IDE
Создание:
:tabnew :tabedit file.txt
Визуально
Tab 1 ├─ split A → file1.c └─ split B → file2.c
Tab 2 └─ split A → terminal
Переключение между табами
Следующий / предыдущий
gt " следующий таб gT " предыдущий таб
Перейти к табу по номеру
:tabn 3
или:
3gt
Закрыть таб
:tabclose
Список табов
:tabs
Когда использовать что
Сплиты — для:
сравнения файлов
код + терминал
код + лог
Табы — для:
разных задач / контекстов
разных проектов
разных раскладок
В Vim предпочитают сплиты, а табы используют как workspace.
Запуск, работа со сплитами
Запуск
vim
Дерево каталогов и файлов
Клавиша
<BACKSPACE>
открывает/закрывает дерево
Сразу хочется по этому дереву ходить клавишами-стрелками.
Но нет. В vim основная навигация - это:
k
h l
j
Разделить экран (создать новый буфер)
,→ справа ,← слева ,↑ сверху ,↓ снизу
Переключаться между буферами
Нажать
<Ctrl+w>
затем выбрать в какую сторону:
k
h l
j
Закрыть выбранный сплит
Нажать
<Ctrl+w>
затем
q
Изменить размеры текущего сплита
Высота
Ctrl-w + увеличить Ctrl-w - уменьшить
Ширина
Ctrl-w > увеличить Ctrl-w < уменьшить
Максимизировать окно
Ctrl-w _ Ctrl-w |
(по высоте / по ширине)
Вернуть нормальный размер
Ctrl-w =
Точный размер
:resize 20 " ровно 20 строк :vertical resize 80 " ровно 80 колонок
Переместить текущий сплит на место другого (поменять местами текущий и рядом стоящий)
Нажать
<Ctrl+w>
затем выбрать в какую сторону (регистр букв важен!):
K
H L
J
Пролистывание
| Действие | Клавиши |
|---|---|
| Страница вниз | Ctrl + f |
| Страница вверх | Ctrl + b |
| Полстраницы вниз | Ctrl + d |
| Полстраницы вверх | Ctrl + u |
| На 1 строку вниз (без сдвига курсора) | Ctrl + e |
| На 1 строку вверх (без сдвига курсора) | Ctrl + y |
| В начало файла | gg |
| В конец файла | G |
| Перейти к строке N | :N |
Выделение текста
| Действие | Клавиши |
|---|---|
| Выделение по символам | v |
| Выделение по строкам | V |
| Прямоугольное выделение | Ctrl + v |
| Выделить слово | viw / vaw |
| Выделить строку | V |
| Выделить абзац | vip / vap |
| Выделить всё | ggVG |
| Копировать | y |
| Вырезать | d |
| Заменить | c |
| Форматировать | = |
Поиск
Поиск вперёд по слову, на котором стоит курсор
*
Поиск назад по слову, на котором стоит курсор
#
Или
,f
Замена
Замена текущего слова
,s