微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 如何使用Ctrl-Backspace在gnome-terminal中删除vim中的单词?

我希望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).见this gnome bug.

2015年更新:这是在23c7cd0f99d504cbab06d4c27254d4f3e2807ba8修复.

libvte 0.41.90,0.40.3和更新有修复.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐