1. ホーム
  2. vim

[解決済み] Vim/viでBackspaceキーが効かない。

2022-09-22 23:12:18

質問

私はちょうど .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

そして、私の .bash_aliases ファイルにはVim用の2行があります。

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

私の ~/.vim ディレクトリにはプラグインやスクリプトが一つもないので、プラグインがこの問題を引き起こす可能性はないでしょう。

~/.vim/.vimrc はシンボリックリンクです。実際の .vimrc ファイルは ~/vimrc/ ディレクトリにあります。

どのように解決するのですか?

挿入モードですべてのものにバックスペースを適用するには (自動的に挿入されるインデント、改行、挿入の開始を含む)、次のように設定します。 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 はそのファイルに対して backspace を読み込んでこの値にします。 defaults.vim スクリプトを読み込むことで、この値を変更できます。