vi中插入模式下的退格键不会删除该字符

我是vi的新手,实际上我已经从今天开始学习vi而且我已经陷入了退格键的行为。

实际上,当我第一次在我的Ubuntu 12.04上启动vi时,我的退格键正常工作,但之后它开始表现得很奇怪。 每当我在插入模式下按退格键时,它只会向左移动一个位置而不是删除角色。

如何恢复默认退格function? 请注意,我不想安装vim或设置nocompatibilty。

这对于vi来说是正确的行为,并且它确实擦除了字符,它只是没有通过用类似于vim的空格替换它来显示它。 当您用另一个字符覆盖已擦除的字符或切换回命令模式时,将会很明显。

例如,在空行上以命令模式开始,以下将导致包含fo的行:

我是 Backspace Esc

在点击Esc键之前,该行将读取foo ,但最后一个o被标记为“erase-column”。 请参阅http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html#tag_20_152_13_88 (主要指向该标题下的第4点,并进一步浏览以阅读 -H)

这是最简单的解决方案。
打开终端,转到主目录并键入

 vi .vimrc 

现在打开一个新文件,将这些行添加到文件中并通过保存退出

 $ set nocompatible $ set backspace=2 

您需要通过使用i移动光标来更改为“插入”模式。 还有其他方法可以直接删除字符。 您可以在此处下载VI上课时使用的powerpoint。

听起来你处于“命令”模式。 要移动光标:
H =左, J =上, K =下, L =右

将光标定位后,您可以删除文本,如下所示:
x删除光标的字符
X删除光标的字符
dw从光标删除到下一个单词
dd删除光标所在的

输入文本 ,您可以使用其中一种文本输入模式。
a在光标右侧添加文本
A将文本添加到当前行的末尾
i在光标左侧添加文本
I将测试添加到当前行的开头
o在当前行下方打开一个新行,并将您置于文本输入模式
O在当前行上方打开一个新行,并将您置于文本输入模式

要退出文本输入模式,并返回到命令模式,请使用Esc

撤消更改:(学生最喜欢的)
u撤消输入的最后一个命令
U撤消**当前行的所有更改 **

保存/退出:: :w写入(保存)文件并保持打开状态
:wq写入(保存)文件并退出 VI
:q 如果您没有做任何更改,则退出(退出)
:q! 退出(退出) 而不保存更改
ZZ写入(保存)文件并退出 VI(与:wq相同)

安装完整的vim包以获得退格键和箭头键function

 sudo apt-get update sudo apt-get install vim