Skip to content
t9md edited this page Aug 4, 2017 · 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 is exists

Operator

Keymap Command Description
n gc select-latest-change Select latest yanked or changed range
n gv select-previous-selection
%!i ⌃⌘g select-persistent-selection Select persistent-selection and clear all persistent-selection, it's like convert to real-selection
!i g⌘d
v.is-narrowed ⌘d
select-occurrence Add selection onto each matching word within target range
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
n D
vB D
delete-to-last-character-of-line
!i D delete-line
!i y yank
!i Y yank-line
yank-to-last-character-of-line
!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
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-start-of-occurrence
insert-at-end-of-occurrence
insert-at-start-of-subword-occurrence
insert-at-end-of-subword-occurrence
insert-at-start-of-smart-word
insert-at-end-of-smart-word
insert-at-previous-fold-start Move to previous fold start then enter insert-mode
insert-at-next-fold-start Move to next fold start then enter insert-mode
!i c
o.change-pending c
change
v.is-narrowed ⌃⌘c change-occurrence Change all matching word within target range
!i s
n s
substitute
!i S substitute-line
vC C change-line
!i C change-to-last-character-of-line
!i g~
o,v ~
toggle-case Hello World -> hELLO wORLD
!i ~ toggle-case-and-move-right Hello World -> hELLO wORLD
!i gU
o,v U
upper-case Hello World -> HELLO WORLD
!i gu
o,v u
lower-case Hello World -> hello world
!i r replace
n r replace-character
split-by-character
!i gC camel-case hello-world -> helloWorld
snake-case HelloWorld -> hello_world
pascal-case hello_world -> HelloWorld
!i g- dash-case HelloWorld -> hello-world
title-case HelloWorld -> Hello World
encode-uri-component Hello World -> Hello%20World
decode-uri-component Hello%20World -> Hello World
!i g| trim-string hello -> hello
!i gSPC compact-spaces a b c -> a b c
remove-leading-white-spaces a b c -> a b c
convert-to-soft-tab
convert-to-hard-tab
.platform-darwin !i ⌃s transform-string-by-select-list Interactively choose string transformation operator from select-list
transform-word-by-select-list Interactively choose string transformation operator from select-list
transform-smart-word-by-select-list Transform InnerSmartWord by transform-string-by-select-list
replace-with-register Replace target with specified register value
swap-with-register Swap register value with target
!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 target by specified character like (, [, "
surround-word Surround word
surround-smart-word Surround smart-word
map-surround Surround each word(/w+/) within target
delete-surround Delete specified surround character like (, [, "
delete-surround-any-pair Delete surround character by auto-detect paired char from cursor enclosed pair
delete-surround-any-pair-allow-forwarding Delete surround character by auto-detect paired char from cursor enclosed pair and forwarding pair within same line
change-surround Change surround character, specify both from and to pair char
change-surround-any-pair Change surround character, from char is auto-detected
change-surround-any-pair-allow-forwarding Change surround character, from char is auto-detected from enclosed and forwarding area
!i J join
!i gJ join-with-keeping-space
join-by-input Transform multi-line to single-line by with specified separator character
join-by-input-with-keeping-space Join lines without padding space between each line
split-string Split single-line into multi-line by splitting specified separator chars
split-string-with-keeping-splitter Split single-line into multi-line by splitting specified separator chars
!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 alphabetically
sort-case-insensitively Sort alphabetically with case insensitively
sort-by-number Sort numerically

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 Move cursor up to edge char at same-column
!i ] move-down-to-edge Move cursor down to edge char at same-column
!i w move-to-next-word
!i b move-to-previous-word
!i e move-to-end-of-word
!i ge move-to-previous-end-of-word
!i W move-to-next-whole-word
!i B move-to-previous-whole-word
!i E move-to-end-of-whole-word
!i gE move-to-previous-end-of-whole-word
move-to-next-alphanumeric-word Move to next alphanumeric(/w+/) word
move-to-previous-alphanumeric-word Move to previous alphanumeric(/w+/) word
move-to-end-of-alphanumeric-word Move to end of alphanumeric(/w+/) word
move-to-next-smart-word Move to next smart word (/[w-]+/) word
move-to-previous-smart-word Move to previous smart word (/[w-]+/) word
move-to-end-of-smart-word Move to end of smart word (/[w-]+/) word
move-to-next-subword
move-to-previous-subword
move-to-end-of-subword
!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
!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 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 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 previous fold start
move-to-next-fold-start Move to next fold start
move-to-previous-fold-start-with-same-indent Move to previous same-indented fold start
move-to-next-fold-start-with-same-indent Move to next same-indented fold start
move-to-previous-fold-end Move to previous fold end
move-to-next-fold-end Move to next fold end
move-to-previous-function Move to previous function
move-to-next-function Move to next function
move-to-previous-string Move to previous string(searched by string.begin scope)
move-to-next-string Move to next string(searched by string.begin scope)
move-to-previous-number Move to previous number(searched by constant.numeric scope)
move-to-next-number Move to next number(searched by constant.numeric scope)
.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

TextObject

Keymap Command Description
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}
o,v aB
a-curly-bracket
o,v i{
o,v i}
o,v iB
inner-curly-bracket
a-curly-bracket-allow-forwarding
inner-curly-bracket-allow-forwarding
o,v a[
o,v a]
a-square-bracket
o,v i[
o,v i]
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
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
o,v ie
o,v ⌘a
inner-entire
o,v ac a-latest-change
o,v ic inner-latest-change
!i gn search-match-forward
!i gN search-match-backward
o,v gv previous-selection
o.has-occurrence r
o,v ar
a-persistent-selection
o,v ir inner-persistent-selection
o,v av a-visible-area
o.has-occurrence v
o,v iv
inner-visible-area

MiscCommand

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
iR ⌃h
iR BS
replace-mode-backspace
!i ⌃e scroll-down
!i ⌃y scroll-up
!i!o z⏎ scroll-cursor-to-top
!i!o zt scroll-cursor-to-top-leave
!i!o z- scroll-cursor-to-bottom
!i!o zb scroll-cursor-to-bottom-leave
!i!o z. scroll-cursor-to-middle
!i!o zz scroll-cursor-to-middle-leave
!i!o zs scroll-cursor-to-left
!i!o ze scroll-cursor-to-right
i ⌃o activate-normal-mode-once
i ⌃r insert-register
insert-last-inserted Insert text inserted in latest insert-mode.
Equivalent to i_CTRL-A of pure Vim
i ⌃y copy-from-line-above Insert character of same-column of above line.
Equivalent to i_CTRL-Y of pure Vim
copy-from-line-below Insert character of same-column of above line.
Equivalent to i_CTRL-E of pure Vim
!i gt next-tab
!i gT previous-tab
Clone this wiki locally