viの挿入モードでバックスペースが文字を消去しません


70

私はviが初めてで、実際に今日からviを学び始め、backspaceキーの動作にとらわれています。

実際、Ubuntu 12.04で初めてviを起動したとき、バックスペースキーは正常に機能していましたが、その後奇妙に動作し始めました。挿入モードでバックスペースを押すと、文字を消去するのではなく、1箇所だけ左に移動します。

デフォルトのバックスペース機能を取り戻すにはどうすればよいですか?vimをインストールしたり、nocompatibiltyを設定したりしないことに注意してください。

回答:


39

これはviの正しい動作であり、文字は消去されますが、vimのように空白に置き換えても表示されません。消去された文字を別の文字で上書きするか、コマンドモードに戻ると明らかになります。

たとえば、空の行でコマンドモードを開始すると、次の行に結果が含まれfoます。

ifooBackspaceEsc

Escキーを押す前に、行はを読み取りますfooが、最後の行はo「消去列」としてタグ付けされています。http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html#tag_20_152_13_88を参照してください(主にその見出しの下の4を参照し、<Control> -Hについてさらに読むためにさらに下を参照します)


73

これが最も簡単な解決策です。
ターミナルを開き、ホームディレクトリに移動して入力します

vi .vimrc

新しいファイルを開くと、これらの行がファイルに追加され、保存して終了します

$ set nocompatible
$ set backspace=2

9
OPは、使用したくないと述べましたnocompatibility
キリ

1
uはまた、二行目addigでちょうどそれを行うことができていない互換性のための必要はありません
Adithya Chakilam

1
2行目は、1行目も追加した場合にのみ機能します。
djjeck 14

空の.vimrcから開始し、iTerm2のMacでbackspaceが機能しない理由を知りました。どうもありがとう!
イゴールマリク

@ minerz029を追加しますが、これはページタイトルにそのような資格がなかったため、ほとんどの人がここにいる答えです。
Muhd

23

でカーソルを移動して、「挿入」モードに変更する必要がありますi。文字を直接削除する方法は他にもあります。VI クラスを教えるときに使用するパワーポイントはこちらからダウンロードできます。

「コマンド」モードになっているようです。カーソルを移動するには:
H=左、J=上、K=下、 L=右

あなたのカーソルはあなたがすることができます配置したら削除し、次のようにテキストを:
x 文字を削除下のカーソルが
X 文字を削除する前に、カーソルを
dwカーソルから削除し、次の単語には、
dd削除するにカーソルがオンになっているが。

テキスト入力するには、テキスト入力モードのいずれかを使用できます。
aテキストを追加し、右カーソルの
Aにテキストを追加し終わり、現在の行の
iにテキストを追加し、左カーソルの
Iにテストを追加しbeginin現在の行の
o新しい行を開きます下に現在の行をし、テキスト入力モードであなたを置く
Oオープン新しい行を現在の行のに置き、テキスト入力モードにします

テキスト入力モードを終了し、コマンドモードに戻るには、を使用しますEsc

変更を元に戻す:(学生のお気に入り)入力
u最後のコマンドを
U元に戻す**現在の行へのすべての変更を元に戻す**

保存/終了するには: :w(保存)ファイルを書き込みして開いたままに
:wq書き込む(保存に)ファイルをして出て VI
:q終了する(終了し)を使用すると、何も変更を加えていないしている場合は
:q!(出口)を終了し、保存せずに変更を
ZZ書き込む(保存)ファイルをして出て VIを(と同じ:wq


11
OP は挿入モードで神秘的な振る舞いが起こる述べました。したがって、これは質問に対する答えではありません。
LarsH

実際には、OPは挿入モードではありませんでした。質問が編集されました。
アーガスビジョン

1
OK。正解です。推測したようです。VIを初めて使用するほとんどの人が、モードの切り替えやコマンドモードでの操作に関する問題に遭遇するのは私の経験です。私の学生は、単にユーザーエラーであるか、コマンドセットを把握していない場合に、VIの動作が不安定であると文句を言い、非難します。
アーガスビジョン

1
分かりやすい。それが非挿入モードに対する一般的な反応であることに同意します。
-LarsH

Argusは、「挿入モード」が編集の質問のタイトルに追加されましたが、最初から質問の本文にありました。
LarsH

13

完全なvimパッケージをインストールして、バックスペースと矢印キーの機能を取得します

sudo apt-get update
sudo apt-get install vim

期待どおりに機能しています。.ベストアンサー
ヴィッキー

それが完璧な答えです。構成ファイルを編集する必要はありません。vim-runtimeパッケージをインストールするだけで、すべてが以前と同じように機能します。ありがとう!
オリーDメス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.