如何在 vim 中映射 Ctrl + F8?

如何在 vim 中映射 Ctrl + F8?

我一直在嘗試以幾種不同的方式映射 Ctrl + F8,但我就是無法讓它工作。經過一些研究,我發現 vim 不支援所有終端鍵碼,我必須將終端鍵碼分配給空的 vim 鍵碼(如 F13)。我跟著一步一步指導,沒有成功。

我所做的是:

  1. 使用 cat 尋找 Ctrl + F8 的終端機 (URxvt) 鍵碼。結果是:^[[19^
  2. 將以下行新增至我的插件檔案:

set <F13>=^[[1;2B nnoremap <F13> :call foobar

有什麼建議麼?

答案1

【經過測試,我已將評論轉為答案。

您的set命令未使用與掃描碼相同的值。另外,您需要確保使用轉義字元而不是^和兩個字元[。為了使這一過程變得簡單,而無需“硬編碼”轉義字符,我將使用:execute

:exe "set <F13>=\e[19^"
:nnoremap <F13> :echo "It works!"<CR>

相關內容