add part of missing sections in vim quickref

This commit is contained in:
rebornix 2016-08-15 13:16:14 +08:00
parent e191a6e129
commit 24dd537c5e

View File

@ -105,6 +105,44 @@ Status | Command | Description
:arrow_down: | :1234: [* | N times back to start of a C comment "/*" :arrow_down: | :1234: [* | N times back to start of a C comment "/*"
:arrow_down: | :1234: ]* | N times forward to end of a C comment "*/" :arrow_down: | :1234: ]* | N times forward to end of a C comment "*/"
## Pattern searches
Status | Command | Description
---|--------|------------------------------
:warning: | :1234: /{pattern}[/[offset]]<CR> | search forward for the Nth occurrence of {pattern}
:warning: | :1234: ?{pattern}[?[offset]]<CR> | search backward for the Nth occurrence of {pattern}
| :1234: /<CR> | repeat last search, in the forward direction
| :1234: ?<CR> | repeat last search, in the backward direction
:warning: | :1234: n | repeat last search
:warning: | :1234: N | repeat last search, in opposite direction
:white_check_mark: | :1234: * | search forward for the identifier under the cursor
:white_check_mark: | :1234: # | search backward for the identifier under the cursor
| :1234: g* | like "*", but also find partial matches
| :1234: g# | like "#", but also find partial matches
:white_check_mark: | gd | goto local declaration of identifier under the cursor
| gD | goto global declaration of identifier under the cursor
## Marks and motions
Status | Command | Description
---|--------|------------------------------
:white_check_mark: | m{a-zA-Z} | mark current position with mark {a-zA-Z}
| `{a-z} | go to mark {a-z} within current file
| `{A-Z} | go to mark {A-Z} in any file
| `{0-9} | go to the position where Vim was previously exited
| `` | go to the position before the last jump
| `" | go to the position when last editing this file
| `[ | go to the start of the previously operated or put text
| `] | go to the end of the previously operated or put text
| `< | go to the start of the (previous) Visual area
| `> | go to the end of the (previous) Visual area
| `. | go to the position of the last change in this file
| '{a-zA-Z0-9[]'"<>.} | same as `, but on the first non-blank in the line
| :marks | print the active marks
| :1234: CTRL-O | go to Nth older position in jump list
| :1234: CTRL-I | go to Nth newer position in jump list
| :ju[mps] | print the jump list
## Various motions ## Various motions
Status | Command | Description Status | Command | Description
@ -116,6 +154,44 @@ Status | Command | Description
|:1234: go | go to Nth byte in the buffer |:1234: go | go to Nth byte in the buffer
|:[range]go[to] [off] | go to [off] byte in the buffer |:[range]go[to] [off] | go to [off] byte in the buffer
## Using tags
Status | Command | Description
---|--------|------------------------------
| :ta[g][!] {tag} | jump to tag {tag}
| :[count]ta[g][!] | jump to [count]'th newer tag in tag list
| CTRL-] | jump to the tag under cursor, unless changes have been made
| :ts[elect][!] [tag] | list matching tags and select one to jump to
| :tj[ump][!] [tag] | jump to tag [tag] or select from list when there are multiple matches
| :lt[ag][!] [tag] | jump to tag [tag] and add matching tags to the location list
| :tagsa | print tag list
| :1234: CTRL-T | jump back from Nth older tag in tag list
| :[count]po[p][!] | jump back from [count]'th older tag in tag list
| :[count]tn[ext][!] | jump to [count]'th next matching tag
| :[count]tp[revious][!] | jump to [count]'th previous matching tag
| :[count]tr[ewind][!] | jump to [count]'th matching tag
| :tl[ast][!] | jump to last matching tag
| :pt[ag] {tag} | open a preview window to show tag {tag}
| CTRL-W } | like CTRL-] but show tag in preview window
| :pts[elect] | like ":tselect" but show tag in preview window
| :ptj[ump] | like ":tjump" but show tag in preview window
| :pc[lose] | close tag preview window
| CTRL-W z | close tag preview window`
## Scrolling
Status | Command | Description
---|--------|------------------------------
:x: | :1234: CTRL-E | window N lines downwards (default: 1)
:warning: | :1234: CTRL-D | window N lines Downwards (default: 1/2 window)
:x: | :1234: CTRL-F | window N pages Forwards (downwards)
:x: | :1234: CTRL-Y | window N lines upwards (default: 1)
:warning: | :1234: CTRL-U | window N lines Upwards (default: 1/2 window)
:x: | :1234: CTRL-B | window N pages Backwards (upwards)
:x: | z CR or zt | redraw, current line at top of window
:warning: | z. or zz | redraw, current line at center of window
:x: | z- or zb | redraw, current line at bottom of window
These only work when 'wrap' is off: These only work when 'wrap' is off:
Status | Command | Description Status | Command | Description
@ -164,6 +240,43 @@ Status | Command | Description
:white_check_mark: | End | cursor after last character in the line :white_check_mark: | End | cursor after last character in the line
:white_check_mark: | Home | cursor to first character in the line :white_check_mark: | Home | cursor to first character in the line
## Special keys in Insert mode
Status | Command | Description
---|--------|------------------------------
| CTRL-V {char}.. | insert character literally, or enter decimal byte value
:warning: | NL or CR or CTRL-M or CTRL-J | begin new line
| CTRL-E | insert the character from below the cursor
| CTRL-Y | insert the character from above the cursor
| CTRL-A | insert previously inserted text
| CTRL-@ | insert previously inserted text and stop Insert mode
| CTRL-R {0-9a-z%#:.-="} | insert the contents of a register
| CTRL-N | insert next match of identifier before the cursor
| CTRL-P | insert previous match of identifier before the cursor
| CTRL-X ... | complete the word before the cursor in various ways
| BS or CTRL-H | delete the character before the cursor
:white_check_mark: | Del | delete the character under the cursor
:white_check_mark: | CTRL-W | delete word before the cursor
| CTRL-U | delete all entered characters in the current line
| CTRL-T | insert one shiftwidth of indent in front of the current line
| CTRL-D | delete one shiftwidth of indent in front of the current line
| 0 CTRL-D | delete all indent in the current line
| ^ CTRL-D | delete all indent in the current line, restore indent in next line
## Digraphs
Status | Command | Description
---|--------|------------------------------
:arrow_down: | :dig[raphs] | show current list of digraphs
:arrow_down: | :dig[raphs] {char1}{char2} {number} ... | add digraph(s) to the list
## Special inserts
Status | Command | Description
---|--------|------------------------------
| :r [file] | insert the contents of [file] below the cursor
| :r! {command} | insert the standard output of {command} below the cursor
## Deleting text ## Deleting text
Status | Command | Description Status | Command | Description
@ -242,6 +355,22 @@ Status | Command | Description
| :[range]le[ft] [indent] | left-align the lines in [range] (with [indent]) | :[range]le[ft] [indent] | left-align the lines in [range] (with [indent])
| :[range]ri[ght] [width] | right-align the lines in [range] | :[range]ri[ght] [width] | right-align the lines in [range]
## Complex changes
Status | Command | Description
---|--------|------------------------------
| :1234: !{motion}{command}<CR> | filter the lines that are moved over through {command}
| :1234: !!{command}<CR> | filter N lines through {command}
| {visual}!{command}<CR> | filter the highlighted lines through {command}
| :[range]! {command}<CR> | filter [range] lines through {command}
:white_check_mark: | :1234: ={motion} | filter the lines that are moved over through 'equalprg'
| :1234: == | filter N lines through 'equalprg'
:white_check_mark: | {visual}= | filter the highlighted lines through 'equalprg'
:warning: | :[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
| :[range]s[ubstitute] [g][c] | repeat previous ":s" with new range and options
| & | Repeat previous ":s" on current line without options
:arrow_down: | :[range]ret[ab][!] [tabstop] | set 'tabstop' to new value and adjust white space accordingly
## Visual mode ## Visual mode
Status | Command | Description Status | Command | Description
@ -301,94 +430,80 @@ Status | Command | Description
:arrow_down: | :sl[eep] [sec] | don't do anything for [sec] seconds :arrow_down: | :sl[eep] [sec] | don't do anything for [sec] seconds
:arrow_down: | :1234: gs | goto Sleep for N seconds :arrow_down: | :1234: gs | goto Sleep for N seconds
## options
## Marks and motions
Status | Command | Description Status | Command | Description
---|--------|------------------------------ ---|--------|------------------------------
:white_check_mark: | m{a-zA-Z} | mark current position with mark {a-zA-Z} | :se[t] | show all modified options
| `{a-z} | go to mark {a-z} within current file | :se[t] all | show all non-termcap options
| `{A-Z} | go to mark {A-Z} in any file | :se[t] termcap | show all termcap options
| `{0-9} | go to the position where Vim was previously exited :white_check_mark: | :se[t] {option} | set boolean option (switch it on), show string or number option
| `` | go to the position before the last jump :white_check_mark: | :se[t] no{option} | reset boolean option (switch it off)
| `" | go to the position when last editing this file | :se[t] inv{option} |invert boolean option
| `[ | go to the start of the previously operated or put text :white_check_mark: | :se[t] {option}={value} | set string/number option to {value}
| `] | go to the end of the previously operated or put text | :se[t] {option}+={value} | append {value} to string option, add {value} to number option
| `< | go to the start of the (previous) Visual area | :se[t] {option}-={value} | remove {value} to string option, subtract {value} from number option
| `> | go to the end of the (previous) Visual area | :se[t] {option}? | show value of {option}
| `. | go to the position of the last change in this file | :se[t] {option}& | reset {option} to its default value
| '{a-zA-Z0-9[]'"<>.} | same as `, but on the first non-blank in the line | :setl[ocal] | like ":set" but set the local value for options that have one
| :marks | print the active marks | :setg[lobal] | like ":set" but set the global value of a local option
| :1234: CTRL-O | go to Nth older position in jump list | :fix[del] | set value of 't_kD' according to value of 't_kb'
| :1234: CTRL-I | go to Nth newer position in jump list | :opt[ions] | open a new window to view and set options, grouped by functionality, a one line explanation and links to the help
| :ju[mps] | print the jump list
## Complex changes Since the list is too long, now we just put those already supported options here.
Status | Command | Default Value | Description
---|--------|-------|------------------------------
:white_check_mark:| tabstop (ts) | 4. we use Code's default value `tabSize` instead of Vim | number of spaces that <Tab> in file uses
:white_check_mark:| :white_check_mark:| hlsearch (hls) | false | When there is a previous search pattern, highlight all its matches.
:white_check_mark:| ignorecase (ic) | false | Ignore case in search patterns.
:white_check_mark:| smartcase (scs) | false | Override the 'ignorecase' option if the search pattern contains upper case characters.
:white_check_mark:| iskeyword (isk) | `@,48-57,_,128-167,224-235` | keywords contain alphanumeric characters and '_'. If there is no user setting for `iskeyword`, we use `editor.wordSeparators` properties.
:white_check_mark:| scroll (scr) | 20 | Number of lines to scroll with CTRL-U and CTRL-D commands.
:white_check_mark:| expandtab (et) | True. we use Code's default value `inserSpaces` instead of Vim | use spaces when <Tab> is inserted
---
## Undo/Redo commands
Status | Command | Default Value | Description
---|--------|-------|------------------------------
:warning: | :1234: u | undo last N changes
:warning: | :1234: CTRL-R | redo last N undone changes
| U | restore last changed line
## External commands
Status | Command | Default Value | Description
---|--------|-------|------------------------------
:arrow_down: | :sh[ell] | start a shell
:arrow_down: | :!{command} | execute {command} with a shell
:arrow_down: | K | lookup keyword under the cursor with 'keywordprg' program (default: "man")
## Ex rangs
Status | Command | Default Value | Description
---|--------|-------|------------------------------
:white_check_mark: | , | separates two line numbers
| ; | idem, set cursor to the first line number before interpreting the second one
:white_check_mark: | {number} | an absolute line number
:white_check_mark: | . | the current line
:white_check_mark: | $ | the last line in the file
:white_check_mark: | % | equal to 1,$ (the entire file)
| * | equal to '<,'> (visual area)
| 't | position of mark t
| /{pattern}[/] | the next line where {pattern} matches
| ?{pattern}[?] | the previous line where {pattern} matches
:white_check_mark: | +[num] | add [num] to the preceding line number (default: 1)
:white_check_mark: | -[num] | subtract [num] from the preceding line number (default: 1)
## Editing a file
Status | Command | Description Status | Command | Description
---|--------|------------------------------ ---|--------|------------------------------
| :1234: !{motion}{command}<CR> | filter the lines that are moved over through {command} :warning: | :e[dit] {file} | Edit {file}. We will open file in a new Tab of current Grouped Editor instead of opening in current tab.
| :1234: !!{command}<CR> | filter N lines through {command}
| {visual}!{command}<CR> | filter the highlighted lines through {command}
| :[range]! {command}<CR> | filter [range] lines through {command}
:white_check_mark: | :1234: ={motion} | filter the lines that are moved over through 'equalprg'
| :1234: == | filter N lines through 'equalprg'
:white_check_mark: | {visual}= | filter the highlighted lines through 'equalprg'
:warning: | :[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
| :[range]s[ubstitute] [g][c] | repeat previous ":s" with new range and options
| & | Repeat previous ":s" on current line without options
:arrow_down: | :[range]ret[ab][!] [tabstop] | set 'tabstop' to new value and adjust white space accordingly
## Multi-window commands
## Special keys in Insert mode
Status | Command | Description
---|--------|------------------------------
| CTRL-V {char}.. | insert character literally, or enter decimal byte value
:warning: | NL or CR or CTRL-M or CTRL-J | begin new line
| CTRL-E | insert the character from below the cursor
| CTRL-Y | insert the character from above the cursor
| CTRL-A | insert previously inserted text
| CTRL-@ | insert previously inserted text and stop Insert mode
| CTRL-R {0-9a-z%#:.-="} | insert the contents of a register
| CTRL-N | insert next match of identifier before the cursor
| CTRL-P | insert previous match of identifier before the cursor
| CTRL-X ... | complete the word before the cursor in various ways
| BS or CTRL-H | delete the character before the cursor
:white_check_mark: | Del | delete the character under the cursor
:white_check_mark: | CTRL-W | delete word before the cursor
| CTRL-U | delete all entered characters in the current line
| CTRL-T | insert one shiftwidth of indent in front of the current line
| CTRL-D | delete one shiftwidth of indent in front of the current line
| 0 CTRL-D | delete all indent in the current line
| ^ CTRL-D | delete all indent in the current line, restore indent in next line
## Scrolling
Status | Command | Description
---|--------|------------------------------
:x: | :1234: CTRL-E | window N lines downwards (default: 1)
:warning: | :1234: CTRL-D | window N lines Downwards (default: 1/2 window)
:x: | :1234: CTRL-F | window N pages Forwards (downwards)
:x: | :1234: CTRL-Y | window N lines upwards (default: 1)
:warning: | :1234: CTRL-U | window N lines Upwards (default: 1/2 window)
:x: | :1234: CTRL-B | window N pages Backwards (upwards)
:x: | z CR or zt | redraw, current line at top of window
:warning: | z. or zz | redraw, current line at center of window
:x: | z- or zb | redraw, current line at bottom of window
## Special inserts
Status | Command | Description
---|--------|------------------------------
| :r [file] | insert the contents of [file] below the cursor
| :r! {command} | insert the standard output of {command} below the cursor
## Window
Status | Command | Description Status | Command | Description
---|--------|------------------------------ ---|--------|------------------------------
@ -399,7 +514,6 @@ Status | Command | Description
:x: | :new | Create a new window horizontally and start editing an empty file in it. :x: | :new | Create a new window horizontally and start editing an empty file in it.
| :vne[w] | Create a new window vertically and start editing an empty file in it. | :vne[w] | Create a new window vertically and start editing an empty file in it.
## Tabs ## Tabs
Status | Command | Description Status | Command | Description
@ -421,39 +535,6 @@ Status | Command | Description
:x: | :tabs | List the tab pages and the windows they contain. :x: | :tabs | List the tab pages and the windows they contain.
| :tabd[o] {cmd} | Execute {cmd} in each tab page. | :tabd[o] {cmd} | Execute {cmd} in each tab page.
## options
### Commands
Status | Command | Description
---|--------|------------------------------
| :se[t] | show all modified options
| :se[t] all | show all non-termcap options
| :se[t] termcap | show all termcap options
:white_check_mark: | :se[t] {option} | set boolean option (switch it on), show string or number option
:white_check_mark: | :se[t] no{option} | reset boolean option (switch it off)
| :se[t] inv{option} |invert boolean option
:white_check_mark: | :se[t] {option}={value} | set string/number option to {value}
| :se[t] {option}+={value} | append {value} to string option, add {value} to number option
| :se[t] {option}-={value} | remove {value} to string option, subtract {value} from number option
| :se[t] {option}? | show value of {option}
| :se[t] {option}& | reset {option} to its default value
| :setl[ocal] | like ":set" but set the local value for options that have one
| :setg[lobal] | like ":set" but set the global value of a local option
| :fix[del] | set value of 't_kD' according to value of 't_kb'
| :opt[ions] | open a new window to view and set options, grouped by functionality, a one line explanation and links to the help
### Option list
Since the list is too long, now we just put those already supported options here.
Status | Command | Default Value | Description
---|--------|-------|------------------------------
:white_check_mark:| tabstop (ts) | 4. we use Code's default value `tabSize` instead of Vim | number of spaces that <Tab> in file uses
:white_check_mark:| :white_check_mark:| hlsearch (hls) | false | When there is a previous search pattern, highlight all its matches.
:white_check_mark:| ignorecase (ic) | false | Ignore case in search patterns.
:white_check_mark:| smartcase (scs) | false | Override the 'ignorecase' option if the search pattern contains upper case characters.
:white_check_mark:| iskeyword (isk) | `@,48-57,_,128-167,224-235` | keywords contain alphanumeric characters and '_'. If there is no user setting for `iskeyword`, we use `editor.wordSeparators` properties.
:white_check_mark:| scroll (scr) | 20 | Number of lines to scroll with CTRL-U and CTRL-D commands.
>expandtab (et) | True. we use Code's default value `inserSpaces` instead of Vim | use spaces when <Tab> is inserted
## Folding ## Folding
### Fold methods ### Fold methods
The folding method can be set with the 'foldmethod' option. This is currently not possible as we are relying on Code's Fold logic. The folding method can be set with the 'foldmethod' option. This is currently not possible as we are relying on Code's Fold logic.