📄 help.txt
字号:
|:ptjump| :ptj[ump] like ":tjump" but show tag in preview window|:pclose| :pc[lose] close tag preview window|CTRL-W_z| CTRL-W z close tag preview window------------------------------------------------------------------------------*X_sc* Scrolling|CTRL-E| N CTRL-E window N lines downwards (default: 1)|CTRL-D| N CTRL-D window N lines Downwards (default: 1/2 window)|CTRL-F| N CTRL-F window N pages Forwards (downwards)|CTRL-Y| N CTRL-Y window N lines upwards (default: 1)|CTRL-U| N CTRL-U window N lines Upwards (default: 1/2 window)|CTRL-B| N CTRL-B window N pages Backwards (upwards)|z<CR>| z<CR> or zt redraw, current line at top of window|z.| z. or zz redraw, current line at center of window|z-| z- or zb redraw, current line at bottom of windowThese only work when 'wrap' is off:|zh| N zh scroll screen N characters to the right|zl| N zl scroll screen N characters to the left|zH| N zH scroll screen half a screenwidth to the right|zL| N zL scroll screen half a screenwidth to the left------------------------------------------------------------------------------*X_in* Inserting text|a| N a append text after the cursor (N times)|A| N A append text at the end of the line (N times)|i| N i insert text before the cursor (N times) (also: <Insert>)|I| N I insert text before the first non-blank in the line (N times)|gI| N gI insert text in column 1 (N times)|o| N o open a new line below the current line, append text (N times)|O| N O open a new line above the current line, append text (N times)|:startinsert| :star[tinsert][!] start Insert mode, append when [!] usedin Visual block mode:|v_b_I| I insert the same text in front of all the selected lines|v_b_A| A append the same text after all the selected lines------------------------------------------------------------------------------*X_ai* Insert mode keys|insert-index| alphabetical index of Insert mode commandsleaving Insert mode:|i_<Esc>| <Esc> end Insert mode, back to Normal mode|i_CTRL-C| CTRL-C like <Esc>, but do not use an abbreviation|i_CTRL-O| CTRL-O {command} execute {command} and return to Insert modemoving around:|i_<Up>| cursor keys move cursor left/right/up/down|i_<S-Left>| shift-left/right one word left/right|i_<S-Up>| shift-up/down one screenful backward/forward|i_<End>| <End> cursor after last character in the line|i_<Home>| <Home> cursor to first character in the line------------------------------------------------------------------------------*X_ss* Special keys in Insert mode|i_CTRL-V| CTRL-V {char}.. insert character literally, or enter decimal byte value|i_<NL>| <NL> or <CR> or CTRL-M or CTRL-J begin new line|i_CTRL-E| CTRL-E insert the character from below the cursor|i_CTRL-Y| CTRL-Y insert the character from above the cursor|i_CTRL-A| CTRL-A insert previously inserted text|i_CTRL-@| CTRL-@ insert previously inserted text and stop Insert mode|i_CTRL-R| CTRL-R {0-9a-z%#:.-="} insert the contents of a register|i_CTRL-N| CTRL-N insert next match of identifier before the cursor|i_CTRL-P| CTRL-P insert previous match of identifier before the cursor|i_CTRL-X| CTRL-X ... complete the word before the cursor in various ways|i_<BS>| <BS> or CTRL-H delete the character before the cursor|i_<Del>| <Del> delete the character under the cursor|i_CTRL-W| CTRL-W delete word before the cursor|i_CTRL-U| CTRL-U delete all entered characters in the current line|i_CTRL-T| CTRL-T insert one shiftwidth of indent in front of the current line|i_CTRL-D| CTRL-D delete one shiftwidth of indent in front of the current line|i_0_CTRL-D| 0 CTRL-D delete all indent in the current line|i_^_CTRL-D| ^ CTRL-D delete all indent in the current line, restore indent in next line------------------------------------------------------------------------------*X_di* Digraphs|:dig| :dig[raphs] show current list of digraphs|:dig| :dig[raphs] {char1}{char2} {number} ... add digraph(s) to the listIn Insert or Command-line mode:|i_CTRL-K| CTRL-K {char1} {char2} enter digraph|i_digraph| {char1} <BS> {char2} enter digraph if 'digraph' option set------------------------------------------------------------------------------*X_si* Special inserts|:r| :r [file] insert the contents of [file] below the cursor|:r!| :r! {command} insert the standard output of {command} below the cursor------------------------------------------------------------------------------*X_de* Deleting text|x| N x delete N characters under and after the cursor|<Del>| N <Del> delete N characters under and after the cursor|X| N X delete N characters before the cursor|d| N d{motion} delete the text that is moved over with {motion}|v_d| {visual}d delete the highlighted text|dd| N dd delete N lines|D| N D delete to the end of the line (and N-1 more lines)|J| N J join N-1 lines (delete <EOL>s)|v_J| {visual}J join the highlighted lines|gJ| N gJ like "J", but without inserting spaces|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces|:d| :[range]d [x] delete [range] lines [into register x]------------------------------------------------------------------------------*X_cm* Copying and moving text|quote| "{char} use register {char} for the next delete, yank, or put|:reg| :reg show the contents of all registers|:reg| :reg {arg} show the contents of registers mentioned in {arg}|y| N y{motion} yank the text moved over with {motion} into a register|v_y| {visual}y yank the highlighted text into a register|yy| N yy yank N lines into a register|Y| N Y yank N lines into a register|p| N p put a register after the cursor position (N times)|P| N P put a register before the cursor position (N times)|]p| N ]p like p, but adjust indent to current line|[p| N [p like P, but adjust indent to current line|gp| N gp like p, but leave cursor after the new text|gP| N gP like P, but leave cursor after the new text------------------------------------------------------------------------------*X_ch* Changing text|r| N r{char} replace N characters with {char}|gr| N gr{char} replace N characters without affecting layout|R| N R enter Replace mode (repeat the entered text N times)|gR| N gR enter virtual Replace mode: Like Replace mode but without affecting layout|v_b_r| {visual}r{char} in Visual block mode: Replace each char of the selected text with {char} (change = delete text and enter Insert mode)|c| N c{motion} change the text that is moved over with {motion}|v_c| {visual}c change the highlighted text|cc| N cc change N lines|S| N S change N lines|C| N C change to the end of the line (and N-1 more lines)|s| N s change N characters|v_b_c| {visual}c in Visual block mode: Change each of the selected lines with the entered text|v_b_C| {visual}C in Visual block mode: Change each of the selected lines until end-of-line with the entered text|~| N ~ switch case for N characters and advance cursor|v_~| {visual}~ switch case for highlighted text|v_u| {visual}u make highlighted text lowercase|v_U| {visual}U make highlighted text uppercase|g~| g~{motion} switch case for the text that is moved over with {motion}|gu| gu{motion} make the text that is moved over with {motion} lowercase|gU| gU{motion} make the text that is moved over with {motion} uppercase|v_g?| {visual}g? perform rot13 encoding on highlighted text|g?| g?{motion} perform rot13 encoding on the text that is moved over with {motion}|CTRL-A| N CTRL-A add N to the number at or after the cursor|CTRL-X| N CTRL-X subtract N from the number at or after the cursor|<| N <{motion} move the lines that are moved over with {motion} one shiftwidth left|<<| N << move N lines one shiftwidth left|>| N >{motion} move the lines that are moved over with {motion} one shiftwidth right|>>| N >> move N lines one shiftwidth right|gq| N gq{motion} format the lines that are moved over with {motion} to 'textwidth' length|:ce| :[range]ce[nter] [width] center the lines in [range]|:le| :[range]le[ft] [indent] left-align the lines in [range] (with [indent])|:ri| :[range]ri[ght] [width] right-align the lines in [range]------------------------------------------------------------------------------*X_co* Complex changes|!| N !{motion}{command}<CR> filter the lines that are moved over through {command}|!!| N !!{command}<CR> filter N lines through {command}|v_!| {visual}!{command}<CR> filter the highlighted lines through {command}|:range!| :[range]! {command}<CR> filter [range] lines through {command}|=| N ={motion} filter the lines that are moved over through 'equalprg'|==| N == filter N lines through 'equalprg'|v_=| {visual}= filter the highlighted lines through 'equalprg'|:s| :[range]s[ubstitute]/{pattern}/{string}/[g][c] substitute {pattern} by {string} in [range] lines; with [g], replace all occurrences of {pattern}; with [c], confirm each replacement|:s| :[range]s[ubstitute] [g][c] repeat previous ":s" with new range and options|&| & Repeat previous ":s" on current line without options|:ret| :[range]ret[ab][!] [tabstop] set 'tabstop' to new value and adjust white space accordingly------------------------------------------------------------------------------*X_vi* Visual mode|visual-index| list of Visual mode commands.|v| v start highlighting characters } move cursor and use|V| V start highlighting linewise } operator to affect|CTRL-V| CTRL-V start highlighting blockwise } highlighted text|v_o| o exchange cursor position with start of highlighting|gv| gv start highlighting on previous visual area|v_v| v highlight characters or stop highlighting|v_V| V highlight linewise or stop highlighting|v_CTRL-V| CTRL-V highlight blockwise or stop highlighting------------------------------------------------------------------------------*X_to* Text objects (only in Visual mode or after an operator)|v_aw| N aw Select "a word"|v_iw| N iw Select "inner word"|v_aW| N aW Select "a WORD"|v_iW| N iW Select "inner WORD"|v_as| N as Select "a sentence"|v_is| N is Select "inner sentence"|v_ap| N ap Select "a paragraph"|v_ip| N ip Select "inner paragraph"|v_ab| N ab Select "a block" (from "[(" to "])")|v_ib| N ib Select "inner block" (from "[(" to "])")|v_aB| N aB Select "a Block" (from "[{" to "]}")|v_iB| N iB Select "inner Block" (from "[{" to "]}")------------------------------------------------------------------------------*X_re* Repeating commands|.| N . repeat last change (with count replaced with N)|q| q{a-z} record typed characters into register {a-z}|q| q{A-Z} record typed characters, appended to register {a-z}|q| q stop recording|@| N @{a-z} execute the contents of register {a-z} (N times)|@@| N @@ repeat previous @{a-z} (N times)|:@| :@{a-z} execute the contents of register {a-z} as an Ex command|:@@| :@@ repeat previous :@{a-z}|:g| :[range]g[lobal]/{pattern}/[cmd] Execute Ex command [cmd] (default: ":p") on the lines within [range] where {pattern} matches.|:g| :[range]g[lobal]!/{pattern}/[cmd] Execute Ex command [cmd] (default: ":p") on the lines within [range] where {pattern} does NOT match.|:so| :so[urce] {file} Read Ex commands from {file}.|:so| :so[urce]! {file} Read Vim commands from {file}.|:sl| :sl[eep] [sec] don't do anything for [sec] seconds|gs| N gs Goto Sleep for N seconds------------------------------------------------------------------------------*X_km* Key mapping|:map| :ma[p] {lhs} {rhs} Map {lhs} to {rhs} in Normal and Visual mode.|:map!| :ma[p]! {lhs} {rhs} Map {lhs} to {rhs} in Insert and Command-line mode.|:noremap| :no[remap][!] {lhs} {rhs} Same as ":map", no remapping for this {rhs}|:unmap| :unm[ap] {lhs} Remove the mapping of {lhs} for Normal and Visual mode.|:unmap!| :unm[ap]! {lhs} Remove the mapping of {lhs} for Insert and Command-line mode.|:map_l| :ma[p] [lhs] List mappings (starting with [lhs]) for Normal and Visual mode.|:map_l!| :ma[p]! [lhs] List mappings (starting with [lhs]) for Insert and Command-line mode.|:cmap| :cmap/:cunmap/:cnoremap like ":map!"/":unmap!"/":noremap!" but for Command-line mode only|:imap| :imap/:iunmap/:inoremap like ":map!"/":unmap!"/":noremap!" but for Insert mode only|:nmap| :nmap/:nunmap/:nnoremap like ":map"/":unmap"/":noremap" but for Normal mode only|:vmap| :vmap/:vunmap/:vnoremap like ":map"/":unmap"/":noremap" but for Visual mode only|:omap| :omap/:ounmap/:onoremap like ":map"/":unmap"/":noremap" but only for when an operator is pending|:mapc| :mapc[lear] remove mappings for Normal and Visual mode|:mapc| :mapc[lear]! remove mappings for Insert and Cmdline mode|:imapc| :imapc[lear] remove mappings for Insert mode|:vmapc| :vmapc[lear] remove mappings for Visual mode|:omapc| :omapc[lear] remove mappings for Operator-pending mode|:nmapc| :nmapc[lear] remove mappings for Normal mode|:cmapc| :cmapc[lear] remove mappings for Cmdline mode|:mkexrc| :mk[exrc][!] [file] write current mappings, abbreviations, and settings to [file] (default: ".exrc"; use ! to overwrite)|:mkvimrc| :mkv[imrc][!] [file] same as ":mkexrc", but with default ".vimrc"|:mksession| :mks[ession][!] [file] like ":mkvimrc", but store current files, windows, etc. too, to be able to continue this session later.------------------------------------------------------------------------------*X_ab* Abbreviations|:abbreviate| :ab[breviate] {lhs} {rhs} add abbreviation for {lhs} to {rhs}|:abbreviate| :ab[breviate] {lhs} show abbr's that start with {lhs}|:abbreviate| :ab[breviate] show all abbreviations|:unabbreviate| :una[bbreviate] {lhs} remove abbreviation for {lhs}|:noreabbrev| :norea[bbrev] [lhs] [rhs] like ":ab", but don't remap [rhs]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -