搜尋

首頁  >  問答  >  主體

請教兩個提高vim使用效率的問題

1.如何同時找出多個關鍵字
例如我想要高亮出文件中所有的aa, bbbb, ccccc

2.舉例說明
有一個枚舉

enum Test {
    TEST_A,
    TEST_BBBBB,
    TEST_CC,
    TEST_DDDDDDD,
    TEST_EEE
};

如何快速加上如下的註解

enum Test {
    TEST_A,         // 0
    TEST_BBBBB,     // 1
    TEST_CC,        // 2
    TEST_DDDDDDD,   // 3
    TEST_EEE        // 4
};

對於問題2,綜合各位的回答,加上自己的修改,我使用的方法如下:

  1. set ve=all 使得遊標可以到達沒有字元的地方
  2. C-v 進入列區塊視覺模式,選取要插入註解的那一列
  3. A 並插入 // 0,按 Esc 回到普通模式
  4. V進行行視覺模式,選取新增了註解的所有行
  5. 執行指令let i=0|'<,'>g/0$/s//\=i/|let i=i+1
  6. set ve= 把虛擬編輯選項復原
给我你的怀抱给我你的怀抱2775 天前796

全部回覆(3)我來回復

  • 大家讲道理

    大家讲道理2017-05-16 16:43:13

    第二個問題:

    1. set ve=all 使得遊標可以到達沒有字元的地方
    2. C-v 進入列塊視覺模式,選取要插入註解的那一列
    3. A 并插入 // 0,按 Esc 回到普通模式
    4. 再次進入列塊可視模式,選取那一列 0
    5. 使用 visIncr.vim 的指令 :I 把它改成遞增的數值序列
    6. set ve= 把虚拟编辑选项复原(我推荐使用非默认值 block,這樣不用常常切換了)

    PS: 一般用不到枚舉的整數表示的吧?

    回覆
    0
  • 阿神

    阿神2017-05-16 16:43:13

    第一個問題,搜尋的時候用正規:

    第二個問題,錄製個巨集就好了吧:

    1. 先手動輸入第一行的注視,也就是在結尾加上一個 // 1
    2. 在第一行的任意位置,錄製這個巨集:qq^f y$j$p^A
    3. 用之~

    解釋一下:

    • qq: 录制宏到寄存器 q
    • ^: 去行首
    • f: (注意 f 後面是空格),去第一個空格處
    • y$: 複製到行尾
    • j$p: 去下一行的結尾貼上
    • ^A: (這是 Ctrl-A)+1

    回覆
    0
  • 某草草

    某草草2017-05-16 16:43:13

    第二個問題

    使用列编辑 可以連續一系列註解

    自增的數字, 在命令列模式,輸入以下指令:

    :let i=0|g/0/s//\=i/|let i=i+1
    

    自增的方案來源這往篇文章:link

    回覆
    0
  • 取消回覆