vi之列操作

1、对列插入步骤:

  •       定位光标位置
  •       ctrl+v进入visual-block模式(选定光标所在行对应的列)
  •       j移动光标选择列编辑行(按shift+g移动到文件底部)
  •       输入大写I
  •       输入输入要插入的文本
  •       esc
  •       保存完成

eg:文件内容如下:

12345

56789

67755

hghgh

...

...

45975

现在需在第一列插入#,

将光标定在第一行第一列处,ctrl+v选定第一列,输入命令I,之后按shift+g,光标跳至最后一行的第一列,此时选定了整个文件的第一列,输入要插入的字符#,此时,字符#只会显示在第一行第一列的位置上,按ESC退出,则其余行的第一列的#将显示出来。

2、vi列替换

 

3、列模式编辑方法

在使用i600w的编辑脚本时,只想使用其中的拷贝命令,但是还有其他很多行,如果一起运行的话,编译将会花费太多时间,但是如果一行行注释掉又比较麻烦,将来需要从新使用是还要一行行去掉注释,突然想到vi工具的强大,网上搜索看看有没有什么编辑命令,果然发现vi有个列编辑模式:

 

编程的时候需要进行多行注释和删除多行注释,方法如下:

 

  •  注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如"//",再按Esc,就会全部注释了。
  • 删除:先按v,进入visual模式,横向选中列的个数(如"/ /"注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式,向下或向上移动光>标,选中注释部分,然后按d, 就会删除注释符号。
  • 使用替换命令::%s/^/\/\//g来在全部内容的行首添加//号注释:2,50s/^/\/\//g在2~50行首添加//号注释反过来替换既是删除操作。

4. 行尾添加

首先用ggvG进行全选,然后ctrl+v进入列选模式,然后使用$跳至行尾,使用A加;,退出插入模式,注意空行也会被加入分号的哦。

这样全选有个问题,那就是当我是要在每一列的后面,将;号删掉,就会出问题了,因为实际上这是全选了整个的文本。

 

那要删除每一列的最后一个字符呢,用这个:1,$s/.$//或者:%s/.$//,叫做正则表达式。其实采用:%s/.$/;/也可以给每一列的末尾加上;,所以还是学习好正则表达式更加方便。

 $代表行末或者最后一行。%表示全文,也可用1,$表示。s表示替换
   /.$//:正则,把最后一个字符替换为空。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值