2011-10-26 6 views
9

私は頻繁にヤンク、削除、およびこのような何かを使用して貼り付けます。Vimでビジュアルモードの相対範囲を操作する最も良い方法は何ですか?

:3,6y 

はVimの7以来、私は相対行番号を使用してに切り替えました。 h,j,k,lなどのコマンドで相対線番号を使用する方がはるかに簡単です。

相対線番号に切り替えるので、絶対範囲(例::3,6y)で操作するのが困難です。 Vimが相対行番号を表示しているので、絶対行番号を選択する必要があるかどうか判断するには時間がかかります。

セットアップで相対的な行番号が表示されている場合、範囲でビジュアル選択を使用する最善の方法は何ですか?ナイーブに、私は次のようなものを探しています:

:-2,+8y 

(yank the lines from 2 lines above my current position to 
8 lines below my current position.) 
+2

申し訳ありませんが、どのように正確に削除するには、次のようなものを使ってビジュアルモードでヤンクアンドペーストしてください: ':v 3,6y'?私はこのコマンドがどのように視覚モードに関係するのか理解できません。 – sidyll

+1

Opps、私はこの質問がビジュアルモードのために表現されるつもりはなかった。私はそれが正しいように編集しました。ありがとう。 – drbunsen

答えて

9

あなたは素朴なものを試しましたか?

:-2,+8y:.-2,.+8yに相当し、必要な処理を行う必要があります。

数値を指定しない場合は、1と仮定します。したがって、:,+yは、.,.+1 yを意味します。現在の行と次の行が無効になります。

:help rangeについてはよく説明されていません。関連する部分はここにある:

教えてくれないドキュメントが + R -は何も付いていない場合は、その .が想定されていることは何ですか
Line numbers may be specified with:  *:range* *E14* *{address}* 
    [...] 
    .  the current line    *:.* 
    [...] 
Each may be followed (several times) by '+' or '-' and an optional number. 
This number is added or subtracted from the preceding line number. If the 
number is omitted, 1 is used. 

+0

ありがとう、これは私が探していたものです。私はドキュメントからのピリオドの使用を理解していなかったし、負の数を使用するときには '逆方向の範囲が与えられ、スワップするにはOK(y/n) 'となっていました。 – drbunsen

関連する問題