Help us understand the problem. What is going on with this article?

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

More than 5 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

omega999
iOSエンジニア 勉強になったらメモします。
iwate-pu
岩手県滝沢市にある公立大学です。Qiitaではソフトウェア情報学部生や出身の人が多いです。
https://www.iwate-pu.ac.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away