Skip to content

Instantly share code, notes, and snippets.

@gladkih
Forked from A/vim-cheatsheet_ru.md
Last active August 29, 2015 14:23
Show Gist options
  • Save gladkih/50c913b68fd970f6e539 to your computer and use it in GitHub Desktop.
Save gladkih/50c913b68fd970f6e539 to your computer and use it in GitHub Desktop.

Конфиги

Сессия

:mksession ~/latest_session.vim " Сохранить
!vim -S ~/latest_session.vim " Загрузить

Навигация

Различные способы переход в режим вставки

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

Поиск по файлу

* — найти все вхождения слова под курсором и перейти к следующему
# — найти все вхождения слова под курсором и перейти к предыдущему

Поиск по проекту

:Ack StringToSearch " https://github.com/mileszs/ack.vim

Undo/Redo

:earlier 4m — переместиться на 4 минуты назад
:later 45s — переместиться на 45 секунд вперед
:w !diff % - — дифф несохраненных изменений 

разное

" Визуальный режим
v — визуальный режим
V — визуальный режим для работы со строками


d$ cuts to the end of the line
d0 cuts to the beginning
d^ cuts to first 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


" Включить подсветку синтаксиса
:setf  language

" Окна и буферы
:vsp — создать новое окно, разделив экран вертикально
:sp — создать новое окно, разделив экран горизонтально
C-w + направление — переключение между окнами
C-w + r(otate) — поменять местами окна
C-w C-w — переключаться между окнами циклически
:q — закрыть окно
:qa — закрыть все окна

" При открытии файла, он помещается в буфет — оперативную память.
" Окно — это представление буфера. 
" Показать список открытых буферов
:ls
" Переключиться на буфер
:b (# буфера)

" Включить фолдинг
:set foldmethod=indent
" тогглить фолдинг
za

" табы
:tabe(dit) .
:tabn(ew)
:tabc(lose)
:tabm(ove) [positon] 

" Status line
set laststatus=2
set statusline=
set statusline+=%-3.3n\
set statusline+=%f\
set statusline+=%h%m%r%w
set statusline+=\[%{strlen(&ft)?&ft:'none'}]
set statusline+=%=
set statusline+=0x%-8B
set statusline+=%-14(%l,%c%V%)
set statusline+=%<%P

" прочитать stdout в vim
svn diff | vim -R -

Разместите ваш курсор на имени переменной и нажмите gd для перехода к локальному определению имени переменной. gD производит то же для глобального объявления, производя поиск с начала файла.

Используйте ]] для перехода к следующему вхождению { в первом столбце. Есть много подобных перемещений - смотри :help object-motions для подробной информации.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment