使用当前线路作为参考点进行vim搜索和更换
是否有方法使用当前行作为参考来指定搜索和替换范围? 我可以使用明确的行号指定范围,如使用当前线路作为参考点进行vim搜索和更换,vim,Vim,是否有方法使用当前行作为参考来指定搜索和替换范围? 我可以使用明确的行号指定范围,如 :5,15s/foo/bar/g 仅在第5行到第15行执行搜索和替换。如何指定“从当前行到当前行下方(或上方)10行”这样的范围?您可以对当前位置使用,对下方10行使用+10: :.,.+10s/foo/bar/g 其他一些有用的范围: %用于整个文件 ”:帮助:范围提供所有详细信息;你可以做非常复杂的事情,例如,:'a/pat1/-1 对于从当前行开始的范围,一个巧妙的技巧是通过在:前面加上计数来启动命
:5,15s/foo/bar/g
仅在第5行到第15行执行搜索和替换。如何指定“从当前行到当前行下方(或上方)10行”这样的范围?您可以对当前位置使用
,对下方10行使用+10
:
:.,.+10s/foo/bar/g
其他一些有用的范围:
用于整个文件%
”
将我带到那里。(同:帮助:范围提供所有详细信息;你可以做非常复杂的事情,例如,
对于从当前行开始的范围,一个巧妙的技巧是通过在:'a/pat1/-1
前面加上计数来启动命令行模式:例如,:
变成5:
:,.4
Protip:学习如何查找命令和导航内置的
;它是全面的,并提供了许多提示。您学习Vim的速度不会像其他编辑器一样快,但如果您致力于持续学习,它将证明是一个非常强大和高效的编辑器。您是否检查了:help
?@Kent:在我最近的Vim中,不幸的是,这涉及到:h range
文档。但是range()
就可以了。@IngoKarkat有趣的是我有7.3.1287<代码>:h范围:range
)@Kent:真有趣。对我来说,这似乎取决于Windows(:h:range
first)和Linux(range()
first),但我没有相同的版本。我将做一个记录以进一步调查。Vim的搜索和替换功能非常强大。在这里,您可以得到计算字符所需的内容,该表达式中不需要:range
。因此,
是等效的。:,+10s/foo/bar/g
技巧的+1。那太好了。可以在5:
中找到它,如果您愿意再滚动一点,也可以在:help N:
下找到它。:help:range