在Vim中,当我这样做:
:%s/foo/bar/g
它将替换整个文档中的“酒吧”“富”的所有发生。 当它完成后,光标移动到“富”与“酒吧”取代了最后的位置。
你怎么跑:%s/foo/bar/g
无光标离开原来的位置发出此命令之前?
有一些选择,我可以在设定.vimrc
文件?
在Vim中,当我这样做:
:%s/foo/bar/g
它将替换整个文档中的“酒吧”“富”的所有发生。 当它完成后,光标移动到“富”与“酒吧”取代了最后的位置。
你怎么跑:%s/foo/bar/g
无光标离开原来的位置发出此命令之前?
有一些选择,我可以在设定.vimrc
文件?
我只是按Ctrl + O后替换找回以前的位置。
当:substitute
运行命令,实际置换完成之前,光标的位置存储在跳转列表。 为了在上次跳转返回到位置,可以使用``
或''
普通模式命令。 虽然前者跳转恰好所存储的位置,后者将光标移动到其中该位置位于所述行的第一个非空白字符。
因此,能够快速返回光标回到原来的位置,类型``替换命令完成后。
要结合替代,将光标移动到一个命令,问题
:%s/pat/str/g|norm!``
或者,如果它足够跳不是精确位置,但只有它的线,
:%s/pat/str/g|''
如上所示, ''
可以优先使用norm!''
在第二命令,因为实施例的范围语法命令(参见:help :range
)。