文件foo
包含以下文本:
This| is a line.
如果我将光标放置在|
处,进入插入模式,然后按下backspace,什么也不会发生。如果我输入一些内容,我可以删除我已经输入的内容,但只能返回到插入开始的位置。例如,如果我将光标放在行末,并键入word
,我可以删除word
,但无法删除.
或其左侧的任何内容。这实在很烦人。这是哪个
vim
设置导致的?文件foo
包含以下文本:
This| is a line.
如果我将光标放置在|
处,进入插入模式,然后按下backspace,什么也不会发生。如果我输入一些内容,我可以删除我已经输入的内容,但只能返回到插入开始的位置。例如,如果我将光标放在行末,并键入word
,我可以删除word
,但无法删除.
或其左侧的任何内容。vim
设置导致的?'backspace'设置控制此行为。
从帮助页面得知:
Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
mode. This is a list of items, separated by commas. Each item allows
a way to backspace over something:
value effect
indent allow backspacing over autoindent
eol allow backspacing over line breaks (join lines)
start allow backspacing over the start of insert; CTRL-W and CTRL-U
stop once at the start of insert.
尝试将以下内容添加到您的.vimrc
文件中:
set backspace=indent,eol,start " backspace over everything in insert mode
相同命令的简写版本:
set backspace=2
vim ~/.vimrc
vi ~/.exrc
set nocompatible
vimrc
的存在足以触发nocompatible
,请参阅:help 'compatible'
。此外,你的答案隐含地依赖于Vim的默认cpoptions
。具体来说,缺少v
标志,请参阅:help cpo-v
。除非你有非常充分的理由这样做,不要使用~/.exrc
。这通常是个不好的建议。 - undefined