博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VIM 奇技淫巧
阅读量:5865 次
发布时间:2019-06-19

本文共 1464 字,大约阅读时间需要 4 分钟。

VIM 奇技淫巧

常用技巧

1. 如果想不退出vi而查看UNIX系统的有关信息,输入“:shell ”即可进入vi以前的shell环境,“exit”退回到vi编辑状态。

2. shift+ZZ 保存后自动退 和 :wq 是一样的

3. 直接运行命令,不退出VI :! 命令  Demo::! ls

4. 将其他文件内容导入当前编辑文件中,:r 文件名 Demo::r /etc/hosts
   结合第3条可以这样插入日期  Demo::r !date

5. 像UltraEdit一样的列选功能,在VI也能用,按Ctrl + V,用向下或向上键选择行,再按Shift+I,然后输入要输入的符号,最后ESC。(Gvim下用Ctrl+Q,不然变成黏贴了)
   我们常用这个方式加注释,还有更简单的方法 :起始行,终止行s/要替换字符/替换为新字符/g Demo::1,20s/^/#/g

6. 重复上次操作,有的时候我们经常做重复操作,先在第一行上操作例如删除第一个字母,然后到你要重复的行,然后 . (就是有>号的键)

7. 如果想把一个字母进行大小写变换,可以在字母上按SHIFT+~.

 

8. :global可以简写为:g :g! :vg

    :g/^/m 0 #倒序文件行
    :g/^$/d #vi中删除空行
    :g/^/+1 d #删除偶数行 也可以用normal命令 :%norm jdd
    :g/^/d|m. #删除奇数行

 

屏幕翻滚类命令

Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部(这里要敲回车)

插入文本类命令

i:在光标前
I:在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行

删除命令

ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本

搜索及替换命令

/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g 将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
:%s/p1/p2/g 将在全文中把所有p1无用p2替代
如果你是在写程序,你可能只想替换那些出现在注释中的"four",代 码中的留下。这可有点为难,"c"标志可以让每个目标被替换之前询问你的意见:
Demo:%s/\<four\>/4/gc

 

文本相关操作

 
J表示,其功能是把光标所在行与下面一行合并为一行
nJ表示,其功能是把光标所在行与下面n行合并为一行
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d:将n1行到n2行之间的内容删除

转载地址:http://xtunx.baihongyu.com/

你可能感兴趣的文章
软件设计七大原则
查看>>
《梦断代码》读后感1
查看>>
初涉c++学习笔记
查看>>
再谈编程范式—程序语言背后的思想
查看>>
[Python]编码声明:是coding:utf-8还是coding=urf-8呢
查看>>
spring框架-----轻量级的应用开发框架
查看>>
ueditor+asp.net异步提交,可以实现了,嘿嘿
查看>>
python基础之 Python os._exit() sys.exit() exit()区别
查看>>
Tomcat 改BUG之 localhost:8080 404
查看>>
UI透明欺诈
查看>>
powersheel远程连接方法操作
查看>>
负载均衡-haproxy安装配置
查看>>
4、通过配置启动SuperSocket
查看>>
HDU3511 Prison Break 关于圆的扫描线
查看>>
passwd(总结)
查看>>
Unix环境部署
查看>>
background-origin/background-clip
查看>>
关于存储过程实例
查看>>
eclipse推荐字体
查看>>
Shell:数组
查看>>