はじめに
vimを最新版にしようといろいろいじってたらおかしくなりました。
vimでインサートモード中はバックスペースが効くのですが、文字入力後に一度ノーマルモードに戻って、もう一度インサートモードになって先ほどの文字を消そうをすると消 え な い 。
対策
以下のコードを.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