:h[elp] keyword
- открыть помощь для keyword:sav[eas] file
- сохранить как file:clo[se]
- закрыть текущую панель:ter[minal]
- open a terminal windowK
- открыть справочное руководство для слова под курсоромTip Run vimtutor in a terminal to learn the first Vim commands.
h
- передвинуть курсор влевоj
- передвинуть курсор внизk
- передвинуть курсор вверхl
- передвинуть курсор вправоH
- переместиться к началу экранаM
- переместиться к середине экранаL
- переместиться к концу экранаw
- переместиться вперед на начало словаW
- переместиться вперед на начало слова (слово может содержать пунктуацию)e
- переместиться вперед на конец словаE
- переместиться вперед на конец слова (слово может содержать пунктуацию)b
- переместиться назад на начало словаB
- переместиться назад на начало слова (слово может содержать пунктуацию)ge
- jump backwards to the end of a wordgE
- jump backwards to the end of a word (words can contain punctuation)%
- move to matching character (default supported pairs: '()
', '{}
', '[]
' - use :h matchpairs
in vim for more info)0
- переместиться на начало строки^
- переместиться на первый непробельный символ строки$
- переместиться на конец строкиg_
- переместиться к последнему непустому символу в строкеgg
- переместиться на первую строку документаG
- переместиться на последнюю строку документа5gg
or 5G
- переместить на пятую строкуgd
- move to local declarationgD
- move to global declarationfx
- переместиться к следующему вхождению символа xtx
- переместиться перед следующим вхождением символа xFx
- jump to previous occurence of character xTx
- jump to after previous occurence of character x;
- repeat previous f
, t
, F
or T
movement,
- repeat previous f
, t
, F
or T
movement, backwards}
- переместиться к следующему параграфу (или функции/блоку при редактировании кода){
- переместиться к предыдущему параграфу (или функции/блоку при редактировании кода)zz
- center cursor on screenCtrl + e
- move screen down one line (without moving cursor)Ctrl + y
- move screen up one line (without moving cursor)Ctrl + b
- переместиться назад на целый экранCtrl + f
- переместиться вперед на целый экранCtrl + d
- переместиться вперед на половину экранаCtrl + u
- переместиться назад на половину экранаTip Добавьте число перед командой перемещения курсора для того, чтобы повторить её. Например, 4j
перемещает курсор на 4 строки вниз.
i
- вставка перед курсоромI
- вставка в начало строкиa
- вставка (добавление) после курсораA
- вставка (добавление) в конец строкиo
- добавление новой строки под текущейO
- добавление новой строки над текущейea
- вставка (добавление) после конца словаCtrl + h
- delete the character before the cursor during insert modeCtrl + w
- delete word before the cursor during insert modeCtrl + j
- begin new line during insert modeCtrl + t
- indent (move right) line one shiftwidth during insert modeCtrl + d
- de-indent (move left) line one shiftwidth during insert modeCtrl + n
- insert (auto-complete) next match before the cursor during insert modeCtrl + p
- insert (auto-complete) previous match before the cursor during insert modeCtrl + rx
- insert the contents of register xCtrl + ox
- Temporarily enter normal mode to issue one normal-mode command x.Esc
- выход из режима вставкиr
- заменить один символR
- replace more than one character, until ESC is pressed.J
- присоединить нижнюю строку к текущейgJ
- join line below to the current one without space in betweengwip
- reflow paragraphg~
- switch case up to motiongu
- change to lowercase up to motiongU
- change to uppercase up to motioncc
- заменить всю строкуC
- change (replace) to the end of the linec$
- заменить до конца строкиciw
- change (replace) entire wordcw
or ce
- заменить до конца словаs
- удалить символ и заменить текстS
- удалить строку и заменить текст (то же что cc)xp
- переставить две буквы (удалить и вставить)u
- отменитьU
- restore (undo) last changed lineCtrl + r
- повторить.
- повторить последнюю командуv
- включить режим выделения текста, выделить строки, затем выполнить команду (например, y-копирование)V
- включить построчный режим выделенияo
- переместиться на другой конец выделенной областиCtrl + v
- включить режим выделения блоковO
- переместить на другой угол блокаaw
- выделить словоab
- блок в ()aB
- блок в {}at
- a block with <> tagsib
- внутренний блок в ()iB
- внутренний блок в {}it
- inner block with <> tagsEsc
- выйти из режима выделения текстаTip Instead of b or B one can also use ( or { respectively.
>
- сместить текст вправо<
- сместить текст влевоy
- скопировать выделенный текстd
- удалить выделенный текст~
- переключить регистрu
- change marked text to lowercaseU
- change marked text to uppercase:reg[isters]
- показать содержимое регистров"xy
- поместить содержимое в регистр x"xp
- вставить содержимое регистра x"+y
- yank into the system clipboard register"+p
- paste from the system clipboard registerTip Содержимое регистров сохраняется в ~/.viminfo, и будет восстановлено при следующем запуске vim.
Tip Special registers: 0 - last yank
"
- unnamed register, last delete or yank
%
- current file name
#
- alternate file name
*
- clipboard contents (X11 primary)
+
- clipboard contents (X11 clipboard)
/
- last search pattern
:
- last command-line
.
- last inserted text
-
- last small (less than a line) delete
=
- expression register
_
- black hole register
:marks
- список метокma
- установить метку A на текущей позиции`a
- переместиться к метке Ay`a
- скопировать до метки A`0
- go to the position where Vim was previously exited`"
- go to the position when last editing this file`.
- go to the position of the last change in this file``
- go to the position before the last jump:ju[mps]
- list of jumpsCtrl + i
- go to newer position in jump listCtrl + o
- go to older position in jump list:changes
- list of changesg,
- go to newer position in change listg;
- go to older position in change listCtrl + ]
- jump to the tag under cursorTip To jump to a mark you can either use a backtick (`) or an apostrophe ('). Using an apostrophe jumps to the beginning (first non-blank) of the line holding the mark.
qa
- записать макрос Aq
- остановить запись макроса@a
- run macro a@@
- выполнить последний макросyy
- скопировать строку2yy
- скопировать 2 строкиyw
- скопировать словоyiw
- скопировать слово под курсоромyaw
- скопировать слово под курсором и пространство перед или после негоy$
- скопировать до конца строкиp
- вставить буфер обмена после курсораP
- вставить буфер обмена перед курсоромdd
- удалить (вырезать) строку2dd
- удалить (вырезать) 2 строкиdw
- удалить (вырезать) словоdiw
- удалить (вырезать) слово под курсоромdaw
- удалить (вырезать) слово под курсором и пространство перед или после негоD
- удалить (вырезать) до конца строкиd$
- удалить (вырезать) до конца строкиx
- удалить (вырезать) символ>>
- indent (move right) line one shiftwidth<<
- de-indent (move left) line one shiftwidth>%
- indent a block with () or {} (cursor on brace)>ib
- indent inner block with ()>at
- indent a block with <> tags3==
- re-indent 3 lines=%
- re-indent a block with () or {} (cursor on brace)=iB
- re-indent inner block with {}gg=G
- re-indent entire buffer]p
- paste and adjust indent to current line:w
- сохранить файл, но не выходить:w !sudo tee %
- сохранить файл с sudo:wq
or :x or ZZ
- сохранить файл и выйти:q
- выйти (терпит неудачу в случае несохраненных изменений):q!
or ZQ
- выйти и потерять несохраненные изменения:wqa
- write (save) and quit on all tabs/pattern
- поиск шаблона?pattern
- обратный поиск шаблона\vpattern
- 'very magic' режим: все не алфавитно-цифровые символы интерпретируются как специальные (экранирование не требуется)n
- повторить поиск в том же направленииN
- повторить поиск в обратном направлении:%s/old/new/g
- заменить все вхождения шаблона в файл на указанное значение:%s/old/new/gc
- заменить все вхождения шаблона в файл на указанное значение с подтверждением:noh[lsearch]
- отключить подсвечивание результатов поиска:vim[grep] /pattern/ {`{file}`}
- поиск по шаблону в нескольких файлахe.g. :vim[grep] /foo/ **/*
:cn[ext]
- переместиться к следующему совпадению:cp[revious]
- переместиться к предыдущему совпадению:cope[n]
- открыть окно со списком результатов:ccl[ose]
- close the quickfix window:tabnew
or :tabnew {page.words.file}
- открыть файл в новой вкладкеCtrl + wT
- переместить текущее окно в собственную вкладкуgt
or :tabn[ext]
- переключиться на следующую вкладкуgT
or :tabp[revious]
- переключиться на предыдущую вкладку#gt
- переключить на вкладку номер #:tabm[ove] #
- переместить текущую вкладку на # позицию (нумерация с 0):tabc[lose]
- закрыть текущую вкладку и все её окна:tabo[nly]
- закрыть все вкладки кроме текущей:tabdo command
- выполнить command
на всех вкладках (к примеру :tabdo q
- закрывает все открытые вкладки):e[dit] file
- редактировать файл в новом буфере:bn[ext]
- перейти к следующему буферу:bp[revious]
- перейти к предыдущему буферу:bd[elete]
- удалить буфер (закрыть файл):b[uffer]#
- go to a buffer by #:b[uffer] file
- go to a buffer by file:ls
or :buffers
- список всех открытых буферов:sp[lit] file
- открыть файл в новом буфере и разделить окно:vs[plit] file
- открыть файл в новом буфере и вертикально разделить окно:vert[ical] ba[ll]
- edit all buffers as vertical windows:tab ba[ll]
- edit all buffers as tabsCtrl + ws
- разделить окноCtrl + wv
- разделить окно вертикальноCtrl + ww
- переключение оконCtrl + wq
- закрыть окноCtrl + wx
- exchange current window with next oneCtrl + w=
- make all windows equal height & widthCtrl + wh
- переместить курсор в левое окно (вертикально разделение)Ctrl + wl
- переместить курсор в правое окно (вертикальное разделение)Ctrl + wj
- переместить курсор в окно ниже (горизонтальное разделение)Ctrl + wk
- переместить курсор в окно выше (горизонтальное разделение)Ctrl + wH
- make current window full height at far left (leftmost vertical window)Ctrl + wL
- make current window full height at far right (rightmost vertical window)Ctrl + wJ
- make current window full width at the very bottom (bottommost horizontal window)Ctrl + wK
- make current window full width at the very top (topmost horizontal window)zf
- manually define a fold up to motionzd
- delete fold under the cursorza
- toggle fold under the cursorzo
- open fold under the cursorzc
- close fold under the cursorzr
- reduce (open) all folds by one levelzm
- fold more (close) all folds by one levelzi
- toggle folding functionality]c
- jump to start of next change[c
- jump to start of previous changedo
or :diffg[et]
- obtain (get) difference (from other buffer)dp
or :diffpu[t]
- put difference (to other buffer):diffthis
- make current window part of diff:dif[fupdate]
- update differences:diffo[ff]
- switch off diff mode for current window