[英]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.