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表示替换
/.$//:正则,把最后一个字符替换为空。