Comment peut-on fermer les balises HTML dans Vim rapidement?
Il a été un moment depuis que j'ai eu à faire tout le HTML code dans Vim
, mais récemment je suis tombé sur ce nouveau. Dire que je suis en train d'écrire une simple HTML
:
<html><head><title>This is a title</title></head></html>
Comment dois-je écrire les balises de fermeture pour le titre, la tête et le html rapidement? J'ai l'impression que je suis absent quelque manière très simple ici, qui n'implique pas de moi en passant par écrit les tous un par un.
Bien sûr, je peux utiliser CtrlP pour la saisie semi-automatique de l'individu, des noms de balises, mais ce qui me met sur mon clavier d'ordinateur portable est en fait obtenir les crochets et la barre de droite.
Vous devez vous connecter pour publier un commentaire.
Vérifier cela..
closetag.vim
https://www.vim.org/scripts/script.php?script_id=13
Je utiliser quelque chose de similaire.
Ctrl-_
, mais ce faire des petites polices de mon terminal.- Je trouver de l'aide de l' l'éditeur xml plugin très utile. il ajoute deux fonctionnalités:
<p>
), il élargit le tag dès que vous tapez la clôture>
en<p></p>
et place le curseur à l'intérieur de la balise en mode insertion.Si vous puis immédiatement un autre type de
>
(par exemple vous tapez<p>>
), elle se développe que dans<p>
</p>
et place le curseur à l'intérieur de la balise, en retrait une fois, en mode insertion.
La xml vim plugin ajoute le code de pliage et imbriqué de la balise correspondant à ces caractéristiques.
Bien sûr, vous n'avez pas à vous inquiéter à propos de la fermeture des balises à tous, si vous écrivez votre contenu HTML dans Markdown et l'utilisation
%!
pour filtrer votre Vim tampon par le biais de la Démarque processeur de votre choix 🙂git clone https://github.com/sukima/xmledit.git ~/.vim/bundle/xmledit
. Mais il ne fonctionne que lors de l'édition .des fichiers xml. Lorsque le fichier ext est .html ou .htm, ça ne fonctionne pas.J'aime minimale choses,
imap <silent> <C-c> </<C-X><C-O><C-X>
<Esc>F<i
à la fin de cette sorte il met le curseur à l'intérieur de la balise.,/
pour fermer la baliseJe le trouve plus pratique de faire vim écrire à la fois d'ouverture et de fermeture de balise pour moi, au lieu de simplement le cours de clôture. Vous pouvez utiliser l'excellent hétéroclite plugin par Tim Pope. L'utilisation ressemble à ceci (let | marque de la position du curseur)
vous type:
appuyez sur CTRL+x ESPACE
et vous obtenez
Vous pouvez également utiliser CTRL+x ENTRÉE au lieu de CTRL+x ESPACE, et vous obtenez
Bric et de broc peuvent faire plus que simplement (ex. insérez <%= trucs autour de cette %> ou DOCTYPE). Vous voudrez probablement consulter d'autres plugins par auteur de bric et de broc, en particulier surround.
ragtag
: vim.org/scripts/script.php?script_id=1896Si vous êtes en train de faire quelque chose d'élaboré, sparkup est très bonne.
Un exemple à partir de leur site:
ul > li.item-$*3
étend à:avec un
<C-e>
.À voir l'exemple donné dans la question,
rendements
Il y a aussi un zencoding plugin vim: https://github.com/mattn/zencoding-vim
tutoriel: https://github.com/mattn/zencoding-vim/blob/master/TUTORIAL
Mise à jour: ce maintenant appelé Emmet: http://emmet.io/
Un extrait du tutoriel:
Cartographie
J'aime avoir mon bloc de balises (par opposition à inline) fermé immédiatement et avec un simple raccourci que possible (je préfère éviter de touches spéciales comme CTRL si possible, bien que je ne l'utiliser
closetag.vim
de fermer mes tags.) J'aime utiliser ce raccourci lorsque les blocs de départ de balises (merci à @kimilhee; c'est un décollage de sa réponse):Exemple d'utilisation
Type
Résultat—
où
|
indique la position du curseur.Explication
inoremap
signifie créer la cartographie en mode insertion><Tab>
signifie une fermeture crochets et un caractère de tabulation; c'est ce qui est en correspondance><Esc>
signifie la fin de la première balise et échapper à insérer en mode normalF<
signifie trouver le dernier angle d'ouverture de support del
signifie déplacer le curseur de droite (ne pas copier l'ouverture de l'angle du support)yt>
signifie tirer de la position du curseur jusqu'à avant la prochaine fermeture de l'angle du support (c'est à dire copier les balises de contenu)o</
signifie commencer une nouvelle ligne dans le mode insertion et ajouter un angle d'ouverture de support et la barre<C-r>"
signifie coller dans le mode d'insertion de la valeur par défaut de registre ("
)><Esc>
signifie fermer la balise de fermeture et d'échapper à la mode insertionO<Space>
signifie commencer une nouvelle ligne dans le mode d'insertion au-dessus du curseur et insérer un espacel
signifie "droit" et non "de gauche," haha... quelle drôle d'erreur. Que pensez-vous de mon post? J'ai remarqué que vous n'avez pas upvote.au filetype html inoremap <buffer> ...
allml (maintenant bric et de broc ) et Omni-achèvement ( <C-X><C-O> )
ne fonctionne pas dans un fichier comme .py ou .java.
si vous voulez fermer la balise automatiquement dans les fichiers,
vous pouvez carte.
( ^R est Contrl+R : vous pouvez taper comme ce Contrôle+v puis Ctrl+r )
(| est la position du curseur )
maintenant, si vous tapez..
<p>abcde|
et le type ^j
puis il fermer la balise comme ceci..
<p>abcde</p>|
Voici encore une autre solution simple basé sur facilement foundable la rédaction Web:
Auto fermeture d'une balise HTML
:iabbrev </</<C-X><C-O>
En tournant à l'achèvement des travaux sur
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
Découvrez
vim-closetag
C'est vraiment un simple script (disponible également comme un
vundle
plugin) qui se ferme (X)HTML balises pour vous. Il estREADME
:Remarque:
|
est le curseur iciEn profitant de l'excellente réponse par @KeithPinson (désolé, pas assez de points de réputation pour commenter votre réponse pour l'instant), cette solution permettra d'éviter la saisie semi-automatique à partir d'une copie supplémentaire qui pourrait être à l'intérieur de la balise html (par exemple des classes, id, etc...) mais ne doit pas être copié à la balise de fermeture.
Mise à JOUR j'ai mis à jour ma réponse pour travailler avec
filename.html.erb
fichiers.J'ai remarqué que ma réponse initiale n'a pas fonctionné dans les fichiers couramment utilisés dans les Rails de points de vue, comme
some_file.html.erb
quand j'ai été en utilisant embedded ruby (par exemple<p>Year: <%= @year %><p>
). Le code ci-dessous sera travailler avec.html.erb
fichiers.Exemple d'utilisation
Type:
Résultat:
où
|
indique la position du curseurEt comme un exemple de l'ajout de la balise de fermeture inline au lieu de bloquer style:
Exemple d'utilisation
Type:
Résultat:
où
|
indique la position du curseurIl est vrai que les deux exemples ci-dessus s'appuient sur
>[Tab]
de signal d'une balise de fermeture (ce qui signifie que vous auriez à choisir soit inline ou block de style). Personnellement, j'utilise le bloc-style avec>[Tab]
et la ligne de style avec>>
.