Debian 9 の vi でテキストを挿入および削除する方法

Debian 9 の vi でテキストを挿入および削除する方法

これまでは Debian 8 でのみ vi を使用したことがあり、「i」を押して任意のテキストを追加できました。削除も問題なく動作していました。しかし、Debian 9 では vi の動作が異なっているようで、「i」を押しても何も起こりません。

Debian 8 では、「i」を押すと、下部に「INSERT」と表示され、テキストの変更を開始できることを意味します。Debian 9 では、「i」を押しても何も起こりませんが、2 回押すと「i」が 1 つ表示され、残りのテキストを入力できます。

今は SSH ポートを変更したいだけなので、文字「#」を削除してポート 22 を別のポートに変更したいだけですが、この簡単なタスクも今は実行できません。

Debian 9 の vi 用のコマンドチュートリアルはありますか?

答え1

通常、Debian 9 では、 はバージョン 8.0 のまたは/usr/bin/viへのシンボリックリンクですが、Debian 8 ではバージョン 7.4 へのシンボリックリンクです。または のような絶対的な基本コマンドについては、まったく何も変更されていません。 読み取り専用モード (オプションまたは コマンド で開始) でも、コマンドは機能し、読み取り専用ファイルの変更に関する警告が発行されるだけです。 ひどい「簡単」モード (オプション) でも、説明されているような動作は発生しません。vimvim-tinyix-Rview-y

結論: これは、単に Debian 8 から 9 に切り替えただけでは発生しません。

何をするか:

  • type vi実際に何を実行しているかがわかります。例えば/usr/bin/vi
  • vi --version実際に何を実行しているのかを伝える必要があります
  • もし本当に または ならvivimかなり奇妙なキーバインディングを使用しています。別のユーザーとして試して、それがローカルかグローバルかをテストしてください。

OP のコメントを読んで更新:

Debian 9 では、「i」を押しても何も起こりませんが、2 回押すと「i」が 1 つ表示され、残りのテキストを入力できるようになります。」なので、i実際に押すと何かが起こります。つまり、以前と同じように挿入モードになります。最後の行に何も表示されないのでイライラするだけです。この点でも、Debian 8 と 9 の間に違いはないはずです。

この動作の原因としては、次の 2 つが考えられます。

  • 設定しましたノーショーモード~/.vimrcまたは他の構成ソースのどこかに またはと入力して、動作が通常どおりかどうかを確認します。通常どおりであれば、 または システムの構成で または を確認し:set showmode、削除します。:set smdset nosmdnoshowmodevim
  • または、使用しているロケールに欠陥があります。 を実行してLANG=Cから起動してくださいvi

答え2

一番上の回答は問題を示唆していますが、問題は具体的にはこのバージョンの Debian のデフォルト設定が vim.tiny 設定であることです。代わりに vim.basic 設定をダウンロードして使用すると、期待どおりに動作します。

apt-get install vim

次に、vim.basic が選択されていることを確認します。

update-alternatives --config vi

答え3

vi/vim がインストールされている場合はvimtutor、コマンド ラインでそれを入力し、ウォークスルーに従ってください。

を使い慣れている場合はvi、 を試してくださいvim。これは改良版ですviが、実質的に同じコントロールを使用します。そして、それが期待どおりに動作するかどうかを確認してください。

編集モードを開始および終了するためのi/の動作は、カーネルの更新によって変更されることはありません。esc

関連情報