Vim当前行到块

时间:2015-04-24 04:57:42

标签: vim

我正在试图弄清楚如何从当前行搜索/替换到块结尾,并且不明白为什么我的命令

:.,}s/a/b/g

不工作

2 个答案:

答案 0 :(得分:4)

这是range文档,似乎}不支持。

作为替代方案,您可以先使用v}进行视觉选择,然后使用:'<,'>s/a/b/g进行替换

答案 1 :(得分:2)

好消息,你有选择!

  • 如果块的结尾意味着下一段,那么您可以在命令中使用'}标记。例如:,'}s/foo/bar/。请参阅:h '}
  • 如果块的结尾意味着结束}字符,那么你可以像@Dyno Hongjun Fu建议的那样做并使用视觉模式+动作。例如v]}:s/foo/bar。请参阅:h ]}
  • 您还可以在您的范围内使用搜索范围,该范围不会直接与任何Vim运动对齐。例如:,/baz/s/foo/bar。请参阅:h range
  • 如有疑问,只需使用视觉模式。