每日一Vim(24)行复制与移动

本文介绍Vim编辑器中的行复制与移动技巧,包括使用:m和:t命令进行高效操作的方法。通过实例演示如何在不同位置快速复制和移动代码块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

每日一Vim(24)行复制与移动

很开心看到 @kidneyball童鞋一口气在上一篇文章中提了三个建议,而且都很有建设性,当然还要谢谢@isensen等童鞋,又在催我了。这下动力又有了,今天继续写,不过我的写的时候呢,没有太多的章法,想到哪里就写哪里,学Vim是个技巧活,需要不断实践,练得好就有如身披一把AK47。

今天要讲的是整行移动和拷贝,涉及的命令是::mt。这两个命令其实是movecopy的简写形式。 其实整行的拷贝相信你能用yank解决,但是它有一个缺点就是必须把光标移到要拷贝的行才能执行该操作,然而:copy:move命令可以在任何地方拷贝或者移动任意一行或者多行。

copy命令格式::[range]copy{address},range表示拷贝范围,address表示目标地址。举例来说:把下面三行if语句块拷贝到main代码段中去,不管此时你的光标在何处,现在假设光标在main那行:

if choise=='n':newuser()
if choise=='e':olduser()
if choise=='q':done=True

if __name__=='__main__':

我们可以用:1copy.把第一行拷贝到光标的下一行(.代表当前行),如果三行全拷贝::1,3copy.,copy的另外两个写法:co或者:t。 常用命令:
:3t. 拷贝第三行到当前光标的下一行
:t3 拷贝当前行到第三行的下一行
:t. 拷贝当前行到光标的一下行,相当于Ypyyp
:t$ 拷贝当前行到最后一行
:'<,'>t0 拷贝所选区域到文本的开头处,这里的操作步骤是:现在visual 模式下选中文本,然后输入:,接着t0

move:move的操作完全和copy是一样的,它的简写格式有mom。可以对照上面的例子重复操作一遍。更多帮助可以查看:h :move:h copy

转载请注明出处,谢谢合作!作者---zhijun

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值