我刚刚安装了 Solaris 11 Express,但我无论如何也想不出如何让 vim 正确退格。
退格键在普通控制台上运行良好。
然而,在 vim 下,它只是返回一个字符,但实际上并没有删除任何内容。
我试过了:set bs=2
,没有成功。
我已经尝试了包含的系统 vim (/usr/bin/vim) 和 OpenCSW vim (/opt/csw/bin/vim)。
我尝试将 TERM 设置为“xterm”或“xterm-color”,没有变化。我已将我的 termcap 文件粘贴到这里:
http://paste.pocoo.org/show/452455/
有什么想法吗?=(
欢呼吧,维克多
答案1
您很可能正在运行 vi(当您尝试调用 vim 时,它是符号链接的)。据我所知,在 vi 中,在插入模式下,您无法退格您没有输入的内容(在那个插入 erm...'session' 中)。在命令模式下,按退格键总是将光标向后移动一个字符。要删除,您应该使用 x,不是吗?
答案2
您应该尝试一下 www.sunfreeware.com 上的 Vim,看看是环境问题还是您安装的 Vim 的问题。
尝试从另一个 Linux/UNIX ssh 到您的计算机并使用 Vim,看看会发生什么。
答案3
嗯,正如 user90483 所说。我在 Linux 下使用 vi/vim 时也有同样的情况。除非您处于编辑模式而不是命令模式,否则 Backspace 实际上不会删除任何内容。您处于正确的模式吗?如果我按“i”,Backspace 会删除内容。如果我此时按“esc”,Backspace 相当于“h”键,并将光标移到左侧。
另外,如果您正确使用 vi,在终端中,您可以先发出“stty erasure”,然后按 ctrl-v,再按退格键,最后按回车键,然后再尝试使用 vim 吗?这感觉就像 vim 错误处理了终端“擦除”一样;您的 shell 可能正在补偿所有类型的退格信号。