在終止符中映射 ctrl-backspace

在終止符中映射 ctrl-backspace

我最近開始使用 Vim。在先前的編輯中,我習慣透過按Ctrl-刪除整個單字Backspace。查看文件後我發現這是透過在 Vim 中按Ctrl-來完成的w。問題是,在習慣按Ctrl-後w,每次我拼錯一個單字時,我都會開始關閉選項卡和聊天(在寫這個問題時,我關閉了該選項卡 5 次)。所以我檢查瞭如何在 Vim 中映射鍵並嘗試了這個:

:imap <C-BS> <C-w>

不幸的是,它沒有起作用。經過一番研究,我發現終端不區分Ctrl-BackspaceBackspace。我看到了一些駭客和補丁來解決這個問題,但我無法讓它們在終結者(這是我想使用的模擬器)上工作。

使用終結符時,有什麼方法可以在 Vim 中映射Ctrl-嗎?Backspace

答案1

由於鍵盤輸入的內部處理方式,不幸的是,這在今天通常是不可能的。某些組合鍵,例如Ctrl+ 非字母組合無法映射,且無法區分Ctrl+ 字母與Ctrl+ + 字母。 Shift(除非你的終端發送一個不同的術語帽程式碼,但大多數都沒有。如果沒有發生/插入,則無法使用該組合鍵。這也適用於<Tab>/ <C-I><CR>/ <C-M>/ <Esc>/<C-[>等(唯一例外是<BS>/ <C-H>。)這是一個已知的痛點,也是 vim_dev 和 #vim IRC 頻道上各種討論的主題。

有些人(首先是 Paul LeoNerd Evans)想要解決這個問題(即使是支援此功能的終端機中的控制台 Vim),並提出了各種建議,cp。http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但截至今天,還沒有補丁或志工出現,儘管許多人表示希望在未來的 Vim 8 主要版本中提供此功能。

相關內容