在Vim可视模式下,为什么命令以'<,'>开头?

bul*_*ley 9 vim

当我进入Vim的可视模式,例如,缩进一段文本时,命令提示符始终以'<,'>.有人可以为我解释为什么这是或者更确切地说是什么?看起来它与标记有关但我不完全确定这是基于我到目前为止阅读的手册内容.

Ned*_*der 12

'<是视觉选择的第一行,'>是视觉选择的最后一行.这是vim使命令仅适用于可视区域的方法.


小智 11

'<,'>你的命令行的开头表示您已选择的范围.这也是将要应用命令输入的测试范围.

例如,如果我在可视模式中选择了一个文本区域,然后想要将所有出现的'stack'替换为'overflow',那么我的命令将如下所示:

:'<,'>s/stack/overflow/g
Run Code Online (Sandbox Code Playgroud)

如果没有可视模式,则必须通过手动指定行范围来完成相同的命令,例如:

:1,10s/helo/hello/g
Run Code Online (Sandbox Code Playgroud)

  • @idbrii在搜索词的开头放置\%V以在一行内操作 (2认同)

Cle*_* J. 9

它是由两个特殊标记定义的范围(文本中锚点中的标记,名为"quote + 1个字母")

'<`<到当前缓冲区中最后选择的可视区域的第一行或字符.对于块模式,它也可能是第一行中的最后一个字符(能够定义块).{不在Vi}.

'>`>到当前缓冲区中最后选择的可视区域的最后一行或字符.对于块模式,它也可以是最后一行的第一个字符(能够定义块).请注意,"选择"适用,位置可能位于可视区域之后.{不在Vi}.

资源


Eri*_*tis 5

一旦您在可视模式中选择,例如五行,则'<,'>意味着您将在该区域执行该命令。

因此:'<,'>s/replaceMe/WithThis/g仅适用于该选择