![通常モードで任意の文字「上」にカーソルを置くルールはありますか? [閉鎖]](https://linux33.com/image/91517/%E9%80%9A%E5%B8%B8%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E4%BB%BB%E6%84%8F%E3%81%AE%E6%96%87%E5%AD%97%E3%80%8C%E4%B8%8A%E3%80%8D%E3%81%AB%E3%82%AB%E3%83%BC%E3%82%BD%E3%83%AB%E3%82%92%E7%BD%AE%E3%81%8F%E3%83%AB%E3%83%BC%E3%83%AB%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
これは、編集者の動作に完全に慣れていない人が不自然な編集動作を観察したときに発生する一般的な問題ですvim
。
insert
カーソル位置をすぐに変更するには、Enterを押して終了します。- (間違った)削除と貼り付けの
[ ]word
結果some[ ][ ]wordand the rest
(明確にするためにスペースが表示されます[ ]
)
vim
特に明記しない限り、テキストを常にカーソル位置の左側に貼り付け、挿入および追加するルールを定義する同様のエディタがあるとします。もちろん、改行文字の上にカーソルを置くことができなければなりません。
これにより、そのエディタが正しく設計されていませんか(たとえば、独自のコマンドやタスクと一致しません)。
言い換えれば、vim
合意は恣意的または慎重に作られたのでしょうか?
答え1
Sato KatsuraとJulie Pelletierがこの混乱を解決し、Vimはあなたが望むように使用できる豊富なコマンドとオプションを提供します。挿入モードがそのように動作する理由のいくつかについて説明します。
端末では、いいえ常にカーソルの下にあります。たとえば、次のようになります。
- カーソルがEOLの上にある可能性があります。
- カーソルが改行文字の上にある場合がありますが、改行文字は端末に表示されない文字です。
Vimでは、normal mode
カーソルが文字のない場所にも配置できます。この動作を確認するには、空白行に注意してa同じiことを行います。
入力方法が別の別の理由は、insert-mode
パターン検索がカーソルを現在のカーソル位置から一致の先頭に移動させるためである。一致する長さの上にカーソルを移動できるので、挿入コマンドが一致する前に挿入モードに入ることを望みます。
また、入力すると一時的にカーソルが1文字前に/移動するため、normal-mode
同じパターンの新しい一致に対して検索が繰り返されることがあります。
答え2
vi
私はあなたの混乱を理解していませんが、次のような非常に厳しい指示がありますvim
。
i: insert text before the cursor
I: insert text at the beginning of the line
a: append text after the cursor
A: append text at the end of the line
p: paste the buffer after the cursor
P: paste the buffer before the cursor
リストは続きます。