簡體   English   中英

Vim 視覺模式鍵映射

[英]Vim key mapping for visual mode

我正在嘗試為按 F7 的可視模式創建映射,所選代碼將分別用 /* 和/ 包裝。 我希望 /和 */ 自己在一條線上。

我的 vimrc 中有這個:

autocmd BufNewFile,BufRead *.c,*.js xmap <F7> I <ENTER> <ESC> k I /* <ESC> gv A */ <ENTER> <ESC>

因為我希望這個映射只對 C 和 js 文件有效。 它幾乎可以按我的意願工作。 唯一的問題是代碼在 /* 之后的換行符上,在代碼之后和結束 */ 之前會有一個空行。

我真的不明白為什么,因為手動執行每個操作都是我想要的。

按 F7 的結果應該會打開這段代碼:

for (size_t a = 0; a<5; a++) {
    printf("%d\n", somearray[a]);
 }

進入這個

  /*
    for (size_t a = 0; a<5; a++) {
            printf("%d\n", somearray[a]);
         }
 */

就目前而言,由於某種原因,它最終會變成這樣:

/*for (size_t a = 0; a<5; a++) {
        printf("%d\n", somearray[a]);
     }
---newline---
*/

現在可以了。

autocmd BufNewFile,BufRead *.c,*.js xmap <F7> I<CR><ESC>kI /*<ESC> gv A*/ <CR> <ESC>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM