Vim(7.2)にはr
、1つの文字を別の文字に置き換える通常モードのコマンドがあります。たとえば、入力rX
するとカーソルの下の1文字が置き換えられ、X
通常モードに戻ります。
単一の文字を挿入してから通常モードに戻る通常モードコマンドはありますか?
Vim(7.2)にはr
、1つの文字を別の文字に置き換える通常モードのコマンドがあります。たとえば、入力rX
するとカーソルの下の1文字が置き換えられ、X
通常モードに戻ります。
単一の文字を挿入してから通常モードに戻る通常モードコマンドはありますか?
回答:
MelBurslanは、この機能がネイティブに存在しないことは正しいですが、ユーザー定義のコマンドを作成することは、実際に作成する方法ではありません。私は数分間いじって、これを思いつきました:
:nmap <silent> ,s "=nr2char(getchar())<cr>P
これは、レジスター(この場合は「式」レジスター)からテキストを「入れる」ことを含むVimのトリックを使用します。レジスタにプラグインされる式は「nr2char(getchar())
」で、単一の文字列を返します。
この方法でマッピングを作成した理由は、マッピングの「途中」でユーザー入力を取得するのは難しいため、予測できない動作をする可能性があるためです。このマッピングでさえ、ユーザーが文字を入力するのを待っている間、カーソルをステータス領域にドロップします。