You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
i" вставить текст до курсора
I" вставить текст с начала строкиa" добавить текст после курсора
A" добавить текст с конца строкиs" заменить символS" заменить всю строкуo" добавить строку после
O" добавить строку передr" заменить символ
R" заменить последовательность символов
C" удалить текст после курсора, и перейти с решиж редактирования
Перемещения
[n]h" ←
[n]j" ↓
[n]k" ↑
[n]l" →
^" переход в начало строки$" переход в конец строки
[n]w" к началу следующего слова
[n]e" к концу следующего слова
[n]b" к предыдущему слову
[n](" к предыдущему предложению
[n])" к следующему предложению
[n]{" к предыдущему абзацу
[n]}" к следующему абзацу<c-b>" перемещение на один экран назад ('b'ackward)<c-f>" перемещение на один экран вперед ('f'orward)
Поиск
По строке
f{char} перейти на ближайшую букву :char в строке
t{char} поставить курсор _перед_ ближайшей :char
Поиск по файлу
* — найти все вхождения слова под курсором и перейти к следующему
# — найти все вхождения слова под курсором и перейти к предыдущему
:earlier4m — переместиться на 4 минуты назад
:later45s — переместиться на 45 секунд вперед
:w!diff%- — дифф несохраненных изменений
разное
" Визуальный режимv — визуальный режим
V — визуальный режим для работы со строками
d$ cuts to the end of the line
d0 cuts to the beginning
d^ cuts tofirst non-whitespace character
#### Редактирование
:e[dit] {file}
:cd {dir}" Сменить текущей `cwd`
:pwd" узнать wd" Поиск по проекту" :vim 'Новый список' **/*.haml | cw" Установить ack.vim https://github.com/mileszs/ack.vim
:Ack StringToSearch
" Поиск по файлу* — найти все вхождения слова под курсором и перейти к следующему
# — найти все вхождения слова под курсором и перейти к предыдущему
" Поиск и замена по границе (", пробел и тд)ci{символ границы}
" Текстовые объекты
{Действие}{Область}{Объект}
" Действиеc — заменить
y — скопировать
d — удалить
" Областьi — внутри объекта
a — включая объект
" Объектw — слово
t — тег
} — абзац
" — текст в кавычках..." Быстрая установка плагинов" .vimrc:
Bundle 'author/repo'" vim:
:so~/.vimrc
:BundleInstall
" Очистка Bundles/ от удаленных плагинов
:BundleClean
" Включить подсветку синтаксиса
:setflanguage" Окна и буферы
:vsp — создать новое окно, разделив экран вертикально
:sp — создать новое окно, разделив экран горизонтально
C-w+ направление — переключение между окнами
C-w+r(otate) — поменять местами окна
C-w C-w — переключаться между окнами циклически
:q — закрыть окно
:qa — закрыть все окна
" При открытии файла, он помещается в буфет — оперативную память." Окно — это представление буфера. " Показать список открытых буферов
:ls" Переключиться на буфер
:b (# буфера)
" Включить фолдинг
:setfoldmethod=indent" тогглить фолдингza" табы:tabe(dit) .
:tabn(ew)
:tabc(lose)
:tabm(ove) [positon]
" Status linesetlaststatus=2setstatusline=setstatusline+=%-3.3n\setstatusline+=%f\setstatusline+=%h%m%r%wsetstatusline+=\[%{strlen(&ft)?&ft:'none'}]
setstatusline+=%=setstatusline+=0x%-8B
setstatusline+=%-14(%l,%c%V%)
setstatusline+=%<%P" прочитать stdout в vim
svn diff | vim-R -
Разместите ваш курсор на имени переменной и нажмите gd для перехода к локальному определению имени переменной. gD производит то же для глобального объявления, производя поиск с начала файла.
Используйте ]] для перехода к следующему вхождению { в первом столбце. Есть много подобных перемещений - смотри :help object-motions для подробной информации.