fromtoやfromtoなどのタグword
を囲んでVimで単語をラップしたいと思います。'word'
word
(word)
4 に答える
ティム・ポープの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
してドキュメントを呼び出してください。
<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+(
囲むか、現在の単語または視覚的な選択範囲を二重引用符で囲むマップ。
マッピングの内容は、「内部の単語|選択したテキストの変更、引用の挿入、単語の挿入、引用の挿入、挿入モードの終了」を意味します。
Tim Pope の Surround.vim を見てください。
このスニペットを使用して、初めて文字 M にマクロを記録します: qmcw'<cr>" '<esc>q その後 @m でやり直します
説明、最初は 10 回のストライキが必要です。
- qm は文字 m でマクロの記録を開始します
- cw 単語だけを変更して挿入モードにします
- ' 最初の引用を書き込みます
- <cr>" 挿入モードのまま、ステージ 2 で消去した単語を貼り付けます
- ' は他の周囲の引用符です
- <esc> 編集語に戻る
- ●マクロを終了します。
@m でそれを思い出してください: 今は 2 つのストライクだけを使用して囲んでいます...