我如何从中得到:
hello world
hello world
hello world
hello world
Run Code Online (Sandbox Code Playgroud)
对此:
<p>hello world</p>
<p>hello world</p>
<p>hello world</p>
<p>hello world</p>
Run Code Online (Sandbox Code Playgroud)
使用vim-surround或vim-emmet.
当我突出显示文本时,按ctrl + y然后按','我可以键入p标签,但它包围一个p标签中的所有4个段落.
vjjj " select the block (or whatever works for your actual use case)
:norm yss<p><CR> " execute the normal mode yss command provided by Surround
" on each line of the selection
" note that Vim automatically inserts the range corresponding
" to your visual selection: :'<,'>norm ...
Run Code Online (Sandbox Code Playgroud)
或者如果您对范围有信心:
:,+3norm yss<p><CR>
Run Code Online (Sandbox Code Playgroud)
C<p><C-r><C-o>"</p><Esc>
j0.
j0.
j0.
Run Code Online (Sandbox Code Playgroud)
或变种:
C<p><C-r><C-o>"</p><Esc>
jvjj
:'<,'>norm .
Run Code Online (Sandbox Code Playgroud)
或者如果您对范围有信心,可以使用上述变体的变体:
C<p><C-r><C-o>"</p><Esc>
:+,+2norm .
Run Code Online (Sandbox Code Playgroud)
或上述三种变体的单步变体:
:,+3norm C<p><C-v><C-r><C-v><C-o>"</p><CR>
Run Code Online (Sandbox Code Playgroud)
或者使用超级简单替换的完全不同的方法:
:,+3s@.*@<p>&</p><CR>
Run Code Online (Sandbox Code Playgroud)
:help C
:help ctrl-r_ctrl-o
:help registers
:help .
:help :normal
:help :range
:help :s
Run Code Online (Sandbox Code Playgroud)