设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

vim常用实用用法总结

2013-12-13 11:56| 发布者: 红黑魂| 查看: 3965| 评论: 0|来自: 51cto

摘要: vim乃Linux下相当牛掰一文本处理神器也,是vi编辑器的升级版,全称叫Vi IMproved. 而vi则是Visual Interface的缩写,他们处理都是ASCII码字符数据,熟练使用vim绝对是你成为Linux大牛不可或缺的本领,所谓千里之行, ...


末行模式:


末行模式下的功能更加强劲,在命令模式下按下冒号:可以进入末行模式,:w 保存编辑内容,write , :q 退出quit :wq 保存并退出 前面加!表示强制 :!q强制退出,:x = :wq , 


搜索功能: :/text (text为你要查找的字符串) 向后查找, :?text 向前查找, 查找到的内容会高亮显示, 按n(next)会和你查找的方向相同找下一个,按大写N则向相反方向查找下一个


窗口属性定义:


  1. :set ai | autoindent 开启自动缩进(写脚本时就老开心啦,写出来那叫一个漂亮)
  2. :set nu (number) 显示行号
  3. : set nonu (no number) 取消显示行号
  4. : set ic | ignorecase 忽略大小写
  5. :set hlsearch (highlight search) 搜索高亮显示
  6. :set sm| showmatch 不要想歪了,显示匹配的括号


所有的设置前面加个no就可以取消显示了,当然你的设置只对当前编辑的文档生效,如果想永久生效可以写入/etc/vimrc配置文件 或~/.vimrc文件,~代表家目录


好了,下面上一盘压轴大菜:查找和替换,这个东西以后编辑配置文件老有用啦,我来举个例子,有图有真相:


LOOK 1:


原文如下,现在我要把所有的zhishen 后面都加上一个must,



输入如下命令


  1. :%s/\(shen\)/\1 must/g 

解释一下这行命令,进入末行模式,% 代表全局查找,s (search)查找命令,红色标出的一对括号,表示转义,即使用括号原来的意思,因为括号在Linux下有其特有的功能的,后面的\1代表引用前面括号内的内容,g (global)表示全局,当然后面还可以加i (ignore case)忽略大小写,如果有需要的话,/ 是每个字段之间的分隔符,为了方便区分,某些情况下你可以替换成# @ 都可以。


当然像这种简单的正则表达式,只有一个引用内容的括号可以省略不写,引用也可以直接用一个简单的&来解决,于是上面的命令也可以这样写:


 :%s/shen/& must/g 效果是一样的 或者 :%s#shen#& must#g


 效果如下:



LOOK 2:


这里我以apache的配置文件httpd.conf为例,比如从102行到109行的配置我不想启用了现在,我就可以在每一行前面加个#注释掉即可,



:.,109s/^/#/g  这里我把光标移动到102行,前面的.代表当前行,整个表示从当前行到第109行所有开头都用#替换,也可以这样写 :102,109s/^/#/g 或者 :.,+7s/^/#/g 再或者 :102,+7s/^/#/g 都是一样的效果。



LOOK 3:

这个情景我想把102行到109行移动到93行的下面



:102,109d 回车,代表删除102到109行,但是这里的删除是先放到剪切板中的,所以下面的你懂啦,把光标移动94行,按下一个大写的P,哈哈就全部粘贴过来啦。



就写这么多了吧,这些都是可能经常能用到的功能。vim的功能非常之强大,首先把为些常用的基础的学会吧,再稍微高级一点的常用功能可以看一下我的另一篇博文《VIM命令大全》,自己结合说明慢慢摸索,基本这些差不多够平常工作用了。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部