Question

Je voudrais imiter Textmates CTRL+ALT+w, ce qui crée une nouvelle paire d'ouverture et de fermeture des balises HTML sur la même ligne.

Dans VIM Entourent, je suis en utilisant CTRL+st en mode Edit pour cela, mais il y a toujours, les tirets et crée une nouvelle ligne après la définition de la marque, de sorte qu'il ressemble à ceci (* = position du curseur):

<p>
  *
</p>

Est-il un moyen pour y parvenir?:

<p>*</p>
Était-ce utile?

La solution

Je suppose que ton problème est que la zone sélectionnée est "ligne sage".Par exemple, si vous sélectionnez un peu de vie avec V et de l'entourer de balises, les balises seront placés sur une ligne au-dessus et en dessous de la ligne sélectionnée.

Vous souhaiterez probablement créer un caractère "sage" de la sélection, avec v avant l'entourant.

De toute façon, s'il vous plaît poster la carte que vous avez créée, afin que nous puissions aider le débogage de cette.


Mise à jour

Après quelques précisions dans les commentaires, je voudrais vous dire que le son surround plugin n'est pas la meilleure option.Comme son nom l'indique, il a été créé pour traiter avec entouré de contenu.Vous devrez peut-être contenu à l'entourent.

Dans votre cas, je vous recommande de prendre un coup d'oeil dans HTML AutoCloseTag.Ce plugin ferme la balise html une fois que vous tapez le >.Il est certainement plus approprié, et utilise moins de touches que surround.

<p         <--- Now when you type ">", if becomes:
<p>|</p>   <--- Where "|" is the cursor.

Évidemment, vous obtiendrez ce comportement à chaque balise.Mais qui peut être pratique si vous l'aimez.

Autres conseils

À partir du mode normal au mode, de type vstp> pour entrer dans le mode visuel et de sortie d'une ouverture et de fermeture <p> tag sur la même ligne à la position actuelle du curseur.Utiliser un S majuscule pour maintenir le niveau de retrait.

Ce n'est pas de placer le curseur entre les balises comme vous le décrivez, mais il ne Textmate est CtrlW raccourci (je pense que vous vouliez dire, CTRL+Maj+w, pas de CTRL+ALT+w, comme le dernier juste sorties d'un diamant de signe).

Ma réponse arrive probablement tard, mais je vais essayer d'aider. J'ai eu un problème similaire avec le plugin Vimsurround.Chaque fois que je sélectionne une phrase (une ligne) à l'aide de Ctrl + V et essayez de l'entourer avec quelque chose que je reçois ceci:

{
var myVar
}

au lieu de cela:

{ var myVar } // what I wanted

J'ai trouvé une solution facile: à partir d'un mode normal, je choisis une ligne avec la commande Vis , puis je tapez capital C (ma cartographie surround VIM) et choisissez des crochets à surveiller ..En icez une ligneentouré.

Le titre de la question est techniquement mal clairé en fonction de ce que l'auteur cherchait réellement, mais depuis que je cherchais réellement la réponse à la question posée dans le titre, je crains que je devrais ainsi lui donner une réponse aussi.

Pour créer une nouvelle balise entourant un élément sans l'indentation automatique Vim Surround utilise lors de l'utilisation d'une sélection de blocs Sage (c.-à-d.: VYSS ), vous pouvez plutôt faire quelque chose comme:

^ ys $

Cette commande déplacera votre curseur sur le premier caractère non vide de la ligne, émettra la commande que vous souhaitez utiliser vous utiliser surrounder et passer à la fin de la ligne.Ensuite, commencez simplement à entrer votre étiquette.

Le résultat est-ce:

<input type="email" name="email">

pourrait devenir quelque chose comme ceci:

<li><input type="email" name="email"></li>

La commande est répétable également avec . et toutes les autres bonté Vim normale.

Suis tombé sur cette question parce que je me demandais ce que les bien - je crois que la façon la plus simple pour ce faire est juste:

yss<p>

(yss entoure une ligne avec quelque chose sans indentation - voir ici: http://www.catonmat.net/blog/vim-plugins-surround-vim/)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top