使用VIM作为HTML编辑器

28 html vim editor notepad++

你知道Notepad ++有这个功能,当你点击一个标签(比如说)时它会自动突出显示结束标签()吗?它叫什么?你如何调整VIM以获得此功能?

还有更多方法可以将VIM变成功能强大且高效的HTML编辑器吗?

Bry*_*yan 13

我在vim中进行了所有的HTML编辑.我认为在vim中编辑HTML和XML最有帮助的三个插件是matchit,surround和allml.

Matchit将允许您使用'%'跳转到开始/结束标记.环绕声允许您轻松添加,删除和更改周围的标签.Allml为编辑(X)HTML和XML提供了一组很好的映射.

  • allml已重命名为[ragtag](https://github.com/tpope/vim-ragtag/blob/master/doc/ragtag.txt) (4认同)

Nik*_*sev 6

用标签包装选定的文本:

    function! VisualTagsWrap()
        if !exists('g:tags_to_wrap')
            let g:tags_to_wrap=[]
        endif
        let g:tags_to_wrap=split(input('space separated tags to wrap block: ', join(g:tags_to_wrap, ' ')), '\s\+')
        if len(g:tags_to_wrap)>0
            execute 'normal! `>a</'.join(reverse(g:tags_to_wrap), '></').'>'
            execute 'normal! `<i<'.join(reverse(g:tags_to_wrap), '><').'>'
        endif
    endfunction


vnoremap <silent>,w <ESC>:call VisualTagsWrap()<CR>
Run Code Online (Sandbox Code Playgroud)

突出显示标签的右括号:

set matchpairs+=<:>
Run Code Online (Sandbox Code Playgroud)

虚拟文本(在插入模式下键入"lorem"):

inoreabbrev lorem Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
Run Code Online (Sandbox Code Playgroud)