2010-01-13 140 views
3

当我进入可视化模式(正常模式),然后当我按下:有这些字符:<,'>:奇怪的字符

他们是一个功能或一个错误?

的Windows XP SP2

alt text http://img94.imageshack.us/img94/5590/16595366.jpg

+0

我不得不写这些字符或后内操作的命令以同样的方式那些角色?例如Align插件,要求我写入::Align = – alexchenco 2010-01-13 12:41:06

+0

只需在它们之后键入。它与'%'是同一种修饰符 – 2010-01-13 18:29:38

回答

7

你有一个可视范围内进行选择,当你进入:虽然是这样的话,那么选择的范围'<,'>自动添加,以表明该命令将只适用于选择。

0

他们是一个范围的正常显示。

1

这当然不是一个错误。它是范围修饰符,可以在命令之前,在这种情况下,它意味着视觉上突出显示的范围。

类型

:h cmdline-ranges 

更多地了解范围。

2

在vi [m]中,您可以在当前行(默认值)或任何其他行上,或者更一般地,一系列行上应用:命令(ex命令)。范围表示为start,end。例如,请删除当前行,可以这样做:

:d 

要删除的范围内三线(电流-1)至(电流+ 1):

:-1,+1d 

VIM ,标记<>用于表示当前选择(如果没有选择任何内容,则为最后一个选择)。所以,当你在可视模式下键入:时,vim足够聪明,意识到你可能只想将命令应用到选定区域,因此给出了:之后的范围。您只需输入命令,结果仅适用于选择。 (当然,通过在选择线所限定的范围内,要精确。)

这意味着,实际上你可以通过键入'<移动到含有开始和最后选择的区域的端部的线分别为。将''(反向)选择到开头/结尾。

0

'<,'>是您的视觉选择区域。考虑一下,如果你知道数字就很容易表示范围,但是对于视觉选择的文本来说,表示它们的唯一方法是(使用专门的符号),在这种情况下,'<,'>

什么更多的,你可以在视觉上选定的区域做的命令,你会做在一定范围内的行号

1,200 s/old/new/c

'<,'> s/old/new/c