мета-данные страницы
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| soft:vim [2025/03/17 16:24] – radi0dev | soft:vim [2025/11/09 12:07] (текущий) – внешнее изменение A User Not Logged in | ||
|---|---|---|---|
| Строка 3: | Строка 3: | ||
| За основу взята [[http:// | За основу взята [[http:// | ||
| - | Vim (**vi** | + | Vim (**vi** **im**proved) — текстовый редактор, |
| - | == Быстрое перемещение по файлу == | + | ++++Так выглядила клавиатура создателя vi | |
| - | В командном режиме можно перейти в:\\ | + | {{:soft:vi-keyboard.jpg}} |
| - | `gg` - начало файла | + | ++++ |
| - | `G` - | + | |
| - | == Режим | + | ===== Теория ===== |
| - | Включается нажатием `i` в командном режиме. | + | |
| - | == Режим выделения | + | ==== vim modes ==== |
| - | нажатие `v` в командном режиме перебросит нас в режим выделения. | + | |
| - | `y` - скопировать в буфер обмена | + | |
| - | `x` - вырезать в буфер обмена | + | |
| - | В командном режиме: | + | |
| - | `p` - вставка из буфера | + | |
| - | == Поиск == | + | {{: |
| - | в командном режиме можно ввести `/ | + | |
| - | `n` - следующее вхождение | + | |
| - | `N` - предыдущее вхождение | + | |
| - | == Замена | + | ==== Буферы ==== |
| - | Для замены будет использоваться такая конструкция: | + | |
| - | `: | + | |
| - | == Редактирование нескольких | + | Буферы - это области в оперативной памяти, |
| - | Если при | + | |
| - | `:n` - переключатся на следующий открытый файл | + | ==== Регистры ==== |
| - | `:N` - переключатся на предыдущий открытый файл | + | |
| - | `:buffer` | + | Регистры - это " |
| - | `:buffer 2` - перейти к 2ому открытому | + | |
| - | + | TODO: написать о типах регистров и работе с ними. | |
| + | |||
| + | ===== Использование ===== | ||
| + | |||
| + | ==== normal mod ==== | ||
| + | |||
| + | === Переключение режимов === | ||
| + | |||
| + | * '' | ||
| + | * '':'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | === Быстрые действия === | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | === Навигация === | ||
| + | |||
| + | Внутри | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | |||
| + | По строкам: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | По отметкам: | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Прокрутка окна: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | === Поиск === | ||
| + | |||
| + | * ''/ | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ==== command mod ==== | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | === Замена === | ||
| + | |||
| + | Для замены будет использоваться такая конструкция:\\ | ||
| + | '': | ||
| + | |||
| + | ++++regex syntax| | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * ''?'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | ++++ | ||
| + | === Bash команды === | ||
| + | |||
| + | Для выполнения команд в текущем pwd прямо из vim использоваться такая конструкция:\\ | ||
| + | '': | ||
| + | |||
| + | ==== insert mod ==== | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ===== Настройка ===== | ||
| + | |||
| + | TODO: написать о опциях и vimrc | ||
| + | |||
| + | ==== Плагины ==== | ||
| + | |||
| + | Проще всего ставить плагины при помощи плагина // | ||
| + | <code bash> | ||
| + | curl -fLo ~/ | ||
| + | </ | ||
| + | |||
| + | Далее в '' | ||
| + | <code vim> | ||
| + | call plug# | ||
| + | |||
| + | " Тут список плагинов | ||
| + | " Примеры: | ||
| + | |||
| + | " Сокращенная запись для GitHub; переводится как https:// | ||
| + | Plug ' | ||
| + | |||
| + | " Любой допустимый git URL разрешен | ||
| + | Plug ' | ||
| + | |||
| + | " Используя помеченный релиз; допускается подстановочный знак (требуется git 1.9.2 или выше) | ||
| + | Plug ' | ||
| + | |||
| + | " Используя не-умолчательную ветку | ||
| + | Plug ' | ||
| + | |||
| + | " Используйте опцию ' | ||
| + | Plug ' | ||
| + | |||
| + | " Хук после обновления: | ||
| + | Plug ' | ||
| + | |||
| + | " Хук после обновления может быть лямбда-выражением | ||
| + | Plug ' | ||
| + | |||
| + | " Если плагин vim находится в подкаталоге, | ||
| + | Plug ' | ||
| + | |||
| + | " Загрузка по требованию: | ||
| + | Plug ' | ||
| + | |||
| + | " Неподдерживаемый плагин (установлен и обновлен вручную) | ||
| + | Plug ' | ||
| + | |||
| + | |||
| + | call plug#end() | ||
| + | </ | ||