
私は、3行目の9番目と11番目のシンボルを削除するコマンドをVimで書こうとしています。これを実行しました3s/9, 11///
が、期待通りには何も起こりませんでした。皆さんのアドバイスを参考にしてこれを実行できれば幸いです。より正確に言うと、3行目の9番目のシンボルと11番目のシンボルを削除したいのです。たとえば、3行あります。
- 海面から3メートルの高さ
- 海面下3メートル
- vimで助けが必要
したがって、3 行目の 9 番目の記号 (単語「some」の文字「e」) と 11 番目の記号 (単語「help」の文字「h」) を削除したいと思います。
答え1
複数回の一致については、27.4 Matching multiple times
ユーザー マニュアルの第 27 章のセクションで説明されています (を参照:help usr_27.txt
)。
次のコマンドは、行に少なくとも9文字が含まれている場合、行3の最初の9、10、または11文字を削除します。行に含まれる文字数がそれより少ない場合は、E486: Pattern not found:
:3s/.\{9,11}//
それがあなたが望んでいることかどうかはわかりません。そうでない場合は、質問を更新してください。
答え2
編集モードで次のように入力します。
08lxl.
0
カーソルを行頭に移動する8l
カーソルを8文字分前進させるx
カーソルの下の文字を削除l
カーソルを1文字分前進させる.
最後のコマンドを繰り返す (x)
これをキーにバインドしたい場合(例,
:):
:map , 08lxl.
それ以降、編集モードで押すたびに,
、それらのコマンドが実行されます。