搜尋

首頁  >  問答  >  主體

如何修改一下vim的command ,在加入 ; 符號的同時完成換行?

將這個

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

轉換成

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

我使用

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

現在我想

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

變成

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

如何修改一下vim的command ,在加入 ; 符號的同時完成換行?

某草草某草草2774 天前769

全部回覆(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,把 ; 映射成 ;

    例如: inoremap ; ;

    回覆
    0
  • 取消回覆