以前はこの種のもののプラグインがあったはずですが、必要になったので(自然に)見つけられないようです。
大括弧、引用符、または一般的に一致する文字のリストを選択する最も簡単な方法は何ですか?
write ( *, '(a)' ) 'Computed solution coefficients:'
たとえば、ここでは(a)
またはComputed solution coefficients:
を選択します。
複数行ではなく、1行で発生する場合にのみ興味があります。
かっこ内に取得するナビゲーションキーを使用し、yi(
またはyi)
のいずれかを使用して、一致するかっこ内のすべてをコピーできます。これは、角かっこ(例:yi]
)および中括弧でも機能します。 y
に加えて、テキストを削除または変更することもできます(例:ci)
、di]
)。
ダブルクォートとシングルクォートでこれを試してみましたが、そこでも動作するようです。あなたのデータのために、私は:
write (*, '(a)') 'Computed solution coefficients:'
カーソルをC
に移動し、yi'
と入力します。カーソルを空白行に移動し、p
を押して、取得します
Computed solution coefficients:
CMS注意 のように、これはビジュアルモードの選択でも機能します。vi)
、vi}
、vi'
などを使用してください。
単一引用符から選択するには、通常vi'
(「内部単一引用符を選択」)を実行します。
括弧ブロック内では、vib
( "select inner block")を使用します
中括弧ブロック内では、viB
( "capital B")を使用できます
選択を「包括的」にする(引用符、括弧、または中括弧も選択する)には、a
の代わりにi
を使用できます。
マニュアルの テキストオブジェクトの選択 、またはvim内の:help text-objects
について詳しく読むことができます。
この選択方法は組み込みで、Vimヘルプで詳しく説明されています。 XMLタグなどをカバーしています。
:help text-objects
を参照してください。
単一引用符内で選択するには、vi'
を使用します。
括弧内で選択するには、vi(
を使用します。
矢印またはhjkl
を使用してブラケット式の1つに移動し、v
を使用して視覚(選択)モードを選択し、%
を使用して他のブラケットにジャンプします。
searchpair
組み込み関数を使用して.vimrcにVim関数を記述します。
searchpair({start}, {middle}, {end} [, {flags} [, {skip}
[, {stopline} [, {timeout}]]]])
Search for the match of a nested start-end pair. This can be
used to find the "endif" that matches an "if", while other
if/endif pairs in between are ignored.
[...]
最も投票された回答に詳細を追加します。
Gvimを使用していて、クリップボードにコピーする場合は、次を使用します。
"+<command>
すべてのコンテンツを角かっこ(または括弧または中かっこ)の間でコピーするには
例:"+yi}
は、カーソルがある中括弧の間のすべてのコンテンツをクリップボードにコピーします。
プラグインvim-textobj-quotes
を作成しました: https://github.com/beloglazov/vim-textobj-quotes
任意のタイプの最も近い引用符のペアにテキストオブジェクトを提供します。 iq
またはaq
のみを使用すると、現在カーソルを囲んでいる単一引用符( ')、二重引用符( ")、または逆引用符(`)の内容を操作できます。 、または背後(優先順)言い換えれば、引用符に到達するために必要なときに前方または後方にジャンプします。
例を見ればわかりやすくなります(カーソルは|
で表示されます):
foo '1, |2, 3' bar
; diq
を押した後:foo '|' bar
foo| '1, 2, 3' bar
; diq
を押した後:foo '|' bar
foo '1, 2, 3' |bar
; diq
を押した後:foo '|' bar
foo '1, |2, 3' bar
; daq
を押した後:foo | bar
foo| '1, 2, 3' bar
; daq
を押した後:foo | bar
foo '1, 2, 3' |bar
; daq
を押した後:foo | bar
上記の例は一重引用符で示されていますが、プラグインは二重引用符( ")および逆引用符(`)でもまったく同じように機能します。
ciq
、diq
、yiq
、viq
など、他の演算子も使用できます。
詳細については、上記のgithubページをご覧ください。