web-dev-qa-db-fra.com

En utilisant VIM en tant qu'éditeur HTML

Vous savez comment Notepad ++ possède cette fonctionnalité qui permet de mettre automatiquement en évidence la balise de fin () lorsque vous cliquez sur une balise (par exemple)? Comment ça s'appelle? Et comment pouvez-vous modifier VIM pour que cette fonctionnalité soit également disponible?

Et d’autres façons de transformer VIM en un éditeur HTML puissant et efficace?

28
user149135

Je fais toute mon édition HTML dans vim. Les trois plugins que je trouve les plus utiles pour l'édition de HTML et XML dans vim sont matchit, surround et allml .

Matchit vous permettra de sauter à la balise de début/fin avec '%'. Surround vous permet d'ajouter, de supprimer et de modifier facilement les balises environnantes. Allml vous fournit un grand ensemble de mappages pour l'édition (X) HTML et XML.

13
Bryan

envelopper le texte sélectionné avec les balises:

    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>

surligner le crochet de fermeture pour les tags:

set matchpairs+=<:>

texte factice (tapez "lorem" en mode insertion):

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.
6
Nikolay Frantsev

Pour apparier les tags:

Regardez matchit plugin. Vim 6 à partir de matchit.vim est livré avec une distribution standard. Pour installer matchit, lisez :help matchit-install.

Assurez-vous que filetype plugin on est dans vimrc.

Une fois installé, utilisez % pour faire correspondre la balise de début/fin. :help matchit-intro pour plus d'aide.

3
shoban

Dans Fedora 15, matchit.vim est fourni dans le package vim-common. Ajoutez ensuite ceci à votre ~/.vimrc pour le faire fonctionner.

source /usr/share/vim/vim73/macros/matchit.vim

Ensuite, appuyez simplement sur Shift+5 (ou %) pour accéder à la balise correspondante.

Lorsque vous modifiez un fichier HTML sans le suffixe .html, utilisez la commande suivante:

:set filetype=html

activer la macro matchit.

1
Leif Gruenwoldt

Regardez dans ce lien

il décrit un rapport de bogue et le ou les correctifs qui pourraient le résoudre.

set matchpairs+=<:>
set showmatch
set matchtime=3
0
pavium