我有一个问题,就是我的退格键可以在终端中工作,而不能在Vim中工作。它发送了'^?'
而不是'^H'
,而我一直在努力弄清楚。我已经检查过.bashrc
,并且有stty erase '^?'
可以删除'^?'
,但是不知何故。
我的.vimrc中有这个文件:
set backspace=indent,eol,start
set backspace=2
fixdel
这是我通常根据我的知识将其解决的方法,但在这种情况下不起作用。如果有帮助,我正在Arch Linux服务器上使用xterm
,我知道xterm
有一个错误,但我认为并非如此。它可以在Unix命令中运行,但不能在Vim中运行,因此只能在不起作用的Vim中运行。
非常感谢您的帮助。
编辑: 嗯,我只是想让我的退格键删除东西。我的退格键不会立即删除内容,而是给我^?而不是删除。删除与其他任何^ H系统相同,但是我想让退格键发送^ H而不是删除^^。因此,我不必键入^ H来删除,而是要使用退格键,在MobaXterm上有一个函数使退格键发送^ H。但是如何在SSH上做到这一点?
谢谢
答案 0 :(得分:1)
有两种方法。在左侧,您看到了渴望的control-H字符。这种方式的路径似乎很清楚,只是一点点
echo xterm.vt100.backarrowKey: true >> ~/.Xresources; xrdb ~/.Xresources
然后重新启动所有xterm,或者在每个窗口上按Control和鼠标主键以显示菜单,您可以在每个窗口中进行更改。菜单项本身是第三部分的第二项,就在8位控件选项下。这样看来是可行的。除非提防,否则在Control-H本身下方有一个活板门,因此,除bash本身外,backspace停止在其他所有位置正常工作。当然,您已经有了自己的风格,已经走出了迷宫的一部分。但我有点想起了该路径遇到的其他各种问题。其中之一是Linux控制台也使用^?而不是^ H,而且更改起来并不容易。
或者,另一种方法是使用^?使vim能够执行您想要的操作。我认为只是
:map ^V^? x
请注意,我的意思是Control-V退格键,而不是插入符号V插入符号的问题。如果满足您的需要,您还希望将其添加到〜/ .vimrc中。话虽这么说,但您并没有确切说出vim在哪里运行不正确,因此您可能需要进行其他调整。