如何使用单个命令或使用录音从Vim中的每一行删除最后3个单词?
例如,之前,
10 3 -5 6 1 0 5
5 9 -1 0 56 8 9
-6 0 45 8 6 3 0
Run Code Online (Sandbox Code Playgroud)
后,
10 3 -5 6
5 9 -1 0
-6 0 45 8
Run Code Online (Sandbox Code Playgroud)
你最安全的赌注是:
:%norm $3gElD
Run Code Online (Sandbox Code Playgroud)
说明:
对于文件(%
)中的所有行,在正常模式(norm
)中,移动到行的末尾($
),然后向后移动3个WORD(3gE
),向右移动一个字符(l
),并删除光标下的字符直到结束这条线.
原因gE
是告诉VIM按照它定义为WORD的方式移动:一系列非空白字符,用空格分隔(包括短划线).
编辑:如果一行中有尾随空格,上述内容将失败.你可以先用文件删除文件中的所有尾随空格:%s/\s*$//g