就像编辑C源文件一样,我可以按%来获得当前光标{的关闭}。如何在编辑HTML文件时做到这一点?有捷径吗?为了明确,我想:
{
}
<html> </html>
当光标移动到<html>时,我想按一个键,这样光标就会跳到</html>。
<html>
</html>
h79rfbju1#
您可以使用可视化操作符在标记之间跳转,例如:1.将光标放在标记上。1.按v进入可视模式。1.通过按a+t或i+t键选择外部标记块用于内部标记块。您的光标应该向前跳转到匹配的结束html/xml标记。要从结束标签向后跳转,请按O或O跳转到相反的标签。现在,您可以通过按ESC键退出visual,通过c或y更改它。要将该动作记录到寄存器中,请按qq开始记录,执行如上所述的标签跳转(包括ESC),按q结束。然后按@q键启动跳转。请参阅:help visual-operators或:help v_it的更多帮助:位于<tag> </tag>块(带标记)it内部<tag> </tag>块或者使用插件,如matchit.vim(参见:Using % in languages without curly braces)。另请参阅:
:help visual-operators
:help v_it
<tag> </tag>
voase2hg2#
你应该可以通过matchit插件在你的鼠标在开始标签上时输入%来做到这一点。http://www.vim.org/scripts/script.php?script_id=39
alen0pnh3#
我有问题,这是过去,即使与matchit插件。我解决这个问题的方法是修改xml类型文件上的B:match_words。以下是my .vimrc的相关部分:
autocmd FileType html let b:match_words = '<\(\w\w*\):</\1,{:}' autocmd FileType xhtml let b:match_words = '<\(\w\w*\):</\1,{:}' autocmd FileType xml let b:match_words = '<\(\w\w*\):</\1,{:}'
试试看,看看是否有帮助。
0vvn1miw4#
MatchTagAlways是一个插件,它总是突出显示包含光标位置的XML/HTML标记。https://github.com/Valloric/MatchTagAlways
sczxawaw5#
我不能让上面的工作,所以这是我在我的.vimrc尝试:)imap <expr> > getline('.')[col('.')-2] !~# '\s' ? '><Esc>bvwy/><CR>a</<Esc>p<Esc>bba' : '>'这是一个条件Map,如果>之前有字符,它会忽略html扩展(例如:if foo > 3被忽略)我喜欢这个Map的原因是它是文件类型不可知的(这对于在js文件中编写html很方便,例如)
.vimrc
imap <expr> > getline('.')[col('.')-2] !~# '\s' ? '><Esc>bvwy/><CR>a</<Esc>p<Esc>bba' : '>'
>
if foo > 3
5条答案
按热度按时间h79rfbju1#
您可以使用可视化操作符在标记之间跳转,例如:
1.将光标放在标记上。
1.按v进入可视模式。
1.通过按a+t或i+t键选择外部标记块用于内部标记块。
您的光标应该向前跳转到匹配的结束html/xml标记。要从结束标签向后跳转,请按O或O跳转到相反的标签。
现在,您可以通过按ESC键退出visual,通过c或y更改它。
要将该动作记录到寄存器中,请按qq开始记录,执行如上所述的标签跳转(包括ESC),按q结束。然后按@q键启动跳转。
请参阅
:help visual-operators
或:help v_it
的更多帮助:位于
<tag> </tag>
块(带标记)it内部
<tag> </tag>
块或者使用插件,如matchit.vim(参见:Using % in languages without curly braces)。
另请参阅:
voase2hg2#
你应该可以通过matchit插件在你的鼠标在开始标签上时输入%来做到这一点。
http://www.vim.org/scripts/script.php?script_id=39
alen0pnh3#
我有问题,这是过去,即使与matchit插件。我解决这个问题的方法是修改xml类型文件上的B:match_words。以下是my .vimrc的相关部分:
试试看,看看是否有帮助。
0vvn1miw4#
MatchTagAlways是一个插件,它总是突出显示包含光标位置的XML/HTML标记。
https://github.com/Valloric/MatchTagAlways
sczxawaw5#
我不能让上面的工作,所以这是我在我的
.vimrc
尝试:)imap <expr> > getline('.')[col('.')-2] !~# '\s' ? '><Esc>bvwy/><CR>a</<Esc>p<Esc>bba' : '>'
这是一个条件Map,如果
>
之前有字符,它会忽略html扩展(例如:if foo > 3
被忽略)我喜欢这个Map的原因是它是文件类型不可知的(这对于在js文件中编写html很方便,例如)