Vim笔记:技巧1 - 技巧5
1、简要说明
1、占位符
| 标记 | 含义 |
|---|
| f{char} | 按 f,后面跟任意字符 |
| `{a-z} | 按`,后面跟任意小写字母 |
| m{a-zA-Z} | 按 m,后面跟任意小写或大写字母 |
| d{motion} | 按 d,后面跟任意动作命令 |
| {register} | 同时按 和 r,后面跟一个寄存器地址 |
2、特殊键对照表
| 标记 | 含义 |
|---|
| 按退出键 |
| 按回车键,也写作 |
| 按控制键 |
| 按制表键 |
| 按切换键 |
| 同时按 和 |
| 按上光标键 |
| 按下光标键 |
| ␣ | 按空格键 |
ps:空格由␣表示。它和 f{char} 命令组合在一起时记为 f␣。
普通模式:cwreplacement 删除从光标位置到当前词结尾处的文本,并切换到插入模式。然后我们在插入模式中输入单词“replacement”,并按 键再切换回普通模式。
3、命令行操作
| 标记 | 含义 |
|---|
| $ | 在外部 shell 中执行命令行命令 |
| : | 用命令行模式执行一条 Ex 命令 |
| / | 用命令行模式执行正向查找 |
| ? | 用命令行模式执行反向查找 |
| = | 用命令行模式对一个 Vim 脚本表达式求值 |
2、Vim解决问题的方式
技巧1 结识 . 命令
| . 命令可以让我们重复上次的修改,它是 Vim 中最为强大的多面手。 |
|---|
| x命令会删除光标下的字符。 |
| dd 命令也做删除操作,但它会把整行一起删掉。 |
|---|
| >G 命令会增加从当前行到文档末尾处的缩进层级。 |
ps:x、dd 以及 > 命令都是在普通模式中执行的命令,不过,每次我们进入插入模式时,也会形成一次修改。从进入插入模式的那一刻起(例如,输入 i),直到返回普通模式时为止(输入),Vim 会记录每一个按键操作。做出这样一个修改后再用 . 命令的话,它将会重新执行所有这些按键操作。
| .命令是一个微型的宏。 |
|---|
| Vim 可以录制任意数目的按键操作,然后在以后重复执行它们。 |
| 我们可以把 . 命令当成一个很小的宏(macro)。 |
技巧 2 不要自我重复
| $ 命令可以完成移动到结尾的动作。 |
|---|
| a;在光标之后进入输入模式并加入内容,写入;在退回到普通模式。 |
| A命令在当前行的结尾添加内容。 |
| 复合命令 | 等效的长命令 |
|---|
| C | c$ |
| s | cl |
| S | ^c |
| I | ^i |
| A | $a |
| o | A |
| O | ko |
技巧 3 以退为进
| s命令把两个操作合并为一个:它先删除光标下的字符,然后进入插入模式。在删除 + 号后,我们先输入␣+␣,然后退出插入模式。 |
|---|
| f{char} 命令让 Vim 查找下一处指定字符出现的位置,如果找到了,就直接把光标移到那里。 |
| ;命令会重复查找上次 f 命令所查找的字符。 |
技巧 4 执行、重复、回退
在面对重复性工作时,我们需要让移动动作和修改都能够重复,这样就可以达到一个最佳编辑模式。
| @: 可以用来重复任意 Ex 命令。 |
|---|
| 我们也可以输入 & 来重复上次的:substitute命令。 |
| 对 . 命令而言,我们永远可以按 u 键撤销上次的修改。 |
| 在使用f{char} 命令后,不小心按了太多次 ; 键,就会偏离我们的目标。不过我们可以再按 , 键跳回去,这个命令会反方向查找上次 f{char}所查找的字符。 |
| 目的 | 操作 | 重复 | 回退 |
|---|
| 做出一个修改 | {edit} | . | u |
| 在行内查找下一指定字符 | f{char}/t{char} | ; | , |
| 在行内查找上一指定字符 | F{char}/T{char} | ; | , |
| 在文档中查找下一处匹配项 | /pattern | n | N |
| 在文档中查找上一处匹配项 | ?pattern | n | N |
| 执行替换 | : s/target/replacement | & | u |
| 执行一系列修改 | qx{changes}q | @x | u |
技巧 5 查找并手动替换
Vim 提供了一个:substitute 命令专门用于查找替换任务。
| * 命令可以查找当前光标下的单词。会产生两个结果:一是光标会跳到下一个匹配项上,二是所有出现这个词的地方都会被高亮显示出来。 |
|---|
| *nn 会遍历完所有的匹配项,从而跳回到本次查找的起点。 |
| cw 命令会删除从光标位置到单词结尾间的字符,并进入插入模式。 |
技巧 6 结识 . 范式
用一键移动,另一键执行