インフラエンジニアbacchiのわかったことまとめ

bacchi.me

Vimでバックスペースがきかない時の対処法

Vimのバージョンを上げたりごにょごにょしたら挿入モードで BS や を押しても何も反応しなくなった。

下記を.vimrcに追加してやったらなおりました。

set backspace=indent,eol,start

ヘルプによると以下のようなことらしい。

'backspace' 'bs'
'backspace' 'bs'        文字列  (既定では ""、defaults.vim 内で
"indent,eol,start" にセットされる)
グローバル
{Vi にはない}
挿入モードでの <BS>, <Del>, CTRL-W, CTRL-U の働きに影響する。値はキー
ワードのコンマ区切りのリストである。それぞれのキーワードがバックスペー
スの働く対象を定めている。
値      効果 
indent  autoindent を超えてバックスペースを働かせる
eol     改行を超えてバックスペースを働かせる (行を連結する)
start   挿入区間の始めでバックスペースを働かせるが CTRL-W と CTRL-U は
挿入区間の始めでいったん止まる

値が空のときは、バックスペースの働きはVi互換になる。

バージョン 5.4 またはそれ以前との互換性を保つには次のようにする。
値      効果 
0     ":set backspace=" と同じ (Vi互換)
1     ":set backspace=indent,eol" と同じ
2     ":set backspace=indent,eol,start" と同じ

<BS> や <Del> で望み通りの動作ができないときは :fixdel を参照。
NOTE: このオプションは、'compatible' がオンになると "" になるので注意。
  • B!