Vim で、検索行にテキストを貼り付ける方法はありますか?

StackOverflow https://stackoverflow.com/questions/101258

  •  01-07-2019
  •  | 
  •  

質問

探したい $maximumTotalAllowedAfterFinish それを次のように置き換えます $minimumTotalAllowedAfterFinish. 。長いテキストを入力する代わりに、次のようにします。

:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g

コマンドラインでは「」と入力できないため、これらの長い変数名を検索行にコピーする方法はありますか?p「貼り付ける?

役に立ちましたか?

解決

次のように入力すると、番号付きまたは名前付きレジスタの内容を挿入できます。 CTRLR {0-9a-z"%#:-=.}. 。入力することで CTRL-R CTRL-W 現在の単語をカーソルの下に貼り付けることができます。見る:

:he cmdline-editing

詳細については。

他のヒント

通常どおりコピーしてから実行します CtrlR" 貼り付ける。他にもたくさんあります CtrlR ショートカット (例: 電卓、現在のファイル名、クリップボードの内容)。タイプ :help c_<C-R> 完全なリストを表示するには、

タイプ q: 新しいバッファで履歴編集モードに入ります。次に、バッファの最後の行を編集して、 を押します。 Enter それを実行するために。

コピー:
1) v (またはビジュアルモードでマウスで強調表示)
2) y (ヤンク)

ペースト:
1) / (検索モード)
2) Ctrl + R + 0 (ヤンクされたレジスタからペースト)

または、 vim バッファーにコマンドを作成します。それをバッファに入力します。

s/foo/bar/gci

そして、それを名前付きレジスタにコピーします。 "ayy (カーソルがその行上にある場合)。

これで、「」の内容を実行できるようになります。a" Vim の Ex コマンドラインから次のように登録します。

:[OPTIONAL_RANGE]@a

いつも使っています。

通常は、マウスで選択してこれを行います (おそらく Ctrlインス または CtrlC 選択後)、コマンド/検索行で中クリック (または シフトインス または CtrlV).

別の方法は、テキスト バッファーで使用可能なすべての編集を使用して、コマンド/検索行をテキスト バッファーに書き込むことです。 : そして、すべてがライン上で次のように実行されます。

"add@a

コマンドライン全体をバッファに保存します a, を選択して実行します。ただし、コマンド履歴には保存されません。

上記のキー押下の例として、テキスト バッファーに次の行を作成してみてください。

:%s/$maximumTotalAllowedAfterFinish/$minimumTotalAllowedAfterFinish/g

最後に、入力できます q: テキストバッファに履歴編集を入力します。

パターンに追加したい単語の上にカーソルを置き、 を押します。 / または : を押して検索モードまたはコマンドモードに入り、 を押します。 CtrlRCtrlW 単語をコピーします。 ソース

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top