Como excluo um bloco de texto da linha do cursor atual para um determinado número de linha no vi?
Por exemplo:
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%">
No Vim eu normalmente usaria o modo de seleção visual para isso, mas não tenho o Vim à minha disposição neste servidor. Também seria mais rápido especificar um número de linha em vez de contar quantas linhas estão dentro do bloco em alguns casos.
Respostas:
Você pode usar algo como
d63G
excluir da linha atual até a linha 63.fonte
Para excluir de a para b, use
de atual para b usar
(onde a e b em código são substituídos por seus números)
fonte
Igual à resposta aceita, mas um pouco mais rápida de digitar:
d63gg
exclui da linha atual para a linha 63.fonte
Por que contar linhas? Vá para a última linha que deseja excluir e marque-a digitando o
ma
que a "marca" com o identificador "a". Em seguida, vá até a linha superior que deseja excluir e digited'a
para excluir para marcar "a". Bam!fonte
Para excluir um bloco de linhas no Vi:
n
: é do número da linham
: é para o número da linhaDa linha atual até um determinado número de linha-
:,md
de / para números de linha específicos
:n,md
fonte