これまでは 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 へのシンボリックリンクです。または のような絶対的な基本コマンドについては、まったく何も変更されていません。 読み取り専用モード (オプションまたは コマンド で開始) でも、コマンドは機能し、読み取り専用ファイルの変更に関する警告が発行されるだけです。 ひどい「簡単」モード (オプション) でも、説明されているような動作は発生しません。vim
vim-tiny
i
x
-R
view
-y
結論: これは、単に Debian 8 から 9 に切り替えただけでは発生しません。
何をするか:
type vi
実際に何を実行しているかがわかります。例えば/usr/bin/vi
vi --version
実際に何を実行しているのかを伝える必要があります- もし本当に または なら
vi
、vim
かなり奇妙なキーバインディングを使用しています。別のユーザーとして試して、それがローカルかグローバルかをテストしてください。
OP のコメントを読んで更新:
「Debian 9 では、「i」を押しても何も起こりませんが、2 回押すと「i」が 1 つ表示され、残りのテキストを入力できるようになります。」なので、i実際に押すと何かが起こります。つまり、以前と同じように挿入モードになります。最後の行に何も表示されないのでイライラするだけです。この点でも、Debian 8 と 9 の間に違いはないはずです。
この動作の原因としては、次の 2 つが考えられます。
- 設定しましたノーショーモード
~/.vimrc
または他の構成ソースのどこかに またはと入力して、動作が通常どおりかどうかを確認します。通常どおりであれば、 または システムの構成で または を確認し:set showmode
、削除します。:set smd
set nosmd
noshowmode
vim
- または、使用しているロケールに欠陥があります。 を実行して
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