1

VIM を使用して、空白文字を含む単語グループを削除する方法はありますが、スクリプト作成時にアクセスしたい標準のグループです。具体的には、次のテキストの一部にカーソルを合わせるとhelp="initialize, lines, h2, derivs, tt, history",、下からどのように削除されるでしょうか。特定のマッピングを作成する必要があるかもしれません。しかし一方で、VIM を使用してスクリプト プログラムを編集している場合、このようなテキストにアクセスしたいと思うのはごく自然なことのように思えます。

parser = argparse.ArgumentParser()
parser.add_argument("task", help="initialize, lines, h2, derivs, tt, history", default='yes')
4

3 に答える 3

1

Vim の観点から、およびその設計目標に従って理にかなっているのは、より高いレベルのタスクを達成するために、小さくて一般的な要素とそれらを組み合わせるためのいくつかのルールを提供することです。多数のテキストオブジェクトとモーションで非常にうまく機能しますが、常にドメイン固有のタスクを繰り返さなければならず、まさに Vim の拡張性が発揮されるところです。ユーザーとプラグイン作成者が、カスタム マッピング/オブジェクト/関数と… プラグインでギャップを埋める場所です。

たとえば、マクロを記録し、後で再利用するためにマップすることは非常に簡単です。または、すばやくダーティなカスタム テキスト オブジェクトを作成します…</p>

次のスニペットは、サンプルで動作するはずです。

xnoremap aa /\v["'][,)]/e<CR>o?\v\s+\w+\=<CR>
onoremap aa :normal vaa<CR>

これを使用すると、その引数内のどこからでもdaacaayaaおよびを実行できます。vaa

明らかに、このソリューションは非常に具体的であり、より一般的なものにすることは、間違いなくもう少し検討を必要としますが、Ingo の回答のように、比較的スマートなソリューションがすでに出回っています。

于 2013-09-02T19:26:06.263 に答える
1

"削除したいの中にいる場合は、次を使用します。

di"diW

あなたが上記の場合help=、私は次のようなものを使用します:

d/defEnter

に遭遇するまですべてを削除しdefault、その後にいくつかxの 、および左回りの動きが続き、残りの文字を削除します。

新しいマッピングが必要だとは思いませんが、経験は異なる場合があります。

于 2013-09-02T15:50:56.753 に答える