105 votes

Effacer de la position actuelle du curseur à un numéro de ligne donné dans l'éditeur vi

Comment supprimer un bloc de texte de la ligne actuelle du curseur à un numéro de ligne donné dans vi ?

Par exemple :

 49 <j:set var="changeSet" value="${build.changeSet}" /> <----- delete from here (cursor position)
 50 <j:if test="${changeSet!=null}">
 51   <j:set var="hadChanges" value="false" />
 52   <TABLE width="100%">
 53     <TR><TD class="bg1" colspan="2"><B>CHANGES</B></TD></TR>
 54     <j:forEach var="cs" items="${changeSet.logs}" varStatus="loop">
 55       <j:set var="hadChanges" value="true" />
 56       <j:set var="aUser" value="${cs.hudsonUser}"/>
 57       <TR>
 58         <TD colspan="2" class="bg2">${spc}Revision <B>${cs.revision}</B> by
 59           <B><j:choose>
 60             <j:when test="${aUser!=null}">${aUser.displayName}: </j:when>
 61             <j:otherwise>${cs.user}: </j:otherwise>
 62           </j:choose></B>
 63           <B>(${cs.msgAnnotated})</B>                <----- to here (line 63)
 64          </TD>
 65       </TR>
 66       <j:forEach var="p" items="${cs.paths}">
 67         <TR>
 68           <TD width="10%">

Dans Vim, j'utiliserais habituellement le mode de sélection visuelle pour cela, mais je n'ai pas Vim à ma disposition sur ce serveur. Il serait également plus rapide de spécifier un numéro de ligne plutôt que de compter le nombre de lignes que contient le bloc dans certains cas.

199voto

cnicutar Points 98451

Vous pourriez utiliser quelque chose comme d63G pour supprimer de la ligne courante jusqu'à la ligne 63.

108voto

borrible Points 7069

Pour supprimer de a a b utiliser

:a,bd

du courant à b utiliser

:,bd

(où a y b dans le code sont remplacés par vos chiffres)

20voto

apostl3pol Points 339

Identique à la réponse acceptée, mais légèrement plus rapide à taper :

d63gg supprime de la ligne courante à la ligne 63.

10voto

Gary_W Points 6331

Pourquoi compter les lignes ? Allez à la dernière ligne que vous voulez supprimer et marquez-la en tapant ma qui le "marque" avec l'identifiant "a". Ensuite, allez jusqu'à la ligne supérieure que vous voulez supprimer et tapez d'a pour supprimer pour marquer "a". Bam !

6voto

scmLOVER Points 41

Pour supprimer un bloc de lignes dans Vi :

n : est de numéro de ligne

m : est à numéro de ligne

  1. De la ligne actuelle jusqu'à un numéro de ligne donné-

    :,md

  2. de/vers des numéros de ligne spécifiques

    :n,md

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X