【发布时间】:2011-12-07 06:00:28
【问题描述】:
当我进入 Vim 的可视模式以缩进一段文本时,命令提示符总是以 '<,'> 开头。有人可以为我分解为什么会这样或者更确切地说它是做什么的吗?似乎它与标记有关,但根据我目前阅读的手册内容,我并不完全确定这一点。
【问题讨论】:
-
当您在输入“:”时选择了一个区域(可视模式)时会发生这种情况
标签: vim
当我进入 Vim 的可视模式以缩进一段文本时,命令提示符总是以 '<,'> 开头。有人可以为我分解为什么会这样或者更确切地说它是做什么的吗?似乎它与标记有关,但根据我目前阅读的手册内容,我并不完全确定这一点。
【问题讨论】:
标签: vim
花时间为已经给出的答案添加一些琐事
:* 通常表示相同(:he cpo-star),
在命令行模式下点击C-u会删除范围标记(实际上是删除到行首)
【讨论】:
命令行开头的'<,'> 表示您选择的范围。这也是您将要输入的命令应用到的测试范围。
例如,如果我在可视模式下选择了一个文本区域,然后想用“溢出”替换所有出现的“堆栈”,我的命令将如下所示:
:'<,'>s/stack/overflow/g
如果没有可视模式,则必须通过手动指定行范围来完成相同的命令,例如:
:1,10s/helo/hello/g
【讨论】:
:s 只给出行号。 (并且使用 `<,`> 似乎不起作用。)
这是一个由两个特殊标记定义的范围(文本中名为“quote+1 letter”的锚点中的标记)
'
'> `> 到最后选定的 Visual 的最后一行或字符 当前缓冲区中的区域。对于块模式,它也可能是 最后一行的第一个字符(能够定义块)。 请注意,“选择”适用,该位置可能就在 视觉区。 {Vi 无此功能}。
【讨论】:
在可视模式下选择后,例如五行,然后'<,'> 表示您将在该区域执行命令。
所以:'<,'>s/replaceMe/WithThis/g 将仅适用于该选择
【讨论】:
'< 是视觉选择的第一行,'> 是视觉选择的最后一行。这是 vim 使您的命令仅适用于可视区域的方式。
【讨论】: