Created
June 3, 2014 11:52
-
-
Save h4/2aa7ff5e28e32c9a99db to your computer and use it in GitHub Desktop.
Vim cheatsheet
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Файл настройки: ~/.vimrc | |
Можно редактировать файлы через сеть, например | |
:e <scp|ftp|ftps>://user@host/path/to/the/file.txt | |
:Ex или :e ./ - файловый менеджер | |
hjkl перемещение в разные стороны | |
i режим вставки | |
I добавление в начало строки | |
a режим добавления | |
A добавление в конец строки | |
o добавить строку сразу за текущей | |
O добавить строку перед текущей | |
R писать поверх имеющегося текста | |
u, :u[ndo] отмена предыдущего действия (undo) | |
CTR-R, :red[o] отмена отмены предыдущего действия (redo) | |
dd вырезать (удалить) строку | |
cc удалить и начать редактирование | |
yy копировать строку | |
p вставить из буфера обмена | |
<n>d удалить n+1 строку | |
<n>y скопировать n+1 строку | |
ESC перейти в режим просмотра | |
DEL удалить следующий символ | |
:<n> перейти на строку #n | |
% перейти к парной скобке | |
:e <fname> редактировать файл | |
:w [fname] записать изменения | |
:wa сохранить изменения во всех файлах | |
:q выйти из редактора | |
:q! выйти из редактора, не сохраняя изменения | |
:color <name> выбор цветовой схемы. цветвые схемы: | |
/usr/local/share/vim/vim72/colors/*.vim | |
:pwd текущий каталог | |
:cd [path] перейти в другой каталог | |
:!<cmd> выполнить команду | |
CTR+p или CTR+n автоматическое дополнение текста | |
(в режиме редактирования) | |
CTR+r,=,<expr> вставить выражение, например 5*2 - 3 | |
(в режиме редактирования) | |
CTR+u, CTR+d Page Up / Page Down | |
CTR+y, CTR+e Перемотка вверх/вниз без движения курсора | |
== Подсветка синтаксиса == | |
:syntax on включить подсветку | |
:syntax off выключить подсветку (по умолчанию) | |
== Перенос строк == | |
:set wrap разрешить word wrap (по умолчанию) | |
:set nowrap запретить word wrap | |
== Печать == | |
:ha[rdcopy] распечатать документ | |
:set printoptions=duplex:off отключить двустороннюю печать | |
== Сворачивание == | |
zc свернуть блок | |
zo развернуть блок | |
zM закрыть все блоки | |
zR открыть все блоки | |
za инвертирование | |
zf см :set foldmethod=manual | |
:set foldenable включить свoрачивание | |
:set foldmethod=syntax сворачивание на основе синтаксиса | |
:set foldmethod=indent сворачивание на основе отступов | |
:set foldmethod=manual выделяем участок с помощью v и говорим zf | |
:set foldmethod=marker сворачивание на основе маркеров в тексте | |
:set foldmarker=bigin,end задаем маркеры начала и конца блока | |
== Маркеры == | |
ma установить локальный маркер a | |
mB установить глобальный маркер B | |
`c перейти к локальному маркеру c | |
`0 вернуться на позицию, на которой закончили | |
работу при закрытии vim | |
:marks просмотр маркеров | |
== Регистры == | |
"ayy скопировать строку в регистр a | |
"bdd вырезать строку и поместить в регистр b | |
"С2d вырезать три строки и дописать в конец | |
регистра C | |
:reg [name1][name2][...] просмотреть содержимое регистров | |
== Выделение == | |
v + hjkl выделение текста | |
SHIFT + v выделить строку | |
CTR + v выделение прямоугольника | |
p вставить | |
y копировать | |
d удалить | |
gu к нижнему регистру | |
gU к верхнему регистру | |
== Отступы == | |
[#]> сдвинуть выделенное вправо | |
[#]< сдвинуть выделенное влево | |
[#]>> сдвинуть строку вправо | |
[#]<< сдвинуть строку влево | |
set tabstop=# для табуляции используется # пробелов | |
set shiftwidth=# в командах отступа используется # пробелов | |
set [no]expandtab заменять ли табуляцию на соответствующее | |
число пробелов | |
== Поиск и замена в файле == | |
/<выражение> поиск выражения в файле | |
n следующее совпадение | |
N предыдущее совпадение | |
:%s/foo/bar/gi замена строк, см http://eax.me/regular-expr/ | |
== Нумерация строк == | |
:set number включить нумерацию строк | |
:set nonumber отключить нумерацию строк | |
== Работа с Tab'ами == | |
:tabnew [fname] создать tab | |
:tabs вывести список табов | |
:tabn следующий таб | |
:tabp предыдущий таб | |
<n>gt перейти на таб #n | |
gt следующий таб | |
gT предыдущий таб | |
== Работа с окнами == | |
:split горизонтальное разбиение | |
:vsplit вертикальное разбиение | |
Ctr+W, затем | |
с закрыть окно | |
= установить равный размер окон | |
hjkl или стрелочки перемещение между окнами | |
== Проверка орфографии == | |
mkdir -p ~/.vim/spell | |
cd ~/.vim/spell | |
wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.sug | |
wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.spl | |
wget http://ftp.vim.org/vim/runtime/spell/en.ascii.sug | |
wget http://ftp.vim.org/vim/runtime/spell/en.ascii.spl | |
setlocal spell spelllang=ru,en включить проверку орфографии | |
set spell! вкл/выкл проверку во время работы | |
]s следующее слово с ошибкой | |
[s предыдущее слово с ошибкой | |
zg good word | |
zw wrong word | |
zG ignore word | |
== Работа с кодировкой == | |
e ++enc=<имя кодировки> Редактирование файла в ??? кодировке | |
w ++enc=<имя кодировки> Сохранить файл в новой кодировке | |
set fileencodings=utf-8,koi8-r Список автоматически определяемых | |
кодировок в порядке убывания | |
приоритета | |
== Другое == | |
:set [no]wildmenu При авто-дополнении в командной строке над | |
ней выводятся возможные варианты | |
:set list Отображать табуляцию и переводы строк | |
q: История команд | |
. Повторение последней команды |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment