Skip to content
ilu_vatar_ edited this page Nov 29, 2021 · 35 revisions

Keymap selector abbreviations

In this document, following abbreviations are used for shortness.

Abbrev Selector Description
!i :not(.insert-mode) except insert-mode
i .insert-mode
o .operator-pending-mode
n .normal-mode
v .visual-mode
vB .visual-mode.blockwise
vL .visual-mode.linewise
vC .visual-mode.characterwise
iR .insert-mode.replace
# .with-count when count is specified
% .has-persistent-selection when persistent-selection exists

operator

Keymap Command Description
select
n gc select-latest-change
n gv select-previous-selection
%!i ⌃⌘g select-persistent-selection
!i g⌘d
v.is-narrowed ⌘d
select-occurrence
v create-persistent-selection
toggle-persistent-selection
!i go toggle-preset-occurrence
!i gO toggle-preset-subword-occurrence
!i g. add-preset-occurrence-from-last-occurrence-pattern
!i d
o.delete-pending d
delete
!i x
n x
delete-right
n X delete-left
!i D
vB D
delete-to-last-character-of-line
v D delete-line
!i y yank
!i Y
v Y
yank-line
yank-to-last-character-of-line
yank-diff-hunk
!i ⌃a increase
!i ⌃x decrease
!i g⌃a increment-number
!i g⌃x decrement-number
!i P put-before
!i p put-after
put-before-with-auto-indent
put-after-with-auto-indent
add-blank-line-below
add-blank-line-above
resolve-git-conflict
n i activate-insert-mode
n R activate-replace-mode
n a insert-after
!i gI insert-at-beginning-of-line
n A insert-after-end-of-line
n I insert-at-first-character-of-line
n gi insert-at-last-insert
n O insert-above-with-newline
n o insert-below-with-newline
%n,v I insert-at-start-of-target
%n,v A insert-at-end-of-target
insert-at-head-of-target
insert-at-start-of-occurrence
insert-at-end-of-occurrence
insert-at-head-of-occurrence
insert-at-start-of-subword-occurrence
insert-at-end-of-subword-occurrence
insert-at-head-of-subword-occurrence
insert-at-start-of-smart-word
insert-at-end-of-smart-word
insert-at-previous-fold-start
insert-at-next-fold-start
!i c
o.change-pending c
change
v.is-narrowed ⌃⌘c change-occurrence
change-subword-occurrence
!i s
n s
substitute
!i S substitute-line
v C change-line
!i C
vB C
change-to-last-character-of-line
no-case
dot-case
swap-case
path-case
!i gU
o,v U
upper-case
!i gu
o,v u
lower-case
!i gC camel-case
snake-case
title-case
param-case
header-case
pascal-case
constant-case
sentence-case
upper-case-first
lower-case-first
!i g- dash-case
!i g~
!i g⌥graph
o,v
toggle-case
!i ~ toggle-case-and-move-right
!i r replace
n r replace-character
split-by-character
encode-uri-component
decode-uri-component
!i g|
!i g⌥graph |
trim-string
!i gSPC compact-spaces
align-occurrence
align-occurrence-by-pad-left
align-occurrence-by-pad-right
remove-leading-white-spaces
convert-to-soft-tab
convert-to-hard-tab
.platform-darwin !i ⌃s transform-string-by-select-list
transform-word-by-select-list
transform-smart-word-by-select-list
replace-with-register
replace-occurrence-with-register
swap-with-register
!i > indent
!i < outdent
!i = auto-indent
!i g/ toggle-line-comments
!i gq
o.reflow-pending q
reflow
!i gw
o.reflow-with-stay-pending w
reflow-with-stay
surround
surround-word
surround-smart-word
map-surround
delete-surround
delete-surround-any-pair
delete-surround-any-pair-allow-forwarding
change-surround
change-surround-any-pair
change-surround-any-pair-allow-forwarding
join-target
!i J join
!i gJ join-with-keeping-space
join-by-input
join-by-input-with-keeping-space
split-string
split-string-with-keeping-splitter
!i g, split-arguments
split-arguments-with-remove-separator
split-arguments-of-inner-any-pair
!i gr reverse
reverse-inner-any-pair
rotate
rotate-backwards
rotate-arguments-of-inner-pair
rotate-arguments-backwards-of-inner-pair
!i gs sort
sort-case-insensitively
sort-by-number
numbering-lines
duplicate-with-comment-out-original

motion

Keymap Command Description
!i h
!i
move-left
!i l
!i SPC
!i
move-right
!i k
!i
move-up
move-up-wrap
!i j
!i
move-down
move-down-wrap
!i gk move-up-screen
!i gj move-down-screen
!i [ move-up-to-edge
!i ] move-down-to-edge
!i w move-to-next-word
!i W move-to-next-whole-word
move-to-next-alphanumeric-word
move-to-next-smart-word
move-to-next-subword
!i b move-to-previous-word
!i B move-to-previous-whole-word
move-to-previous-alphanumeric-word
move-to-previous-smart-word
move-to-previous-subword
!i e move-to-end-of-word
!i E move-to-end-of-whole-word
move-to-end-of-alphanumeric-word
move-to-end-of-smart-word
move-to-end-of-subword
!i ge move-to-previous-end-of-word
!i gE move-to-previous-end-of-whole-word
!i ) move-to-next-sentence
!i ( move-to-previous-sentence
move-to-next-sentence-skip-blank-row
move-to-previous-sentence-skip-blank-row
!i } move-to-next-paragraph
!i { move-to-previous-paragraph
move-to-next-diff-hunk
move-to-previous-diff-hunk
!i 0
!i numpad0
!i home
move-to-beginning-of-line
!i | move-to-column
!i $
!i end
o A
move-to-last-character-of-line
!i g_ move-to-last-nonblank-character-of-line-and-down
!i ^
o I
move-to-first-character-of-line
!i - move-to-first-character-of-line-up
!i +
!i
move-to-first-character-of-line-down
!i _ move-to-first-character-of-line-and-down
!i g0 move-to-beginning-of-screen-line
!i g^ move-to-first-character-of-screen-line
!i g$
!i g⌥graph $
move-to-last-character-of-screen-line
!i gg move-to-first-line
!i G move-to-last-line
#!i % move-to-line-by-percent
!i H move-to-top-of-screen
!i M move-to-middle-of-screen
!i L move-to-bottom-of-screen
!i ⌃f scroll-full-screen-down
!i ⌃b scroll-full-screen-up
!i ⌃d scroll-half-screen-down
!i ⌃u scroll-half-screen-up
!i g⌃d scroll-quarter-screen-down
!i g⌃u scroll-quarter-screen-up
!i f find
!i F find-backwards
!i t till
!i T till-backwards
!i ` move-to-mark
!i ' move-to-mark-line
move-to-previous-fold-start
move-to-next-fold-start
move-to-previous-fold-start-with-same-indent
move-to-next-fold-start-with-same-indent
move-to-previous-fold-end-with-same-indent
move-to-next-fold-end-with-same-indent
move-to-previous-fold-end
move-to-next-fold-end
move-to-previous-function
move-to-next-function
move-to-previous-function-and-redraw-cursor-line-at-upper-middle
move-to-next-function-and-redraw-cursor-line-at-upper-middle
.has-occurrence!i tab move-to-next-occurrence
.has-occurrence!i tab move-to-previous-occurrence
!i % move-to-pair
!i / search
!i ? search-backwards
!i * search-current-word
!i # search-current-word-backwards

text-object

Keymap Command Description
!i gn search-match-forward
!i gN search-match-backward
o,v gv previous-selection
o,v aw a-word
o,v iw inner-word
o,v aW a-whole-word
o C
o,v iW
inner-whole-word
a-smart-word
o c inner-smart-word
o,v ad a-subword
o d
o,v id
inner-subword
o,v as a-any-pair
o,v is inner-any-pair
a-any-pair-allow-forwarding
inner-any-pair-allow-forwarding
o,v aq a-any-quote
o,v iq inner-any-quote
o,v a" a-double-quote
o,v i" inner-double-quote
o,v a' a-single-quote
o,v i' inner-single-quote
o,v a` a-back-tick
o,v i` inner-back-tick
o,v a{
o,v a⌥graph {
o,v a}
o,v a⌥graph }
o,v aB
a-curly-bracket
o,v i{
o,v i⌥graph {
o,v i}
o,v i⌥graph }
o,v iB
inner-curly-bracket
a-curly-bracket-allow-forwarding
inner-curly-bracket-allow-forwarding
o,v a[
o,v a⌥graph [
o,v a]
o,v a⌥graph ]
a-square-bracket
o,v i[
o,v i⌥graph [
o,v i]
o,v i⌥graph ]
inner-square-bracket
a-square-bracket-allow-forwarding
inner-square-bracket-allow-forwarding
o,v a(
o,v a)
o,v ab
a-parenthesis
o,v i(
o,v i)
o,v ib
inner-parenthesis
a-parenthesis-allow-forwarding
inner-parenthesis-allow-forwarding
o,v a<
o,v a>
a-angle-bracket
o,v i<
o,v i>
inner-angle-bracket
a-angle-bracket-allow-forwarding
inner-angle-bracket-allow-forwarding
o,v at a-tag
o,v it inner-tag
o,v ap a-paragraph
o p
o.has-occurrence p
o.has-occurrence P
o,v ip
inner-paragraph
o,v ai a-indentation
o,v ii inner-indentation
o,v a/ a-comment
o,v i/ inner-comment
o,v a* a-block-comment
o,v i* inner-block-comment
a-comment-or-paragraph
inner-comment-or-paragraph
o z
o.has-occurrence z
o,v az
a-fold
o,v iz inner-fold
o.has-occurrence f
o.has-occurrence F
o,v af
a-function
o,v if inner-function
o,v a, a-arguments
o ,
o,v i,
inner-arguments
o,v al a-current-line
o.has-occurrence l
o,v il
inner-current-line
o,v ae a-entire
.platform-win32,o ⌃a
.platform-linux,o ⌃a
o,v ie
o,v ⌘a
inner-entire
o,v ac a-latest-change
o,v ic inner-latest-change
o.has-occurrence r
o,v ar
a-persistent-selection
o,v ir inner-persistent-selection
o,v av a-visible-area
o,v iv inner-visible-area
a-diff-hunk
inner-diff-hunk

misc-command

Keymap Command Description
!i m mark
v o
vB O
reverse-selections
vB o blockwise-other-end
n u undo
n ⌃r redo
!i!o zc fold-current-row
!i!o zo unfold-current-row
!i!o za toggle-fold
!i!o zC fold-current-row-recursively
!i!o zO unfold-current-row-recursively
!i!o zA toggle-fold-recursively
!i!o zR unfold-all
!i!o zM fold-all
!i!o zr unfold-next-indent-level
!i!o zm fold-next-indent-level
!i ⌃e mini-scroll-down
!i ⌃y mini-scroll-up
!i!o zt redraw-cursor-line-at-top
!i!o z⏎ redraw-cursor-line-at-top-and-move-to-first-character-of-line
!i!o zu redraw-cursor-line-at-upper-middle
!i!o zSPC redraw-cursor-line-at-upper-middle-and-move-to-first-character-of-line
!i!o zz redraw-cursor-line-at-middle
!i!o z. redraw-cursor-line-at-middle-and-move-to-first-character-of-line
!i!o zb redraw-cursor-line-at-bottom
!i!o z- redraw-cursor-line-at-bottom-and-move-to-first-character-of-line
!i!o zs scroll-cursor-to-left
!i!o ze scroll-cursor-to-right
i ⌃o activate-normal-mode-once
toggle-replace-mode
i ⌃r insert-register
insert-last-inserted
i ⌃y copy-from-line-above
copy-from-line-below
!i gt next-tab
!i gT previous-tab