Vimi: различия между версиями
Vovan (обсуждение | вклад) (→Изменить размеры текущего сплита) |
Vovan (обсуждение | вклад) (→Пролистывание) |
||
| (не показано 5 промежуточных версий этого же участника) | |||
| Строка 5: | Строка 5: | ||
=Первые шаги= | =Первые шаги= | ||
| − | ==Запуск, | + | ==Сплиты, табы, буферы== |
| + | |||
| + | ===Буфер (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. | ||
| + | |||
| + | |||
| + | ==Запуск, работа со сплитами== | ||
===Запуск=== | ===Запуск=== | ||
| Строка 111: | Строка 221: | ||
J | J | ||
</pre> | </pre> | ||
| + | |||
| + | |||
| + | ==Пролистывание== | ||
| + | |||
| + | {| class="wikitable" | ||
| + | ! Действие !! Клавиши | ||
| + | |- | ||
| + | | Страница вниз || Ctrl + f | ||
| + | |- | ||
| + | | Страница вверх || Ctrl + b | ||
| + | |- | ||
| + | | Полстраницы вниз || Ctrl + d | ||
| + | |- | ||
| + | | Полстраницы вверх || Ctrl + u | ||
| + | |- | ||
| + | | На 1 строку вниз (без сдвига курсора) || Ctrl + e | ||
| + | |- | ||
| + | | На 1 строку вверх (без сдвига курсора) || Ctrl + y | ||
| + | |- | ||
| + | | В начало файла || gg | ||
| + | |- | ||
| + | | В конец файла || G | ||
| + | |- | ||
| + | | Перейти к строке N || :N | ||
| + | |} | ||
| + | |||
| + | |||
| + | ==Выделение текста== | ||
| + | |||
| + | {| class="wikitable" | ||
| + | ! Действие !! Клавиши | ||
| + | |- | ||
| + | | Выделение по символам || v | ||
| + | |- | ||
| + | | Выделение по строкам || V | ||
| + | |- | ||
| + | | Прямоугольное выделение || Ctrl + v | ||
| + | |- | ||
| + | | Выделить слово || viw / vaw | ||
| + | |- | ||
| + | | Выделить строку || V | ||
| + | |- | ||
| + | | Выделить абзац || vip / vap | ||
| + | |- | ||
| + | | Выделить всё || ggVG | ||
| + | |- | ||
| + | | Копировать || y | ||
| + | |- | ||
| + | | Вырезать || d | ||
| + | |- | ||
| + | | Заменить || c | ||
| + | |- | ||
| + | | Форматировать || = | ||
| + | |} | ||
| + | |||
| + | ==Поиск== | ||
| + | |||
| + | Поиск вперёд по слову, на котором стоит курсор | ||
| + | |||
| + | * | ||
| + | |||
| + | Поиск назад по слову, на котором стоит курсор | ||
| + | |||
| + | # | ||
| + | |||
| + | Или | ||
| + | |||
| + | ,f | ||
| + | |||
| + | ===Замена=== | ||
| + | |||
| + | Замена текущего слова | ||
| + | |||
| + | ,s | ||
Текущая версия на 10:28, 6 января 2026
Содержание
- 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