注解掉HTML/XML元素的最佳快捷方式或插件是什么?也需要不予置评。
nwnhqdif1#
您可以使用匹配的XML标记的组合,如这个问题和Perl的搜索和替换中所示。例如,给定以下代码片段:
<TypeDef name="a"> <ArrayType high="14" low="0"> <UndefType type="node"> </UndefType> </ArrayType> </TypeDef>
将光标放在开始或结束TypeDef上,然后键入以下序列:
vat:s/^\(.*\)$/<!-- \1 -->/
v
at
:s/^\(.*\)$/<!-- \1 -->/
'<!-- ... -->'
dat
d
vat:s/-->//
1yjd4xko2#
我使用tComment插件,你可以找到here的详细视频教程来安装和使用它。这个插件非常有用,因为它允许你从命令和输入界面切换评论,你可以使用视觉模式和运动(如gcw或gc3w)
gcw
gc3w
wxclj1h53#
如果使用emmet-vim,则可以选择要注解掉的标记的全部内容,方法是按v a t,然后按Ctrl y /
v a t
Ctrl y /
m528fe3b4#
备注:vato<ESC>i<!-- <ESC>vatA --><ESC>1.将光标定位在HTML块内的任意位置。不要定位在嵌套块内,除非你想注解嵌套块。
vato<ESC>i<!-- <ESC>vatA --><ESC>
vato
Esc
i<!--
vat
A -->
I
vat<ESC>4xvato<Esc>5X
4x
5X
您可以将your .vimrc(或neovim中的init. vim)中的以下行添加到remap快捷方式中:
" Comment HTML element nnoremap <silent> <leader>h :set lazyredraw<cr>mhvato<ESC>i<!-- <ESC>vatA --><ESC>`h:set nolazyredraw<cr> " Uncomment HTML element nnoremap <silent> <leader>H :set lazyredraw<cr>mhvat<ESC>4xvato<ESC>5X`h:set nolazyredraw<cr>
u
d2f-
dF!
注:
<leader>h
<leader>H
:set lazyredraw
:set nolazyredraw
mh
提示:使用:source $MYVIMRC将更改应用到. vimrc(或init.vim),而不必重新启动vim。
4条答案
按热度按时间nwnhqdif1#
您可以使用匹配的XML标记的组合,如这个问题和Perl的搜索和替换中所示。
例如,给定以下代码片段:
将光标放在开始或结束TypeDef上,然后键入以下序列:
v
-进入可视模式at
-选择整个XML标记:s/^\(.*\)$/<!-- \1 -->/
-用'<!-- ... -->'
(XML的注解分隔符)包围每行或者,您可以像这样删除它:
d
-根据以下移动删除at
-与之前相同要删除id,请使用,然后使用
vat:s/-->//
删除注解1yjd4xko2#
我使用tComment插件,你可以找到here的详细视频教程来安装和使用它。
这个插件非常有用,因为它允许你从命令和输入界面切换评论,你可以使用视觉模式和运动(如
gcw
或gc3w
)wxclj1h53#
如果使用emmet-vim,则可以选择要注解掉的标记的全部内容,方法是按
v a t
,然后按Ctrl y /
m528fe3b4#
备注:
vato<ESC>i<!-- <ESC>vatA --><ESC>
1.将光标定位在HTML块内的任意位置。不要定位在嵌套块内,除非你想注解嵌套块。
vato
1.退出可视模式:
Esc
1.衬垫:
i<!--
1.退出插入模式:
Esc
1.转到结束标签:
vat
1.追加:
A -->
1.退出插入模式:
Esc
注意:你可以使用
I
直接从可视化模式插入,它可以处理多行块,但是对于单行元素,它会弄乱缩进。要取消注解:
vat<ESC>4xvato<Esc>5X
1.将光标放在HTML块内的任意位置,不包括结束注解分隔符。
1.转到结束标签:
vat
1.退出可视模式:x1米11米1x
1.删除4个字符:
4x
1.转到开始标记
vato
1.删除前5个字符:
5X
使用. vimrc或init. vim创建快捷方式
您可以将your .vimrc(或neovim中的init. vim)中的以下行添加到remap快捷方式中:
u
ndo,因为它会删除一些字符。你可以通过用d2f-
替换4x
,用dF!
替换5X
来避免这种情况,但是这样你会遇到这种解决方法的问题,以及同一行中包含-... -或!的任何其他问题。注:
<leader>h
和<leader>H
更改为您要使用的值。:set lazyredraw
是hide intermediate steps,不重绘屏幕,:set nolazyredraw
是为了避免之后可能出现的视觉故障。mh
用于保存当前光标位置,``h`用于跳回到该行和列。您可以将h替换为any other lower case letter。提示:使用:source $MYVIMRC将更改应用到. vimrc(或init.vim),而不必重新启动vim。