5

バッファ内のテキストのチャンクを選択して貼り付けるためにマウスを使用することをあきらめたいです。kbだけでこれを行う最も効率的な方法は何ですか? つまり、任意の行に移動し、部分文字列をコピーし、前の位置に戻って貼り付けます。

4

6 に答える 6

5

行にすばやく移動したい場合は、入力して検索を使用し /SUBSTRING、正しい部分文字列を見つけたらEnterキーを押します。必ずhlsearchとincsearchを使用して :set incsearchください:set hlsearch

正しい行にいるときに、行全体yyまたは単語全体を。でヤンクしyawます。次に、2つのバッククォートを入力して、検索を開始した場所に戻ります`` 。次に、ヤンクした行/文字列を次のように貼り付けることができます。p

于 2010-02-26T13:57:21.423 に答える
5

非常に簡単な方法:

  1. で行を選択しますShift-V
  2. でテキストを「ヤンク」(=コピー)しますy
  3. でテキストを貼り付けpたい位置に貼り付けます。

もちろん、コピーして貼り付ける方法は他にもたくさんありますyy。たとえば、現在の行をコピーします。

いくつかの VIM チュートリアルを実行してください。すべてを少しずつ学習するよりも優れています。

于 2010-02-26T12:21:30.150 に答える
3

私の通常の方法は次のとおりです。

  1. vV、またはCtrl+でテキストを選択するには、ビジュアル モードを使用します。v
  2. 使用してヤンクy
  3. 使用したい回線に移動する123Gか、:123
  4. tまたはを使用して、その行内の目的の場所に移動しますf
  5. pまたはでテキストを入れますP

g,スポット間を行ったり来たりする必要がある場合は、 と を使用してジャンプを繰り返しますg;

于 2010-02-26T13:45:28.973 に答える
3
  • 入力して現在の位置をマークしますma(a の代わりに他の文字を使用できます。これは単なる「名前付き位置レジスタ」です)。
  • たとえば、/検索を使用して、行と部分文字列に移動します
  • でテキストをヤンクするy<movement>か、 でマークしてshift/ctrl-vからy
  • ```a`` (バッククォート) で以前にマークした位置に戻ります
  • pまたはでバッファを貼り付けますP
于 2010-02-26T13:43:30.783 に答える
1

「部分文字列」の意味がわかりません。行 50 を現在の位置にコピーする場合は、次を使用します。

:50t.

行 50 を現在のカーソル位置に移動する場合は、次を使用します。

:50m。
于 2010-02-26T13:47:06.297 に答える
1

現在の行の後に貼り付けるには "p" を使用し、現在の行の上に貼り付けるには "P" を使用します。

于 2010-02-26T12:19:11.920 に答える