我们假设你已经了解了 Vim 的几种常用的工作模式(正常模式、插入模式、命令模式等),如果你还不了解,请先阅读 这里。现在就让我们一起来学习一下 Vim 语吧。
动词代表了我们打算对文本进行什么样的操作。例如:
d 表示
删除deleter 表示
替换replacec 表示
修改changey 表示
复制yankv 表示
选取visual select名词代表了我们即将处理的文本。Vim 中有一个专门的术语叫做text object,下面是一些文本对象的示例:
w 表示一个
单词words 表示一个
句子sentencep 表示一个
段落paragrapht 表示一个 HTML
标签tag引号或者各种括号所包含的文本称作一个文本块。
介词界定了待编辑文本的范围或者位置。例如:
i 表示
“在...之内”insidea 表示
“环绕...”aroundt 表示
“到...位置前”tof 表示
“到...位置上”forward下面是几个有关范围的示意图,你们感受一下:
Prepositions
有了这些基本的语言元素,我们就可以着手构造一些简单的命令了。文本编辑命令的基本语法如下:
动词 介词 名词
下面是一些例子(如果熟悉了上面的概念,你将会看到这些例子非常容易理解),请亲自在 Vim 中试验一番。
#删除一个段落:deleteinside paragraph
dip
#选取一个句子: visual select inside sentence
vis
#修改一个单词: change inside word
ciw
#修改一个单词: change around word
caw
#删除文本直到字符“x”(不包括字符“x”):deleteto x
dtx
#删除文本直到字符“x”(包括字符“x”):deleteforward x
dfx
数词指定了待编辑文本对象的数量,从这个角度而言,数词也可以看作是一种介词。引入数词之后,文本编辑命令的语法就升级成了下面这样:
动词 介词/数词 名词
下面是几个例子:
#修改三个单词:change three words
c3w
#删除两个单词:deletetwo words
d2w
另外,数词也可以修饰动词,表示将操作执行 n 次。于是,我们又有了下面的语法:
数词 动词 名词
请看示例:
#两次删除单词(等价于删除两个单词): twicedeleteword
2dw
#三次删除字符(等价于删除三个字符):three timesdeletecharacter
3x
怎么样,是不是很容易理解?
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29067253/viewspace-1992353/ ,如需转载,请注明出处,否则将追究法律责任。