关键是在和 中Backspace没有按预期工作。它作为键工作,删除键正在删除字符,但相反发生了一些奇怪的事情。但是,现在我正在努力让钥匙正常工作。vim
vi
DeleteBackspace
我通过谷歌搜索和搜索 unix.se 尝试了一些解决方案,但没有任何帮助。我尝试添加
:map~ ^? ^H
归档.exrc
。还尝试添加以下功能这个链接,后来映射了给定的正确的键序列,但即使这样也无助于解决问题。
func Backspace()
if col('.') == 1
if line('.') != 1
return "\<ESC>kA\<Del>"
else
return ""
endif
else
return "\<Left>\<Del>"
endif
endfunc
vim
细节
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:09:20)
机器
$ cat /etc/*release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
笔记:
- 我使用 putty 连接管理器连接到远程 UNIX 机器。
- Shift+ 的Backspace作用与普通
Backspace
键的作用相同,即删除左侧的字符。
答案1
您是否尝试过设置退格模式?查看:help bs
并尝试以下操作:
set bs=indent,eol,start
该帮助部分中还有一条关于使用:fixdel
“如果您的 <BS> 或 <Del> 键不能执行您想要的操作”的注释。
您可能还需要设置“不兼容”(WRT 到 vi),因此:set nocp
.
答案2
除了 Gert 对 PuTTY 的评论之外,第三篇文章这个线程还有一个关于 PuTTY 设置的注释:
在“终端”->“键盘”部分下,有一个标记为“更改发送者的序列:”的块 - 第一个是退格键。它应该是 Control-H 或 Control-?。将其更改为与当前设置相反的值,它应该可以工作。
答案3
金凤花姑娘的答案有帮助,按照他所示设置配置后,我按照以下步骤解决了问题 -
将 xterm设置TERM
为
$ TERM=xterm; export TERM
然后将以下内容添加到.bashrc
文件中。
stty erase ^H