搜索

首页  >  问答  >  正文

如何修改一下vim的command ,在添加 ; 符号的同时完成换行?

将这个

flip   翻转[左右变成右左] fork   叉子\分岔\岔口\复刻

转换成

flip   ;翻转[左右变成右左] fork   ;叉子\分岔\岔口\复刻

我使用

:%s/^\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)\([ a-zA-Z]\+\)\([\U4E00-\U9FFF ]\+.\+\)$/; ;/g

现在我想

flip   翻转[左右变成右左] fork   叉子\分岔\岔口\复刻

变成

flip   ;翻转[左右变成右左] 
fork   ;叉子\分岔\岔口\复刻

如何修改一下vim的command ,在添加 ; 符号的同时完成换行?

某草草某草草2778 天前773

全部回复(2)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:36:35

    :s/^\([ a-zA-Z]\+\)\(\([\U4E00-\U9FA5]\+[^ ]*\)\+\)\([ a-zA-Z]\+\)\(\([\U4E00-\U9FA5]\+[^ ]*\)\+\)$/;\r;/g

    多了两个括号
    PS:中文匹配,网上有使用[^ -x]1的方法,测试发现也可以,不知道原理。
    如果中文解释里面没有英文和空格,可以写得简单些

    \(\([\U4E00-\U9FA5]\+[^ ]*\)\+\)
    #可以修改为:
    \([^ a-zA-Z]\+\)\+

    1. https://www.oschina.net/quest... ↩

    回复
    0
  • 世界只因有你

    世界只因有你2017-05-16 16:36:35

    可以加一个 map,把 ; 映射成 ;<CR>

    比如: inoremap ; ;<CR>

    回复
    0
  • 取消回复