问题描述
将这个
flip 翻转[左右变成右左] fork 叉子分岔岔口复刻
转换成
flip ;翻转[左右变成右左] fork ;叉子分岔岔口复刻
我使用
:%s/^([ a-zA-Z]+)([U4E00-U9FFF ]+.+)([ a-zA-Z]+)([U4E00-U9FFF ]+.+)$/1;2 3;4/g
现在我想
flip 翻转[左右变成右左] fork 叉子分岔岔口复刻
变成
flip ;翻转[左右变成右左] fork ;叉子分岔岔口复刻
如何修改一下vim的command ,在添加 ; 符号的同时完成换行?
问题解答
回答1::s/^([ a-zA-Z]+)(([U4E00-U9FA5]+[^ ]*)+)([ a-zA-Z]+)(([U4E00-U9FA5]+[^ ]*)+)$/1;2r4;5/g
多了两个括号PS:中文匹配,网上有使用[^ -x]1的方法,测试发现也可以,不知道原理。如果中文解释里面没有英文和空格,可以写得简单些
(([U4E00-U9FA5]+[^ ]*)+)#可以修改为:([^ a-zA-Z]+)+https://www.oschina.net/quest... ↩回答2:
可以加一个 map,把 ; 映射成 ;<CR>
比如: inoremap ; ;<CR>

