11

fromtoやfromtoなどのタグwordを囲んでVimで単語をラップしたいと思います。'word'word(word)

4

4 に答える 4

21

ティム・ポープのvim-surroundを使用してください。ysw'単語を「`」でysw(囲むには、単語を「(」で囲みます。HTML タグなどの実際のタグで単語を囲みたい場合は<code>、 , を使用できますyswt。次に、プロンプトにタグを入力します。既存のサラウンド要素を変更する場合は、 を使用cswし、置換するサラウンド要素を入力して を押し<CR> (enter)、新しいサラウンド要素を入力します。

上記のコマンドを機能させるには、囲みたい単語の先頭にカーソルを置く必要があることに注意してください。

公式ページから:

cs"'内部で(つまり、c、s、二重引用符、単一引用符)を押します

"こんにちは世界!"

に変更するには

'こんにちは世界!'

を押しcs'<q>て、

こんにちは世界!

一周するには、 を押しcat"て取得します

"こんにちは世界!"

区切り文字を完全に削除するには、 を押しds"ます。

こんにちは世界!

カーソルを「Hello」に合わせて、ysiw](iwはテキスト オブジェクト) を押します。

[こんにちは世界!

中括弧を作成して、スペースを追加しましょう (スペースがない場合は、"{" の代わりに "}" を使用します)。cs]{

{ こんにちは世界!

yssb行全体をorで括弧で囲みyes)ます。

({ こんにちは世界!)

元のテキストに戻す:ds{ds)

こんにちは世界!

こんにちはを強調する:ysiw<em>

ハローワールド!

最後に、ビジュアルモードを試してみましょう。大文字V(行ごとのビジュアル モードの場合) を押し、続いて を押しますS<p class="important">

ハローワールド!

詳細な使用方法については、 をインストールvim-surroundしてから、 を使用:help surroundしてドキュメントを呼び出してください。

于 2012-04-24T21:11:49.290 に答える
4

<c-r>レジスタの内容、クリップボード、カーソル下の単語 ( ) などを挿入できるので、非常に便利です<c-r><c-a>。例:

nmap <space>' ciw'<c-r>"'<esc>
vmap <space>' c'<c-r>"'<esc>
nmap <space>( ciw(<c-r>")<esc>
vmap <space>( c(<c-r>")<esc>

space+'現在の単語または視覚的な選択範囲を一重引用符でspace+(囲むか、現在の単語または視覚的な選択範囲を二重引用符で囲むマップ。

マッピングの内容は、「内部の単語|選択したテキストの変更、引用の挿入、単語の挿入、引用の挿入、挿入モードの終了」を意味します。

于 2012-04-24T22:18:15.047 に答える
4

Tim Pope の Surround.vim を見てください

于 2012-04-24T21:07:18.450 に答える
3

このスニペットを使用して、初めて文字 M にマクロを記録します: qmcw'<cr>" '<esc>q その後 @m でやり直します

説明、最初は 10 回のストライキが必要です。

  • qm は文字 m でマクロの記録を開始します
  • cw 単語だけを変更して挿入モードにします
  • ' 最初の引用を書き込みます
  • <cr>" 挿入モードのまま、ステージ 2 で消去した単語を貼り付けます
  • ' は他の周囲の引用符です
  • <esc> 編集語に戻る
  • ●マクロを終了します。

@m でそれを思い出してください: 今は 2 つのストライクだけを使用して囲んでいます...

于 2013-08-19T22:19:44.587 に答える