繁体   English   中英

退格键在 Vim/vi 中不起作用

[英]Backspace key not working in Vim/vi

我只是对.vimrc文件和.bash_aliases文件做了一些更改, .bash_aliases起我无法用退格键删除单词。

我的.vimrc文件有:

set nocompatible

set number
set incsearch
set autoindent
set ruler
set autowrite
set smarttab
set linebreak
set spell
set et
set title

set mouse=v
set history=50
set tabstop=4
set matchtime=2
set matchpairs+=<:>

syntax enable
filetype plugin indent on
filetype indent on
set sw=4

map <f2> :w\|!python %

hi SpellBad ctermfg=000 guifg=#000

我的.bash_aliases文件有两行 Vim:

alias vim="vim -c 'startinsert' -u ~/.vim/.vimrc"
alias vi="vi -c 'startinsert' -u ~/.vim/.vimrc"

我的~/.vim目录没有一个插件或脚本,所以插件不会导致这种情况。

~/.vim/.vimrc是一个符号链接。 实际的.vimrc文件位于~/vimrc/目录中,它是一个 git 存储库。

要允许在插入模式下对所有内容进行退格(包括自动插入的缩进、换行符和插入开始),您可以设置backspace选项:

:set backspace=indent,eol,start

要么

:set backspace=2  "compatible with version 5.4 and earlier

默认情况下,此选项为空,不允许您在上述内容上退格。 这是标准的 Vi 行为。

你可以把这一行放到你的vimrc文件中,让它在 Vim 启动时自动设置:

set backspace=indent,eol,start  " more powerful backspacing

此外,从 Vim 8.0 开始,如果没有找到用户 vimrc 文件,Vim 将通过加载defaults.vim脚本将backspace设置为该值。

就像 linux-newb 一样,我在全新的 Ubuntu 18.04 安装上,我的 vim 编辑器的行为与我在其他机器上使用的行为不同(包括您描述的退格行为)。 我没有意识到我实际上使用的是vi而不是vim (两者都是用vi执行的)。

安装vim然后编辑一个文件,恢复了我习惯的行为,包括像我期望的那样工作的退格。

sudo apt install vim

我的~/.vimrc文件的内容set nocompatible 在同一文件中添加了另一行以使退格键工作 -

set backspace=indent,eol,start

就跑

source ~/.vimrc

在同一个终端中进行更改以在同一个 shell 中立即生效。 无需打开vi并运行

:set backspace=indent,eol,start

我在 urxvt + tmux 中通过 SSH 在 Debian 7.8 上遇到了同样的问题。 我安装了 vim 和 vim-tiny。

删除 vim-tiny 解决了这个问题。

对我来说,我有下面的设置,但是退格仍然不起作用。

set backspace=indent,eol,start

最后,我发现以下行导致了这个问题。

inoremap <expr><Ch> neocomplete#smart_close_popup()

删除此设置后,退格键在插入模式下运行良好。

Reason :那是因为 Vim 将 CTRL-H 视为退格,而这一行在插入模式下重新映射到 neocomplete#smart_close_popup()。

对我来说(Debian服务器,连接其他linux的“Konsole”),卸载vim-tiny包并安装vim包后,退格键和箭头键的问题就解决了。

很多时候,如果使用像 Putty 或类似的 SSH 客户端,它也是所选 getty 类型的函数。 最可取的是使用 vt100+,因为它是最标准的仿真。

我已经有:fixdel不起作用。 我不得不删除它并用第一个建议替换它才能让它工作

上面没有什么对我有用。 试过CTRL+backspace它救了我

我已经从源代码编译了 vim8.2。然后我遇到了这个问题。 .vimrc插入source $VIMRUNTIME/defaults.vim后。 BackSpace有效。

sudo apt 安装 vim

运行这个并给出是,现在打开你的 vim 编辑器,退格键可以工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM