我希望Ctrl-Backspace在
vim插入模式下删除当前的单词.从xterm里我可以通过这个来拉
:inoremap <C-H> <C-W>
但是在gnome-terminal中,我无法找出一种方法来实现.
当在vim插入模式下,如果我键入control-v然后按退格键,我在xterm中得到^ H,^?在gnome终端.不幸,
:inoremap <C-?> <C-W>
在gnome-terminal中不做窍门;无论什么,控制回退只是擦除单个字符.
关于ASCII码:
Gnome终端可以让您修改编辑 – >下的退格字符.个人资料首选项 – >兼容性.不幸的是,没有任何选项可行,据我所知:无论我通过设置适用于Backspace的字符,如果我尝试映射字符本身,如
:inoremap <C-H> <C-W>
那么常规的backspace和control-backspace都会擦除整个字;如果我尝试映射控制加上那个字符,就像
:inoremap <C-^H> <C-W>
那么常规的backspace和control-backspace只是擦除一个字符.
解决方法
gnome-terminal的libvte需要打补丁.
libvte已经有几个选项来映射backspace,其中没有区别Ctrl-backspace.它需要一个选项,也可能是遵循linux控制台的行为(^?为backspace,^ H为Ctrl-backspace).见@L_404_1@.
2015年更新:这是在23c7cd0f99d504cbab06d4c27254d4f3e2807ba8修复.
libvte 0.41.90,0.40.3和更新有修复.