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命令获得以下输出?

发布于 2016-12-17 13:59:16
下列措施将起作用:
:%s/^\([a-zA-Z ]\+\)\([^a-zA-Z ]\+\) \([a-zA-Z ]\+\)\([^a-zA-Z ]\+\)$/\1\2\r\3\4/g这只会将\r添加到替换位置,似乎您想要换行。
它还简化了一些事情,只需在行的开头查找任意数量的alpha字符或空格,然后是任意数量的非alpha字符或空格,然后是空格,然后是任意数量的alpha字符或空格,然后是行尾之前的任意数量的非alpha字符或空格。
https://stackoverflow.com/questions/41199016
复制相似问题