Posted at

vimで文字が削除出来ないと思ったらバックスペースが効かなくなった

More than 3 years have passed since last update.


はじめに

vimを最新版にしようといろいろいじってたらおかしくなりました。

vimでインサートモード中はバックスペースが効くのですが、文字入力後に一度ノーマルモードに戻って、もう一度インサートモードになって先ほどの文字を消そうをすると消 え な い 。


対策

以下のコードを.vimrcに記述して解決しました。


.vimrc

set backspace=indent,eol,start



コントロールコード

ちなみに、vimでコマンドラインモードになってバックスペースを入力すると^Hと入力されてしまいました。

この^Hというのは コントロールコード と呼ばれるものです。 制御コード とも呼ばれますね。同じ意味です。

キーバインドを変更する時などにコントロールコードを入力しなければならない場合があります。

表示上では^Hとなっていますが、この文字通りに入力してもコントロールコードとしての意味を持ちません。

vimで入力する場合は、Ctrl + vを押してバックスペースやCtrl + hを押すと対応するコントロールコードが入力出来ます。

vimで色つけておけば、キーボードから直接入力した場合とCtrl + vと対応するキーを入力した場合では色が変わるのでわかりやすいと思います。


おわりに

こういう現象が起こった方は参考にしてみてください。

コントロールコードの入力方法は勉強になりました。

今回は以下の記事を参考にさせて頂きました。ありがとうございます。


cygwin vimで<BS>,<DEL>が効かないとき

http://blogs.yahoo.co.jp/momongamemonga/39861534.html