Chinaunix首页 | 论坛 | 博客
  • 博客访问: 185554
  • 博文数量: 60
  • 博客积分: 1597
  • 博客等级: 上尉
  • 技术积分: 461
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-20 13:24
文章分类

全部博文(60)

文章存档

2017年(15)

2016年(6)

2015年(37)

2008年(2)

分类: LINUX

2015-09-11 12:21:53

程序员应该知道的100个Vim命令(上)

自从70年代起,Vi就是程序员最好的朋友之一既是你是Vi菜鸟都无所谓,这里为你准备了100条实用的命令列表,以主题的形式组织,他们能让你的代码生活更美好。今天就来点纯练手的东西吧,以后再每个专题说说

基本命令

:e filename   打开文件编辑
:w    保存
:q    退出Vim
:w!    保存文件退出Vim 

搜索

/word    从顶部往底部搜索word
?word    从底部往顶部搜索word 
/jo[ha]n       搜索john或joan
/\< the        搜索the或theatre 或then(只要是the开头就行)
/the\>         搜索the或breathe(只要是the结尾就行)
/\< the\>      只搜索the
/\< ....\>     搜索长度为4个字符的字符串
/\<fred\>      搜索fred,alfred 或者 frederick都不能匹配
/fred\|joe     搜fred或joe
/\<\d\d\d\d\>  搜索4位数字的字符串
/^\n\{3}       查找3个空行的地方
:bufdo /searchstr/    在所有打开的(缓冲区)文件中搜索searchstr
:bufdo %s/pattern/replace/ge | update   所有文件中替换 

替换

:%s/old/new/g          用new替换文件中出现的所有old
:%s/old/new/gc         与上面这条的作用一样,只不过每替换一个就要确认一次
:2,35s/old/new/g       用new替换2到35行的new
:5,$s/old/new/g        替换4行之后所有old
:%s/^/hello/g          用hello替换所有行首,相当于在行首插入hello
:%s/$/Harry/g          在所有行末加入Harray
:%s/onward/forward/gi  用forward替换onward,忽略大小写
:%s/ *$//g         删除所有行末的空格
:%s/^ *//g         删除所有行首的空格
:g/string/d        删除所有出现有string的行
:v/string/d        删除所有不包含string的行
:s/Bill/Steve/     用Steve替换当前行首次出现的Bill
:s/Bill/Steve/g    用Steve替换当前行出现的所有Bill
:%s#<[^>]\+>##g    删除所有HTMl标签,保留文本
dit   保留当前行html标签,删除文本
:%s/^\(.*\)\n\1$/\1/    Delete lines which appears twice
Ctrl+a    递增当前光标出的数字
Ctrl+x    递减当前光标处的数字
ggVGg?    将全文转换为rot13码,这是一种简单暗号语Rot13,重复执行此命令回复原样 

大小写

Vu    当前行转换为小写
VU    当前行转换为大写,当然对中文无效
g~~    大小写置换
vEU    选择性的转换为大小,从光标起始处到
vE~    也是将选中的大写转小写,小写转大写。
ggguG    全文小写,其实我们可以拆分3个命令gg/gu/来记忆
:set ignorecase    搜索时忽略大小写
阅读(392) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~