Vim爱恨情仇之Text Object

面对对象编辑

      疑惑?面对对象编程了解,这面对对象编辑是什么鬼!实际上,我们在使用Vim编辑文件时就是面对对象编辑。一个单词,一个句子,一个段落等等都是文本对象(Text Object)。在其他编辑器中我们常常都是常按backspace键删除一个个字符从而删除一个单词,一句话,这是比较低效的,Vim提供了Text Object使得我们可以十分快速的进行编辑操作。

基础语法

[number]<commond>[text object]

  • number:操作的次数;
  • comond:操作命令,d(elete),c(hange),y(ank);
  • text object:待操作对象,比如:单词w,句子s,段落p。

其他辅助命令:ia,iw表示inner word,它仅仅选中当前单词,aw表示a word,它不仅仅选中当前单词还选中单词之后的空格。同理对于其他文本对象。

示例

以下[]表示选中的范围:

iw This is a [test] sentence.
a This is a [test ]sentence.
is ...sentence.[This is a test sentence.] This...
as ...sentence.[This is a test sentence. ]This...
ip [This is a pargraph.It has two sentences.]

Other pargraph...
ap [This is a pargraph.It has two sentences.

]Other pargraph...

除了简单的选中w,s或p,我们可以自定义选中的范围。

i(或i) 1*([2+3])
a(或a) 1*[(2+3)]
i{或i} dict = {["a":1,"b":2]}
a{或a} dict = [{"a":1,"b":2}]
Last modification:May 30th, 2019 at 03:20 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment