diff --git a/source/_posts/vim-tips.md b/source/_posts/vim-tips.md index 259ccb0..560f6e4 100644 --- a/source/_posts/vim-tips.md +++ b/source/_posts/vim-tips.md @@ -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命令格式" - `` + `[prefix][number][text object|motion]` 这个命令格式中开头的数字表示命令的重复次数,例如`2x`表示删除两个字符。在默认情况下,VIM的命令都是以字符为单位进行操作的,如果要以行为单位进行操作,则需要使用以下公式。 @@ -50,15 +50,17 @@ VIM中的命令格式其实是有固定格式的,所以用起来并不难。 例如使用`d3j`并不会直接删除3行内容,而是会删除这3行中,光标移动范围内的所有字符。 !!! info "VIM行操作命令格式" - `` + `[prefix][number]` 在这个命令格式中,前后两个`command`均为同一个命令,中间的数字如果为1的话,则可以省略。例如要删除3行内容,则可以用`d3d`来完成。 +所有VIM命令中的`prefix`内容,一般都是由VIM自身或者插件定义使用的,通常采用的`prefix`都是``键或者是``键与其他字符的组合。 + > 大部分的VIM命令都十分简单易记,在不考虑重新映射键位的情况下,命令和动作都是相应单词的首字母,例如`d2w`就是`delete 2 words`的缩写, ### 光标移动 -从命令格式可以看出,平时使用的HJKL快捷键实际上都是Motion。所以在移动光标的时候,不要再狂按HJKL着四个键了。 +从命令格式可以看出,平时使用的HJKL快捷键实际上都是Motion。所以在移动光标的时候,不要再狂按HJKL这四个键了。 > 我承认我一直也是这么狂按来着。 @@ -303,7 +305,7 @@ Surround插件的使用一般需要结合Motion或者是Text Object来使用, | 操作快捷键 | 功能 | 助记词 | |---|---|---| -| `ys` | 将`desired`添加到Motion定义的位置。 | | +| `ys` | 将`desired`添加到Text Object或Motion定义的位置。 | | | `yss` | 为当前行添加`desired`包裹。 | | | `ds` | 将`exist`删除。 | `delete` | | `cs` | 将`exist`替换成`desired`。 | `change` |