はじめに
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