Vim (7) Ex命令

本文详细介绍了Vim的Ex命令,包括如何在指定行或范围内执行命令,使用:t和:m复制和移动行,以及如何在指定范围内执行普通模式命令。通过示例展示了Ex命令的强大功能,如批量操作、命令历史回溯、自动补全和运行Shell命令等,强调了Ex命令在远程操作和批量处理方面的能力。
摘要由CSDN通过智能技术生成

Vim Ex 命令博大精深,需要好好的体会一下,在遇到问题的时候想一想是否会有更加简单的方法来进行操作。


技巧28  在一行或者多个连续的行上执行命令

---------------------------------------------------------------------------------------------------------

很多Ex命令可以用[range]指定操作的范围: 我们可以用 

行号,

位置标记,或是

查找模式 来指定范围的开始位置和结束位置。

Ex 命令的优点之一就是可以在某一个范围内的所有行上执行。

首先可以用行号作为地址:

:1  光标跳转到第一行

:print  回显光标所在的行


:$ 跳转到最后一行

:% 标识文本中的所有的行

:. 当前行

:3p  把光标移动到第三行,并且显示第三行

:3d  把光标移动到第三行,并且删除第三行

然后可以用地址指定一个范围:

:2,5p  显示第2到5行

一个范围的形式为::{start},{end}

:%p  等价于 :1,$p


用高亮区域指定范围:

:'<,'>p  (在普通模式下输入 :'<,'>p 会始终回显上一次高亮区域所选中的内容)


用模式指定范围:

:/<html>/,/<\/html>/p


用偏移对地址进行修正:

:/<html>/+1,/<\/html>/-1p

偏移的一般形式为 :{address}+n

当n省略的时候默认为1,

:.,.+2p  显示从当前行开始的3行。


第0行在文件中并不真实的存在,但是它作为一个地址,在某些特定的场景下会很有用处。

特别是:把指定范围内的行复制或者移动到文件开头的时候,可以用它作为 :move{address}

或者 :copy{address} 命令的最后一个参数


技巧29  使用 :t 和 :m 命令复制和移动行

-----------------------------------------------------------------------------------------------------------------------------------

:6copy.   复制第六行,并且放到当前行下方(. 表示当前行)。


copy 命令的一般格式为:

:[range]copy{address}

:copy命令可以简写为两个字母:co ,也可以使用更加简练的   :t 命令。


为了更好的记忆,可以把该命令想想成为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值