【问题标题】:vim not allowing backspacevim 不允许退格
【发布时间】:2012-05-23 20:32:41
【问题描述】:

文件foo 有文字:

This| is a line.

如果我将光标放在|,跳到insert 模式,然后按退格,什么也没有发生。如果我输入一些东西,我可以删除我输入的东西,但只能回到插入开始的地方。例如,如果我将光标放在行尾并键入word,我可以删除word,但不能删除. 或它左边的任何内容。

这很烦人。这是什么vim 设置?

【问题讨论】:

  • 有人说你可以通过使用 emacs 中的 vim 设置来解决这个问题。
  • 您始终可以将光标放在字符上,然后按 d 然后按 l。这将删除 1 个正确的字符。
  • @scrappedcola,您也可以通过简单地输入 x 来保存击键。但是如果你想改变字符,你可以使用r<newchar>,或者,进入插入模式,cl,它可以派上用场。 (事实上​​,c<any motion> 有效)

标签: vim


【解决方案1】:

说明

“退格”设置控制此行为。

从帮助页面:

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

【讨论】:

  • 这太疯狂了。你不要碰退格!退格删除向左移动的字符,为什么一定要复杂?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
相关资源
最近更新 更多