我刚刚对.vimrc文件和.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
Run Code Online (Sandbox Code Playgroud)
我的.bash_aliases文件有两行Vim:
alias vim="vim -c 'startinsert' -u ~/.vim/.vimrc"
alias vi="vi -c 'startinsert' -u ~/.vim/.vimrc"
Run Code Online (Sandbox Code Playgroud)
我的~/.vim目录没有单个插件或脚本,因此插件没有任何机会导致这种情况.
~/.vim/.vimrc是一个符号链接.实际.vimrc文件~/vimrc/位于git存储库的目录中.
Eug*_*ash 123
要允许在插入模式下退回所有内容(包括自动插入的缩进,换行符和插入开始),您可以设置backspace选项:
:set backspace=indent,eol,start
Run Code Online (Sandbox Code Playgroud)
要么
:set backspace=2 "compatible with version 5.4 and earlier
Run Code Online (Sandbox Code Playgroud)
默认情况下,此选项为空,不允许您对上述内容进行退格.这是标准的Vi行为.
您可以将此行放入您的vimrc文件,以便在Vim启动时自动设置它:
set backspace=indent,eol,start " more powerful backspacing
Run Code Online (Sandbox Code Playgroud)
此外,如果没有找到用户vimrc文件,从Vim 8.0开始,Vim将backspace通过加载defaults.vim脚本设置为此值.
Mat*_*ein 21
就像一个 linux-newb,我在一个全新的 Ubuntu 18.04 安装上,我的 vim 编辑器的行为与我在其他机器上的行为不同(包括你描述的退格行为)。我没有意识到我实际上使用的是vi而不是vim(两者都是用 执行的vi)。
安装vim然后编辑一个文件,恢复了我习惯的行为,包括像我期望的那样工作的退格。
sudo apt install vim
Run Code Online (Sandbox Code Playgroud)
我的~/.vimrc文件有内容set nocompatible。在同一文件中添加了另一行以使退格键工作 -
set backspace=indent,eol,start
Run Code Online (Sandbox Code Playgroud)
就跑
source ~/.vimrc
Run Code Online (Sandbox Code Playgroud)
在同一个终端中进行更改以在同一个 shell 中立即生效。无需打开vi并运行
:set backspace=indent,eol,start
Run Code Online (Sandbox Code Playgroud)