标签: regex vim replace vi trim
我想在Vim中修剪一场比赛的最后五个字符。搜索模式不是直接的单词,而是类似于foo.*bar 在这里,我想修剪上述匹配的最后五个字符。
foo.*bar
我试过:g/foo.*bar/norm $5X 但是这会在匹配此模式的行的末尾修剪五个字符
:g/foo.*bar/norm $5X
答案 0 :(得分:2)
:help :global不适合这项工作。
:help :global
替换:
:%s/foo.*bar/\=submatch(0)[:-6]/g
请参阅:help sublist和:help submatch()。
:help sublist
:help submatch()