Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在GVIM中以插入模式删除旧文本_Vim - Fatal编程技术网

如何在GVIM中以插入模式删除旧文本

如何在GVIM中以插入模式删除旧文本,vim,Vim,我刚刚为PC下载了GVIM,为Mac下载了MacVIM,它们的行为与我在MSYS中使用的VIM不同 问题出在这里。我在VIM中打开一个文件并进入插入模式。我不能再删除任何旧文本。我可以插入新文本并删除它们,这样我就知道我的退格键和删除键正在工作。更令人恼火的是,如果我将光标移到另一行并返回到原始行,我键入的新文本也将无法删除 命令行VIM允许我在插入模式下删除旧文本,但GUI版本不允许。我查了一下选项,在谷歌上搜索了一下,但什么都没找到 有人知道如何使GUI版本的行为类似于VIM的命令行版本吗?

我刚刚为PC下载了GVIM,为Mac下载了MacVIM,它们的行为与我在MSYS中使用的VIM不同

问题出在这里。我在VIM中打开一个文件并进入插入模式。我不能再删除任何旧文本。我可以插入新文本并删除它们,这样我就知道我的退格键和删除键正在工作。更令人恼火的是,如果我将光标移到另一行并返回到原始行,我键入的新文本也将无法删除

命令行VIM允许我在插入模式下删除旧文本,但GUI版本不允许。我查了一下选项,在谷歌上搜索了一下,但什么都没找到

有人知道如何使GUI版本的行为类似于VIM的命令行版本吗?

检查

:set backspace?
它可能会这样说

backspace=indent,eol
这意味着您可以单击backspace删除行尾和缩进字符。为了能够删除进入插入模式之前出现的文本,您需要添加“开始”

:set backspace=indent,eol,start
这相当于

:set backspace=2
有关更多详细信息,请参阅

:help 'backspace'

msys中的vi只是vim的旧版本。(msys 1.0.10中的5.8.9)。因此,要么更改了默认设置,要么您使用的gvim设置文件与msys不同。

这就是我在Cygwin中遇到的问题,@michaeltwofish的解决方案非常有效。