• :h[elp] keyword
- открыть помощь для keyword
• :sav[eas] file
- сохранить как file
• :clo[se]
- закрыть текущую панель
• :ter[minal]
- open a terminal window
• K
- открыть справочное руководство для слова под курсором
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 word
◇ gE
- 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 declaration
◇ gD
- move to global declaration
◇ fx
- переместиться к следующему вхождению символа x
◇ tx
- переместиться перед следующим вхождением символа x
◇ Fx
- jump to previous occurence of character x
◇ Tx
- 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 screen
◇ Ctrl + 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 mode
◇ Ctrl + w
- delete word before the cursor during insert mode
◇ Ctrl + j
- begin new line during insert mode
◇ Ctrl + t
- indent (move right) line one shiftwidth during insert mode
◇ Ctrl + d
- de-indent (move left) line one shiftwidth during insert mode
◇ Ctrl + n
- insert (auto-complete) next match before the cursor during insert mode
◇ Ctrl + p
- insert (auto-complete) previous match before the cursor during insert mode
◇ Ctrl + rx
- insert the contents of register x
◇ Ctrl + ox
- Temporarily enter normal mode to issue one normal-mode command x.
◇ Esc
- выход из режима вставки
◇ r
- заменить один символ
◇
- replace more than one character, until ESC is pressed.R
◇ J
- присоединить нижнюю строку к текущей
◇ gJ
- join line below to the current one without space in between
◇ gwip
- reflow paragraph
◇ g~
- switch case up to motion
◇ gu
- change to lowercase up to motion
◇ gU
- change to uppercase up to motion
◇ cc
- заменить всю строку
◇ C
- change (replace) to the end of the line
◇ c$
- заменить до конца строки
◇ ciw
- change (replace) entire word
◇ cw
or ce
- заменить до конца слова
◇ s
- удалить символ и заменить текст
◇ S
- удалить строку и заменить текст (то же что cc)
◇ xp
- переставить две буквы (удалить и вставить)
◇ u
- отменить
◇ U
- restore (undo) last changed line
◇ Ctrl + r
- повторить
◇ .
- повторить последнюю команду
◇ v
- включить режим выделения текста, выделить строки, затем выполнить команду (например, y-копирование)
◇ V
- включить построчный режим выделения
◇ o
- переместиться на другой конец выделенной области
◇ Ctrl + v
- включить режим выделения блоков
◇ O
- переместить на другой угол блока
◇ aw
- выделить слово
◇ ab
- блок в ()
◇ aB
- блок в {}
◇ at
- a block with <> tags
◇ ib
- внутренний блок в ()
◇ iB
- внутренний блок в {}
◇ it
- inner block with <> tags
◇ Esc
- выйти из режима выделения текста
Tip Instead of b or B one can also use ( or { respectively.
◇ >
- сместить текст вправо
◇ <
- сместить текст влево
◇ y
- скопировать выделенный текст
◇ d
- удалить выделенный текст
◇ ~
- переключить регистр
◇ u
- change marked text to lowercase
◇ U
- change marked text to uppercase
◇ :reg[isters]
- показать содержимое регистров
◇ "xy
- поместить содержимое в регистр x
◇ "xp
- вставить содержимое регистра x
◇ "+y
- yank into the system clipboard register
◇ "+p
- paste from the system clipboard register
Tip Содержимое регистров сохраняется в ~/.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
- переместиться к метке A
◇ y`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 jumps
◇ Ctrl + i
- go to newer position in jump list
◇ Ctrl + o
- go to older position in jump list
◇ :changes
- list of changes
◇ g,
- go to newer position in change list
◇ g;
- go to older position in change list
◇ Ctrl + ]
- jump to the tag under cursor
Tip 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
- записать макрос A
◇ q
- остановить запись макроса
◇ @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 <> tags
◇ 3==
- 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 tabs
◇ Ctrl + ws
- разделить окно
◇ Ctrl + wv
- разделить окно вертикально
◇ Ctrl + ww
- переключение окон
◇ Ctrl + wq
- закрыть окно
◇ Ctrl + wx
- exchange current window with next one
◇ Ctrl + w=
- make all windows equal height & width
◇ Ctrl + 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 motion
◇ zd
- delete fold under the cursor
◇ za
- toggle fold under the cursor
◇ zo
- open fold under the cursor
◇ zc
- close fold under the cursor
◇ zr
- reduce (open) all folds by one level
◇ zm
- fold more (close) all folds by one level
◇ zi
- toggle folding functionality
◇ ]c
- jump to start of next change
◇ [c
- jump to start of previous change
◇ do
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