[英]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.