在对this question的回答中,我了解到可以使用键序列删除光标周围的所有空行 d i p < / kbd>在正常模式下。惊讶的是,我查看了vim的帮助,但vim帮助只说 d 后面可能会出现一个动作,显然 i 不是(它会让你插入模式通常)。
答案 0 :(得分:6)
将dip视为"d-elete" "i-nner p-aragraph",其中"inner paragraph"是一种特殊的motion,称为“Text object selection”。
Vim中有很多很多“motion s”,您可以通过阅读:help motion
或(使用vimtutor
时使用{{3}}(并使用{{3}}来了解这些内容。 Vim每天)。
答案 1 :(得分:4)
你使用Vim就像用普通的口语一样思考,说话或写作。
您有d[elete]
,y[ank]
,p[ut]
,c[hange]
,v[isually select]
等动词,等等。
您拥有各种对象,例如w[ord]
,p[aragraph]
,t[ag]
等。
您拥有i[nner]
,a[round]
,t[ill]
或/foo
以及许多其他修饰符,以及使用{count}
作为量词的能力。
dip
表示“删除内部段落”。 vat
表示“[直观地]选择当前的HTML标记”,c2t;
表示“从此处更改为第二个下一个分号”...
与真实语言一样,学习完整句子不会让你走得太远。基本词汇量不是很大,所以忘记dip
并了解d
,i
和p
是个好主意。学习dip
,ciB
,gU/foo
和他们的数百万朋友作为单个命令比学习单个命令和简单的语法需要更多的时间和脑细胞。
一旦你知道dcyv
(动词),ia
(修饰语)和p
(对象),学习像)
这样的新对象会立即为你提供{{1} },di)
,da)
,ci)
,ca)
,vi)
等等。每次学习新对象或修饰符(通常是单个字符)时,您的词汇量会急剧增加。这不是很酷吗?
此外,va)
和:help d
会给你答案。
正如我想说的那样,“:help ip
会让你大吃一惊”。
答案 2 :(得分:0)
通常,“d”可以与移动光标的字符组合,其结果是在点和目的地之间删除。
在这种情况下,“魔术”是'ip'代表“内部段落”。据我所知,这意味着“将此应用于您所在的段落”。 (但它不是一个是,我真的遇到前,伤心地说)
vim文档很多,但这可能很有用: ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf