カーソルから次の空の行まで視覚的に選択しますか?


11

現在の行から次の空の行をどのように選択しますか?

SHIFT+ は認識しVていますが、次の空の行にジャンプするか、下矢印キーを何度も押す必要があります。aのような一致する文字がある場合、これをうまく行う方法を知っ}ていますが、空の行に対してこれを行う方法がわかりません。

回答:


19

Vimは「段落」の概念を理解しています。Vimによる段落の定義は、空白行*で囲まれたテキストのブロックです。これで動作するいくつかのモーションとテキストオブジェクトがあります。

  • [count]}[count]段落を前に移動します。を使用<S-v>}して、現在の行から次の空白行までのすべての行を選択できます。これには空白行が含まれるため、を使用することができます<S-v>}k
  • [count]ip[count]段落を選択します。それiwは、まあ、段落を除いて(内の単語)のようなものです。を使用vipすると、現在の行から段落の最後までではなく、すべての段落が選択されます。
  • [count]ap–に似ipていますが、段落を囲む空白行が含まれます。

ここでの注意点の1つは、Vim 空白のみの行を「空白行」と見なさないことです。したがって、:set list動作しないように見える場合は、これを(たとえばで)確認してください。


また、いつでも必要なパターンを検索できることを忘れないでください。空行は/^$;で取得できます。または、空の行自体を選択しない場合は\n\n、最初の空白行の前の行末にカーソルを置くことができます。

  • <S-v>/^$<CR>
  • <S-v>/\n\n<CR>

*いくつかの例外があります:help paragraph。完全なロジックについては、を参照してください。しかし、ほとんどの目的と目的では、この定義は適切に機能します。



1

単に押すだけでShift + }、テキストを選択せず​​に次の空の行に移動します。

を使用するとSift + v + }、vimは現在のカーソル位置から次の空の行までのテキストを選択します。ESC選択モードを終了するには、を押す必要があります


なんでShift + }}移動は簡単です。他の回答を参照してください。
ラルフ、

@Ralfは、キーボードが直接押すことなく挿入をサポートしている場合を除きSift + }、中かっこを起動/入力し}ます}Shift
Junaid
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.