vi/vim技巧总结

来源:互联网 发布:虚拟机网络配置 编辑:程序博客网 时间:2024/05/21 07:59

本文记录一些这些年对vi的积累,由于长期使用AIX上的vi,所以在别的*nix上都可以用,可以说任何一个别的unix都比AIX上的vi好用,关于vi基本的操作,一般文档都有的,这里没有列出,多了也记不住,都是自己总结的,都是每天使用频率最高的些命令。

vi * -打开当前目录所有文件或匹配文件,不包含隐藏文件,可以用".*"打开所有隐藏文件,另unix命令都是通配符的,不是正则表达式,这点不要混淆。:args -查看列表:rew -回到文件列表第一个:n -下一个文件:e# -回到上一个文件:e! -文件重新载入:w! -强制保存e filename:打开文件文件编辑:%配合(),编程很有用1G 到首行G 到行末dt) 删除本行到第一个)df) 删除本行到第一个)和)"ayy 将本行复制到寄存器a,由于一次打开公用寄存器,主要用于编辑多个文件"ap  将寄存器中的拷贝到下一行,由于一次打开公用寄存器,主要用于编辑多个文件>> 最快的向右缩减,缩减大小通过set sw=4设置,可以加数字成倍操作<< 最快的向左缩减,缩减大小通过set sw=4设置,可以加数字成倍操作:% > 指定区域缩进:% j 全文合并一行,拼报文用:%s/,/,^M/g按,拆分成多行,很有用,可以配合多次操作,造测试文件1000iword<Esc>插入1000个word,结合上面的替换,可以瞬间造一个很大的文件g/^$/,/./-j 压缩空行g!=v  就是在不满足条件的行操作,与g相反yaw 最快复制单词%!cut -c56-72 通过!调用外部命令操作%!sort -u  vi中去除重复行替换:vi里的替换,基本是sed的一个子集,也是vi的核心:%s/[a-z]/\U&/g  小写替换大小  其中的&代表每一次匹配到的字符或字符串,这个可以用到很多%里:%s/[A-Z]/\l&/g  大写替换小写:%s/ *$// 去掉行尾的所有空格。

替换在文件中的灵活运用是本文的关键,可以组合多次替换完成诸如:拼sql文件,通讯报文等操作

1 0