linux vim复制当前行,Vim 行选择复制和移动

在熟悉 Vim 基本的 yy (yank current line) 和 p (paste) 的操作前提下,如果现在 Vim 中批量的移动某一些行,或者批量的复制从第 50 行到100 行到第200行后面,以我们之前的知识,可以先跳转到第 50 行 (:50),然后进入 行选择模式 (V) ,往下选择 50 行 (50j),然后再对选中的 50 行进行复制操作 (y),然后再移动到 200 行 (:200) 粘贴 (p)。

计算一下,从选择到复制,上面的操作可以划分为 5 个步骤,需要敲击 :50V50jy:200p ,当然上面的例子只是一个极端的例子,一般这样的需求也不大可能会出现。而如果有命令可以直接拷贝某些行,那么就不需要这么复杂,Vim 提供了整行的复制和移动命令。

:[range]copy {address}

copy 命令, range 表示拷贝的范围,行号范围, address 表示要拷贝到的地方,比如上面的例子就可以使用 :50,100copy200 来完成。

copy 命令可以简写成 :co 或者 :t 。

几个常用的格式:

:t5 拷贝当前行到第5行的下一行

:t. 拷贝当前行到光标下一行,相当于 `Yp` 或者 `yyp`

:t$ 拷贝当前行到文件最后一行

:'t0 拷贝选取的区域到文件开头,在 Visual 模式下选中文本,输入 `:`,再输入 `t0`

move 命令也和 copy 一样

:[range]m[ove] {address}

这里只是将拷贝,换为移动。

可以通过 :help copy 和 :help move 来查看帮助

快速选择行

遇到一个操作,比如在一个非常大的文件中,需要快速的选择 1000 行到 4500 行,那么可以用下面的方法快速选择。

方法一

使用 :1000 快速移动到 1000 行

行选择 V4500G 快速从当前行选择到 4500 行(包括)

G Goto line [count]

方法二

使用 :1000 移动到 1000 行,然后按下 m + a,标记 a

然后 :4500 移动到 4500 行,按下 V + \` + a 选择

方法三

使用 :1000 移动到 1000 行,然后按下 V

然后输入 3500j 向下移动 3500 行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值