4

Vim では、いくつかの行を視覚的に選択してから、視覚的な選択が上向きに作成されたか下向きに作成されたかに応じて、コメントアウトされた選択範囲のコピーを元の選択範囲の上または下に貼り付けたいと考えています。したがって、100 行目でビジュアル モードを開始し、カーソルを 10 行上に移動すると、上向きのビジュアル選択になります。一方、100 行目から開始して、カーソルを 10 行下に移動すると、下向きの選択になります。line("'<")どちらのline("'>")場合も同じなので、Vim は常に小さい方の番号を選択の開始として選択するように見えます。視覚的な選択が上向きか下向きかを判断する方法はありますか?

4

2 に答える 2

2

(マッピング / コマンドで) を介して最初にビジュアル モードを終了すると、カーソル ( )の位置 / 行をおよびマークと<Esc>比較できます。次に、マークを使用するか(ビジュアルモードを終了しても値を保持します)、または で再選択します。line('.')'<'>:normal! gv

于 2012-09-10T15:57:59.273 に答える
0

選択を開始する前にマークを付け、選択を終了するときに別のマークを付けることができます。

ma
V
jjj
<Esc>
mb

かどうかを確認しline("'a") < line("'b")ます。

于 2012-09-10T16:03:51.683 に答える