.vimrc 中的這一行導致 vim 以「c」模式開啟?

.vimrc 中的這一行導致 vim 以「c」模式開啟?

我不明白為什麼有這一行:

nmap <C-[> :tabprevious<cr>

……導致 vim 立即以“c”(更改?)模式開啟。這是我喜歡用來在 vim 中進行選項卡導航的一對映射的一半:

" screw taglist; yay tabs!
nmap <C-[> :tabprevious<cr>
nmap <C-]> :tabnext<cr>

後一個規則運作得很好,但前一個規則在打開 vim 時給了我這種奇怪的行為。手動返回正常模式後,兩個映射都按預期工作(更改選項卡)。

是什麼賦予了?我在這裡缺少一些簡單的東西嗎?

順便說一句,我透過 iTerm2 在 OSX 10.5 上使用 CLI vim(即不是 MacVim)。我已經梳理了整個.vimrc文件並安裝了插件並確認 - 即使禁用所有插件並註釋掉所有其他選項 - 由於上面的行,我得到了這種行為。

答案1

你絕對不想將 <C-[> 映射到任何東西,因為它與映射 <esc> 同義,這真的會讓 Vim 給你帶來麻煩。

編輯:實際上,在正常模式下映射 <esc> 可能不是一個大問題,但這不是我推薦的做法。

我可以重現您的問題,但不幸的是我無法弄清楚為什麼會發生這種情況或如何解決它。

相關內容