VIFM:在命令行模式下重新映射控件 right/left

VIFM: Remapping control right/left in command-line mode

我不太喜欢命令行 readline 键盘快捷键,所以我希望重新映射 C-Right/C-Left 来导航一个词 back/forward 和 C-BS 和 C-Del 来删除一个词 back/forward。但是,在阅读了文档和论坛之后,我不知道该怎么做。

目前,当在命令行中输入 C-left/C-right 时,光标不会移动,而是插入键码(C-left = [1;5D,C-right = [1;5C) .我已经尝试了很多重新映射,但我认为最适合这个的映射是:

cmap <C-right> <A-f>
cmap <C-left> <A-b>

我能够弄清楚如何使用以下映射删除一个单词(经过进一步审查,VIFM 手册中有关于映射 BS 的文档):

cnoremap <BS> <C-w>
cnoremap <C-h> <C-w>

但是,我还不确定如何使用C-Del 向前映射删除一个单词。当我对 C-Del 使用以下重映射时,结果是光标左侧的一个字符被删除。请注意,当我使用其他 C-* 组合删除前向单词时,重新映射实际上起作用了,这让我认为可能无法重新映射 C-Del:

cmap <C-Del> <A-d>

我在 Arch Linux 上使用 VIFM 0.12 版。有什么建议吗?

angle-bracket 表示法支持的键列表在 documentation 中可用。 Ctrl 与箭头键的组合不存在。

请参阅 this GitHub issue 了解原因的讨论以及如何解决它的示例:

" ctrl-right
cnoremap <esc>[1;5C <a-f>
" ctrl-left
cnoremap <esc>[1;5D <a-b>
" ctrl-del
cnoremap <esc>[3;5~ <a-d>

在这一点上,我仍然不确定这些序列在不同的终端类型中是否足够普遍 hard-coded 并且不会造成麻烦。