用Gvim建立IDE编程环境(最详细,最适合初学者)

news/2024/7/21 12:35:36 标签: 编程, ide, vim, 正则表达式, tags, buffer

0.准备软件及插件。
(a)gtags" href="/tags/VIM.html" title=vim>vim72.exe 地址ftp://ftp.tags" href="/tags/VIM.html" title=vim>vim.org/pub/tags" href="/tags/VIM.html" title=vim>vim/pc/gtags" href="/tags/VIM.html" title=vim>vim72.exe。
(b)tags" href="/tags/VIM.html" title=vim>vimcdoc-1.7.0-setup.exe 地址http://prdownloads.sourceforge.net/tags" href="/tags/VIM.html" title=vim>vimcdoc/tags" href="/tags/VIM.html" title=vim>vimcdoc-1.7.0-setup.exe?download
(c)ec57w32.zip 地址http://prdownloads.sourceforge.net/ctags/ec57w32.zip
(d)taglist_45.zip 地址http://www.tags" href="/tags/VIM.html" title=vim>vim.org/scripts/download_script.php?src_id=7701
(e)winmanager.zip 地址http://www.tags" href="/tags/VIM.html" title=vim>vim.org/scripts/download_script.php?src_id=754
(f)minibufexpl.tags" href="/tags/VIM.html" title=vim>vim 地址http://www.tags" href="/tags/VIM.html" title=vim>vim.org/scripts/download_script.php?src_id=3640
(g)a.tags" href="/tags/VIM.html" title=vim>vim 地址http://www.tags" href="/tags/VIM.html" title=vim>vim.org/scripts/download_script.php?src_id=7218
(h)grep.tags" href="/tags/VIM.html" title=vim>vim 地址http://www.tags" href="/tags/VIM.html" title=vim>vim.org/scripts/download_script.php?src_id=7645
(i)visualmark.tags" href="/tags/VIM.html" title=vim>vim 地址http://www.tags" href="/tags/VIM.html" title=vim>vim.org/scripts/download_script.php?src_id=4700

1.安装gtags" href="/tags/VIM.html" title=vim>vim7.2。
运行gtags" href="/tags/VIM.html" title=vim>vim72.exe,选择完全安装(Full),我的安装目录是默认的C:\Program Files\Vim
安装完成后,包括了文件夹tags" href="/tags/VIM.html" title=vim>vim72和文件夹tags" href="/tags/VIM.html" title=vim>vimfiles,以及脚本_tags" href="/tags/VIM.html" title=vim>vimrc。

2.安装中文帮助手册。
运行tags" href="/tags/VIM.html" title=vim>vimcdoc-1.7.0-setup.exe,它会自动找到gtags" href="/tags/VIM.html" title=vim>vim的安装位置。
安装完毕后重新打开gtags" href="/tags/VIM.html" title=vim>vim,:help 时帮助手册已经是中文的了。
进行到这一步时,我的gtags" href="/tags/VIM.html" title=vim>vim菜单处的中文出现了乱码。
在网上寻找解决方案,将C:\Program Files\Vim\tags" href="/tags/VIM.html" title=vim>vim72下名为 lang 的文件夹删去,使菜单语言变为英语。

3.语法高亮。
首先,编辑_tags" href="/tags/VIM.html" title=vim>vimrc文件加入以下内容:
set nu!
colorscheme desert
syntax enable
syntax on
这些设置使得gtags" href="/tags/VIM.html" title=vim>vim可以显示行号,并使用了desert配色方案,而且打开了语法高亮功能(用不同颜色显示注释、关键字、字符串等)。
我们还可以让函数名也高亮起来,在C:\Program Files\Vim\tags" href="/tags/VIM.html" title=vim>vim72\syntax下找到 c.tags" href="/tags/VIM.html" title=vim>vim 和 cpp.tags" href="/tags/VIM.html" title=vim>vim,分别添加以下内容:
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
syn match cFunction "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
hi cFunction gui=NONE guifg=#B5A1FF
重新打开gtags" href="/tags/VIM.html" title=vim>vim,效果如下:

4.程序中跳转。
ec57w32.zip解压,在解压后文件夹中找到ctags.exe,将其复制到C:\ProgramFiles\Vim\tags" href="/tags/VIM.html" title=vim>vim72下,并编辑_tags" href="/tags/VIM.html" title=vim>vimrc文件,添加以下内容:
set tags=tags;
set autochdir
打开cmd命令行,切换到你要查看的源代码的根目录处,运行
ctags -R
将会在此目录处生成一个tags文件。
用gtags" href="/tags/VIM.html" title=vim>vim打开一个代码文件,将光标放到某一函数名上,如下图的UpdateViewByPosNo(),按下"ctrl+]",光标会自动跳转到定义处。

按下"ctrl+T"会跳回到原来的位置。
变量、结构体、宏等等,都可以这样做。
当你的源文件有更新时,只能重新运行ctags -R命令,来更新tags文件。

5.窗口管理。
taglist_45.zip解压,解压后包含一个doc文件夹和一个plugin文件夹,将其中内容分别复制到C:\Program Files\Vim\tags" href="/tags/VIM.html" title=vim>vim72下的doc及plugin中。
在_tags" href="/tags/VIM.html" title=vim>vimrc文件中加入以下内容:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1

用gtags" href="/tags/VIM.html" title=vim>vim打开代码文件(已生成过tags文件),:Tlist,TagList窗口即出现在左侧。
用相同的方法将winmanager.zip解压和拷贝,在_tags" href="/tags/VIM.html" title=vim>vimrc文件中加入以下内容:
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>

用gtags" href="/tags/VIM.html" title=vim>vim打开代码文件,normal状态下输入命令"wm",窗口如下

其中左上是netrw窗口(浏览文件),左下是TagList窗口,再次输入"wm"时这两个窗口会关闭。

6.多文件编辑。
minibufexpl.tags" href="/tags/VIM.html" title=vim>vim复制到C:\Program Files\Vim\tags" href="/tags/VIM.html" title=vim>vim72\plugin,在_tags" href="/tags/VIM.html" title=vim>vimrc中添加:
let g:miniBufExplMapCTabSwitchBufs=1
let g:miniBufExplMapWindowsNavVim=1
let g:miniBufExplMapWindowNavArrows=1

当用gtags" href="/tags/VIM.html" title=vim>vim打开两个或两个以上的文件时,会自动弹出MiniBufExplorer窗口,如下图

ctrl+Tab,切换到前一个buffer,并在当前窗口打开文件;
ctrl+shift+Tab,切换到后一个buffer,并在当前窗口打开文件;
ctrl+箭头键,可以切换到上下左右窗口中;
ctrl+h,j,k,l,切换到上下左右的窗口中。


7.快速切换头文件/源文件。
a.tags" href="/tags/VIM.html" title=vim>vim复制到C:\Program Files\Vim\tags" href="/tags/VIM.html" title=vim>vim72\plugin,在_tags" href="/tags/VIM.html" title=vim>vimrc中添加:
nnoremap <silent> <F12> :A<CR>
用gtags" href="/tags/VIM.html" title=vim>vim打开源码文件后,按F12即可以在c/h文件中切换,也可以通过输入:A实现。

8.在工程中快速查找。
grep.tags" href="/tags/VIM.html" title=vim>vim复制到C:\Program Files\Vim\tags" href="/tags/VIM.html" title=vim>vim72\plugin,在_tags" href="/tags/VIM.html" title=vim>vimrc中添加:
nnoremap <silent> <F3> :Grep<CR>
用gtags" href="/tags/VIM.html" title=vim>vim打开源码文件,并将光标定位到要查找的内容上,按下F3,确定要查找的内容和搜索范围,gtags" href="/tags/VIM.html" title=vim>vim会在弹出的QuickFix窗口中列出所有符合条件的搜索结果。如下图

确定查找内容时,支持tags" href="/tags/ZhengZeBiaoDaShi.html" title=正则表达式>正则表达式。

9.高亮的书签。
visualmark.tags" href="/tags/VIM.html" title=vim>vim复制到C:\Program Files\Vim\tags" href="/tags/VIM.html" title=vim>vim72\plugin
用gtags" href="/tags/VIM.html" title=vim>vim打开源码文件,将光标定位在需要添加书签的地方,按下ctrl+F2,即添加了书签。

使用F2在书签之间正向切换,shift+F2反向切换。


http://www.niftyadmin.cn/n/1741297.html

相关文章

你写代码的习惯,决定了你的未来——码农的悲哀

这几天收获挺大的&#xff0c;由于一个项目出了点问题&#xff0c;多人点击的时候就崩溃或者说出不来客户想要的结果&#xff0c;然后死活找不到出错的地方&#xff0c;由于客户那边催得紧&#xff0c;所以必须要抓紧完成&#xff0c;就找了来了师兄来帮忙解决。 师兄也是找了会…

轻松拿下JavaScript(一)——JavaScript常见问题

我们接下来写一个系列&#xff0c;关于JavaScript的学习。希望能跟大家一起来学习JavaScript&#xff0c;至于为什么要学JavaScript呢?我们不用JavaScript也可以编程&#xff0c;对&#xff0c;但是学了会有什么作用&#xff0c;我给大家百度一下&#xff1a; Javascript是一种…

轻松拿下JavaScript(二)——面向对象

我们接着前面的内容&#xff0c;来继续探讨JavaScript的面向对象的内容&#xff0c;今天这回我们主要学习下面几个知识点&#xff1a;我们一个个来进行深入浅出的讲解。 JS中的对象&#xff1a; JavaScript是一种基于原型的面向对象的语言&#xff0c;没有类的概念&#xff0c…

轻松拿下JavaScript(三)——创建对象,构造方法,成员

我们这节讲到&#xff1a;如何创建自己的对象&#xff0c;如何创建构造方法&#xff0c;如何创建公有、私有、特权、静态成员。 如何创建自己的对象&#xff1a;我们从以下三点来讲&#xff1a; 1、我们从最简单的例子开始&#xff1a;var myObjectnew Object();还有一种等价的…

轻松拿下JavaScript(四)——对象字面量,this,call()和apply()方法,JS的异常处理

我们今天这讲主要讲解JavaScript的面向对象的几个内容&#xff1a;对象字面量&#xff0c;this&#xff0c;this&#xff0c;call()和apply()方法&#xff0c;Js的异常处理。 对象字面量&#xff1a; 1、我们之前看到的例子都是使用点标识符创建对象和成员的。比如&#xff1a;…

J2EE技术规范(一)——JNDI

学习Java&#xff0c;我们首先要掌握的就是十三种技术规范&#xff0c;我们接下来就一步一步的来学习。今天主要是讲讲JNDI。 一、理解JNDI的用途&#xff1a; JNDI是用于访问不同的命名和目录服务的统一API接口。 二、那何时使用JNDI呢&#xff1a; &#xff08;1&#xff09…

J2EE技术规范(二)——JDBC

一、了解JDBC (1) JDBC是以统一方式访问数据库的API (2) JDBC提供&#xff1a; 独立于平台的数据库访问 位置透明 对专有数据库的问题时透明的 二、了解JDBC驱动程序 (1) JDBC Drivers是实现数据库操作的类 (2) Drivers分成两类&#xff1a; 2-层——客户直接和数据库会话 3-层…

J2EE技术规范(三)——Servlet的生命周期与接口

一、Servlet概览 什么是Servlet (1) Servlet是提供基于协议的请求/响应服务的java类 (2) HTTP servlets是能被HTTP命令调用的servlet 二、理解servlet生命周期 Servlet生命周期通过Web容器控制 简单的概括这就分为四步&#xff1a;servlet类加载--->实例化--->服务--->…