post:细化一些VIM tips种的内容。
This commit is contained in:
parent
ef1a8b7f7c
commit
1cf2d775d0
|
@ -25,16 +25,16 @@ VIM是Linux系统中最常用的命令行编辑器,但是大多数人都会觉
|
|||
|
||||
| 快捷键 | 进入的模式 | 助记词 |
|
||||
|---|---|---|
|
||||
| `i` | 在光标所在的字符之前的位置进入插入模式。 | `insert before` |
|
||||
| `i` | 在光标所在的字符之前的位置进入插入模式。 | `insert` |
|
||||
| `I` | 在光标所在行的行首进入插入模式。 | `Insert` |
|
||||
| `a` | 在光标所在的字符之后的位置进入插入模式。 | `append after` |
|
||||
| `a` | 在光标所在的字符之后的位置进入插入模式。 | `append` |
|
||||
| `A` | 在光标所在行的行尾进入插入模式。 | `Append` |
|
||||
| `o` | 在光标所在行的下方新建一行进入插入模式。 | |
|
||||
| `O` | 在光标所在行的上方新建一行进入插入模式。 | |
|
||||
| `R` | 在光标所在的字符位置进入替换模式,新的输入将从光标所在的字符开始替换。 | `Replace` |
|
||||
| `c` | 执行删除操作以后进入插入模式,要删除的内容由其后跟随的Text Object或者Motion确定。 | `change` |
|
||||
| `v` | 在光标所在的位置进入可视模式,光标所在的字符不在被选中的块中。 | `visual` |
|
||||
| `V` | 在光标所在的行进入行可视模式,每次移动光标的时候,都以进入行为起点,光标所在的行为终点,选中中间所有行。 | `Visual Block` |
|
||||
| `V` | 在光标所在的行进入行可视模式,以进入行为起点,光标所在的行为终点,选中中间所有行。 | `Visual` |
|
||||
| `:` | 进入命令行模式。 | |
|
||||
|
||||
## 命令格式
|
||||
|
@ -42,7 +42,7 @@ VIM是Linux系统中最常用的命令行编辑器,但是大多数人都会觉
|
|||
VIM中的命令格式其实是有固定格式的,所以用起来并不难。几乎VIM中的所有命令都是遵循以下命令格式。
|
||||
|
||||
!!! info "VIM命令格式"
|
||||
`<number><command><text object|motion>`
|
||||
`[prefix][number]<command>[text object|motion]`
|
||||
|
||||
这个命令格式中开头的数字表示命令的重复次数,例如`2x`表示删除两个字符。在默认情况下,VIM的命令都是以字符为单位进行操作的,如果要以行为单位进行操作,则需要使用以下公式。
|
||||
|
||||
|
@ -50,15 +50,17 @@ VIM中的命令格式其实是有固定格式的,所以用起来并不难。
|
|||
例如使用`d3j`并不会直接删除3行内容,而是会删除这3行中,光标移动范围内的所有字符。
|
||||
|
||||
!!! info "VIM行操作命令格式"
|
||||
`<command><number><command>`
|
||||
`[prefix]<command>[number]<command>`
|
||||
|
||||
在这个命令格式中,前后两个`command`均为同一个命令,中间的数字如果为1的话,则可以省略。例如要删除3行内容,则可以用`d3d`来完成。
|
||||
|
||||
所有VIM命令中的`prefix`内容,一般都是由VIM自身或者插件定义使用的,通常采用的`prefix`都是`<leader>`键或者是`<leader>`键与其他字符的组合。
|
||||
|
||||
> 大部分的VIM命令都十分简单易记,在不考虑重新映射键位的情况下,命令和动作都是相应单词的首字母,例如`d2w`就是`delete 2 words`的缩写,
|
||||
|
||||
### 光标移动
|
||||
|
||||
从命令格式可以看出,平时使用的HJKL快捷键实际上都是Motion。所以在移动光标的时候,不要再狂按HJKL着四个键了。
|
||||
从命令格式可以看出,平时使用的HJKL快捷键实际上都是Motion。所以在移动光标的时候,不要再狂按HJKL这四个键了。
|
||||
|
||||
> 我承认我一直也是这么狂按来着。
|
||||
|
||||
|
@ -303,7 +305,7 @@ Surround插件的使用一般需要结合Motion或者是Text Object来使用,
|
|||
|
||||
| 操作快捷键 | 功能 | 助记词 |
|
||||
|---|---|---|
|
||||
| `ys<motion><desired>` | 将`desired`添加到Motion定义的位置。 | |
|
||||
| `ys<text object\|motion><desired>` | 将`desired`添加到Text Object或Motion定义的位置。 | |
|
||||
| `yss<desired>` | 为当前行添加`desired`包裹。 | |
|
||||
| `ds<exist>` | 将`exist`删除。 | `delete` |
|
||||
| `cs<exist><desired>` | 将`exist`替换成`desired`。 | `change` |
|
||||
|
|
Loading…
Reference in New Issue
Block a user