你可能会使用命令vw,很不幸的是它会把下一个单词的首字母也选中,应该用viw。
Text-Object:可以指一个单词,一整句文本,抑或一对括号内的文本,甚至是html或xml标签内的文本,都可以抽象成Text-Object。与Text-Object紧密相关的两个命令就是a和i,啊?这两个命令不是append和insert吗?其实,a和i操作在Visual mode或者某些操作(比如:d,y等)后面就是另外一种效果了。例如,删除一个单词可以用daw或者diw,复制一个单词可以用yaw或者yiw,那么a与i又有什么区别呢?a会选择一个对象(an object)包括空格在内,而i只会选择一个对象的内部(an inner object)不包含空格。
下面就是一些命令含义:
vb 跳到单词开头,还有db和yb,以下同理
ve 跳到单词结尾
vis 选中一个句子,不是一行,对一行的操作可以用dd和yy
vib 选中一个block
viw 选中一个单词
vip 选中一个段落
aw a word
iw inner word
aW a WORD
iW inner WORD
as a sentence
is inner sentence
ap a paragraph
ip inner paragraph
a[|] a[] block (这里的'|'是或的意思,也就是说'a['和'a]'都表示一个[]块)
'{} &al;>()与[]作用类似
at a tag (这里的tag可以是html或xml中任何标签对)
it inner tag
比如在一个html文件中,当前光标在某个标签对的内容里头的时候,命令dat会把整个标签对包括内容都会删除,而dit只会删除标签对之间的内容,保留标签对。详细说明可以:help text-objecgts