flip 翻转[左右变成右左] fork 叉子\分岔\岔口\复刻
:%s/^\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)$/\1;\2\3;\4/g
它变成了
flip ;翻转[左右变成右左] fork ;叉子\分岔\岔口\复刻
我想将它分成两行,何时只用一个vim命令添加分号。
尝试了三种不同的正则表达式,在我的vim上显示了相同的错误结果。(debian + vim)。
:%s/^\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)$/\1;\2\r\3;\4/g
:%s/^\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)$/\1;\2\n\3;\4/g
:%s/^\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)$/\1;\2\r\n\3;\4/g
如何使用一个vim命令获取以下输出?
答案 0 :(得分:1)
以下内容可行:
:%s/^\([a-zA-Z ]\+\)\([^a-zA-Z ]\+\) \([a-zA-Z ]\+\)\([^a-zA-Z ]\+\)$/\1\2\r\3\4/g
只需将\r
添加到您想要换行的正确位置的替换。
它还简化了事情,只是说,在行的开头查找任意数量的字母字符或空格,后跟任意数量的非字母字符或空格的字符,后跟空格,后跟任意数字字母或空格的后跟,后跟任意数量的字符,这些字符在行尾之前不是字母字符或空格。