GO
本文内容并非原创,而是整理自别人的技术文章。原文请看这里一起来说 Vim 语
1. Vim的常用三种模式
- 正常模式(进入vim时处于的就是默认模式)
- 插入模式(编辑文本时的所处的模式)
- 命令模式(进行保存退出、查找替换、设置等动作时所处的模式)
2. Vim的语言性思维
2.1 动词
动词代表了我们打算对文本进行什么样的操作。例如:
d
表示删除 deleter
表示替换 replacec
表示修改 changey
表示复制 yankv
表示选取 visual selectp
表示粘贴 paste- 等等……
2.2 名词
名词代表了我们即将处理的文本。Vim 中有一个专门的术语叫做文本对象 text object。例如:
w
表示一个单词 words
表示一个句子 sentencet
表示一个HTML标签 tagp
表示一个段落 paragraph- 引号或各种括号 所包含的文本称作一个 文本块
- 等等……
2.3 介词
介词界定了待编辑文本的范围或者位置。例如:
i
表示“在……之内” insidea
表示“环绕” aroundt
表示“到……位置前” tof
表示“到……位置上” forward
下面是几个有关范围的示意图:
2.4 组词为句
有了这些基本的语言元素,我们就可以着手构造一些简单的命令了。文本编辑命令的基本语法如下:
动词 [介词] 名词
下面是一些例子:
删除一个段落: delete inside paragraph–>
dip
选取一个句子: visual select inside sentence–>
vis
修改一个单词: change inside word–>
ciw
修改一个单词: change around word–>
caw
删除文本直到字符“x”(不包括字符“x”): delete to x–>
dtx
删除文本直到字符“x”(包括字符“x”): delete forward x–>
dfx
2.5 数词
数词指定了待编辑文本对象的数量,从这个角度而言,数词也可以看作是一种介词。引入数词之后,文本编辑命令的语法就升级成了下面这样:
动词 介词/数词 名词
下面是几个例子:
修改三个单词:change three words–>
c3w
删除两个单词:delete two words–>
d2w
另外,数词也可以修饰动词,表示将操作执行 n 次。于是,我们又有了下面的语法:
数词 动词 名词
请看示例:
两次删除单词(等价于删除两个单词): twice delete word–>
2dw
三次删除字符(等价于删除三个字符):three times delete character–>
3x
3. 结束语
以上内容为一种使用Vim的思维方式。
OK