我在使用<Esc>
或<C-[>
退出命令行模式時遇到延遲問題。看來vim正在等待看看我是否要進入一個keymapping,並且我已經改變了我的ttimeoutlen,它並沒有改變延遲,但它並不是我想要的。我不希望有任何延遲Vim命令行轉義超時
我已經做了一個:地圖,看看是否有任何映射,期望<Esc>
...或<C-[>
...但沒有看到任何做。
我在使用<Esc>
或<C-[>
退出命令行模式時遇到延遲問題。看來vim正在等待看看我是否要進入一個keymapping,並且我已經改變了我的ttimeoutlen,它並沒有改變延遲,但它並不是我想要的。我不希望有任何延遲Vim命令行轉義超時
我已經做了一個:地圖,看看是否有任何映射,期望<Esc>
...或<C-[>
...但沒有看到任何做。
要在發佈關於該問題的評論@AdeYU擴大,vim reference for maps說,有三種不同類型的映射,可以影響命令行:
您必須檢查全部三項以排除導致問題的映射。
更新:儘管文檔似乎表明,如果我創建一個以escape爲開頭的imap,然後在命令行模式下執行escape命令會突然花費更長的時間來響應。我想你也必須清除imaps。
正在運行:地圖顯示所有映射,其模式位於最左側的列中。 – 2012-02-23 05:36:28
@KevinColyar這也是我期望的行爲,但是當我在vim 7.2和7.3中運行:map時,我沒有看到我創建的cmapping或lmapping。當你試用它時,vim的行爲會有所不同嗎? – 2012-02-23 15:12:42
啊,你說得對。 你知道一個imap會在命令模式下導致超時問題嗎? 我發現這個映射從delimitMate:'
除了設置ttimeoutlen之外,你還設置了ttimeout嗎?這是打開功能所必需的。我在我的.vimrc如下:
set ttimeout
set ttimeoutlen=100
現在我得到(無GUI運行,即使)ESC後沒有延遲,即使我有涉及ESC地圖。例如:
if !has("gui_running")
set <A-v>=<1b>v
endif
inoremap <A-v> <C-o>"+p
(注意< 1B>以上使用 「CTRL-V ESC」 寫)
我有這個設置,但它似乎對命令行模式沒有影響。 – Peeja 2014-02-28 19:57:16
您應該用'查看:cmap',這顯示在命令行模式的地圖。 – 2012-02-22 17:23:19