在vi编辑器中从当前光标位置删除到给定的行号

sea*_*ges 103 vi editing

如何从当前光标行中删除文本块到vi中的给定行号?

例如:

 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%">
Run Code Online (Sandbox Code Playgroud)

在Vim中,我通常会使用视觉选择模式,但是我没有在这台服务器上使用Vim.在某些情况下,指定行号而不是计算块内有多少行也会更快.

cni*_*tar 196

您可以使用类似于d63G从当前行删除的内容,直到第63行.

  • 要添加到此,如果要删除第45到64行,请执行以下操作:45,64d (47认同)
  • 噢,正常模式下的解决方案 - 更好! (5认同)

bor*_*ble 108

要从ab删除使用

:a,bd
Run Code Online (Sandbox Code Playgroud)

从当前到b使用

:,bd
Run Code Online (Sandbox Code Playgroud)

(代码中的ab由您的号码替换)


apo*_*pol 12

与接受的答案相同,但输入稍快一些:

d63gg 从当前行删除到第63行.


Ste*_*Scm 6

要删除Vi中的一行行:

n:来自行号

m:是行号

  1. 从当前行到给定的行号 -

    :,md

  2. 从/到特定的行号

    :n,md


Gar*_*y_W 6

为何算数?转到要删除的最后一行,并通过键入ma标有"a"的标记来标记它.然后转到要删除的顶行并键入d'a删除以标记"a".巴姆!