Вики / Базовые команды
vim (выживание в редакторе)
Минимум для правки конфигов в vim/vi — режимы, сохранить, выйти, поиск-замена.
vim/vi есть почти везде — уметь хотя бы выйти и сохранить обязательно. Ключевая
идея — режимы:
- Normal (по умолчанию) — навигация и команды;
- Insert — набор текста (вход:
i); - Visual — выделение (вход:
v); - Command — команды через
:(сохранить/выйти).
Esc всегда возвращает в Normal.
i войти в режим вставки (печатать текст)
Esc вернуться в Normal
:w сохранить
:q выйти
:wq или ZZ сохранить и выйти
:q! или ZQ выйти БЕЗ сохранения (отменить правки)
:x сохранить (только если были изменения) и выйти
:w !sudo tee % > /dev/null сохранить файл, открытый без прав (трюк)
h j k l влево/вниз/вверх/вправо ( w/b — по словам вперёд/назад )
gg / G в начало / в конец файла ( :N — к строке N )
0 / ^ / $ в начало / к 1-му непробелу / в конец строки
/текст Enter поиск вперёд (n след., N назад); ?текст — назад
dd / yy / p удалить строку / копировать / вставить
dw / cw удалить / заменить слово ( x — символ, D — до конца строки )
3dd / 5j счётчик перед командой (удалить 3 строки / вниз на 5)
v / V / Ctrl+v выделение: символ / строка / блок (далее d, y)
u / Ctrl+r отмена / повтор ( . — повторить последнюю правку )
:%s/old/new/g заменить во всём файле ( /gc — с подтверждением каждой )
:set number номера строк ( :set nonumber — убрать )
:set paste не ломать отступы при вставке мышью
:noh убрать подсветку поиска
:sp file / :vsp file разделить окно гориз./вертик. ( Ctrl+w + стрелки — переход )
ma … `a поставить метку a и прыгнуть к ней
:e! перечитать файл, отбросив правки
gg=G авто-отступ всего файла
~/.vimrc конфиг: set number / set expandtab / syntax on
Застрял, всё ломается при наборе
Ты в Normal, буквы — команды. Esc, затем :q! чтобы выйти без сохранения, и начни
аккуратно (i для ввода).
Не сохранить: «E212: Can't open file for writing»
Нет прав (открыл не под sudo). Сохрани через :w !sudo tee % > /dev/null или выйди
:q! и sudo vim file.
Вставка мышью «лесенкой» ломает отступы
:set paste перед вставкой (в Insert auto-indent добавляет лишнее), затем :set nopaste.
Случайно наделал правок
u отменяет по шагам; :q! выйдет, отбросив всё; :e! перечитает файл с диска.
Нужен редактор попроще
nano file — внизу подсказки (см. nano). Для конфигов ок.
i → печатать ; Esc → Normal
:w сохранить · :q выйти · :wq сохранить+выйти · :q! без сохранения
/текст поиск ; n след. ; :%s/a/b/gc замена с подтверждением
dd удалить ; yy копировать ; p вставить ; u отмена ; . повтор
:set number · :set paste · :noh · :sp/:vsp
См. также
- Базовые команды с файлами — Базовые команды
- Переменные окружения и PATH — Базовые команды