linux-labs

Вики / Базовые команды

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

См. также