用Vim模仿IDE的一些常用功能

首先,确定你的系统装了vim与ctags,没装的话请输入以下两个命令安装(注意系统自带vi不是vim) sudo apt-get install vim sudo apt-get install ctags ============================================================ 在使用IDE时,最大的方便就是我们不用编写makefile,本文不讨论makefile的编写,而是关注一些其他IDE常用功能,比如: 查看某个函数的定义 查找某个变量的使用情况 内置make,一键即可build 代码高亮 代码自动补全 代码缩进调整 在整个项目中替换字符 多文件编辑 方便的切换到上次编辑的位置 差不多就这些功能比较常用了吧,尤其是在做项目时。下面一一分析在VIM下如何实现这些功能。 查看某个函数的定义 确定安装ctags后,进入项目目录,输入命令:ctags –R * -R表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。 现在,当你在使用vim时,输入:tag func便会跳转到func函数定义的地方,或者光标移到func后按快捷键Ctrl+]。Ctrl+T返回上一个位置 tag命令还支持正则表达式,在记不清楚具体函数名时可以加上“/”用正则表达式查找,如tag /^XXX 另外还须注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:settags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。在完成编码时,可以手工删掉tags文件 查找某个变量的使用情况 使用vimgrep。比如我想查找变量count的使用,在vim下输入:vimgrep /// **/*.cpp。 “**”表示递归查找所有目录,*.cpp表示查找cpp后缀结尾的文件,输入后按回车即可进入第一个匹配行,输入cnext(cn)进入下一个匹配,cprevious(cp)进入上一个匹配。 内置make,一键即可build 在使用vim写程序时,我们还需退出vim,再输入make,其实可以使用vim内置的make,这样就不用退出vim了,但是前提也是必须目录下有makefile。 输入命令:make,如果有错误的话,剩余查看操作与上一个vimgrep相同(cnext(cn)与cprevious(cp)) 代码高亮 VIM自带。 代码自动补全 各种语法插件,不再详述,可google查阅 代码缩进调整 进入Visual模式,按“=”即可。 在整个项目中替换字符 要对多个文件进行同样的替换操作. 显而易见的办法是逐个编辑每个文件, 敲入替换命令. 不过用宏记录和回放功能就快多了. 假设你有一个目录下有很多C++文件, 都以".cpp"为扩展名. 现欲将所有名为"GetResp"的函数更名为"GetAnswer". 请按以下步骤操作: vim *.cpp(打开所有c++文件,现在进入的是第一个) qq(开始宏记录) :%s///GetAnswer/ge(在第一个文件中执行替换操作) :wnext(保存该文件并转到下一个文件进行编辑) q(停止宏记录) @q(执行名为q的宏.) 999@q(对其余文件执行同样的操作) 注意,:%s///GetAnswer/ge中最后的e是必须得,用于忽略错误,否则如果某个文件不包含GetResp,那整个宏就终止了。 多文件编辑 vim file1 file2……个人感觉其实没多大用,所以介绍一个多窗口编辑命令吧。 :sp newfile即可在同一窗口打开newfile文件。 如果想编辑上一个窗口,先按ctrl+w再按k 如果想编辑下一个窗口,先按ctrl+w再按j 如果想将其中一个文件的内容全部复制到另一个文件中,则可输入:r 被复制的文件名。这样就实现了文件的全部复制。 方便的切换到上次编辑的位置 目前我只知道按两次 `键(Tab键上面那个) over,转帖请注明出处 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shallwake/archive/2010/02/25/5327359.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值