转自:http://www.cnblogs.com/starspace/archive/2009/05/15/1458046.html
放弃IDE,用VIM进行c/c++程序开发
老廖曾经在PHPER杂志上发表过一篇文章叫做用VIM做PHP开发环境
,在里面详细介绍了用VIM做php开发需要做的准备,这篇文章就结合一些资料和我自己的一些经验来介绍下用VIM做C/C++开发需要做的事情,相对来说要比做php开发方便些。
前提条件是当然是你已经下载了VIM,如果没有的话请先到官方网站下载最新版本,地址是:http://www.vim.org/download.php
帮助文档下载地址::http://vimcdoc.sourceforge.net/
首先从视觉方面:
第一个要做的是缩进
,修改你的VIM配置文件_vimrc
,在最后加入set cindent
,这样就设置了c风格的缩进,在这里缩进的大小是shiftwidth
的值。
第二个要做的是语法高亮
,这个是必须的,在中_vimrc
加入syntax enable
。
第三个要做的字体的设置
,设置一个舒服的字体可以让你编程的时候舒服好多,用editplus的时候我就用的Consolas,在vim中我还是用的这种字体,在_vimrc
中加入
if has(”gui_running”)
set guifont=Consolas:h9
endif
表示运行界面vim的时候就用这种字体。
第四,设置配色方案
,可以到点击这儿
下载,然后放到$VIM"vimfiles"colors
这个目录下,然后在中加入如下配置
if has(”gui_running”)
set guifont=Consolas:h9
” set color schema
colorscheme
colorscheme_name
endif
colorscheme_name为你需要设置的配色方案的名称。
接下来是在运行程序中用到的:
第一,使用ctag
VIM中已经带了Ctags这个程序。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。Ctags可以帮助程序员很容易地浏览源代码。用下面的命令可以在源代码的根目录下创建“tags”文件:
[/home/brimmer/src]$ ctags -R
“-R”表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。“tags”文件中包括这些对象的列表:
l 用#define定义的宏
l 枚举型变量的值
l 函数的定义、原型和声明
l 名字空间(namespace)
l 类型定义(typedefs)
l 变量(包括定义和声明)
l 类(class)、结构(struct)、枚举类型(enum)和联合(union)
l 类、结构和联合中成员变量或函数
VIM用这个“tags”文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:
1) 用命令行。在运行vim的时候加上“-t”参数,例如:
[/home/brimmer/src]$ vim -t foo_bar
这个命令将打开定义“foo_bar”(变量或函数或其它)的文件,并把光标定位到这一行。
2) 在vim编辑器内用“:ta”命令,例如:
:ta foo_bar
3) 最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl-]”。用“Ctrl-o”退回原来的地方。
注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:set tags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。
你还可以选择使用taglist这个插件,这个插件可以在右侧显示函数,变量等的列表
第二,改正程序中的错误
在VIM编辑器的环境下用“:make”(make工具的使用已经在我昨天的文章
中
提到的云风的几篇文章中详细介绍到)就可以编译程序,当然其前提是在当前目录下有Makefile文件。运行完“:make”之后,如果程序中有错误,就
会显示出来。这时候,光标会自动指向第一个出现错误的地方,而且你还可以看到错误的提示。然后,你就可以改正错误,而不用手工找到出错的那一行。记住下面
几个有用的命令:
l “:cl”列出错误
l “:cn”让光标指向下一个错误
l “:cp”让光标指向上一个错误
l “:cnew”从头开始
你甚至可以让VIM识别出其它编译器而不是gcc的错误提示。这对一些开发嵌入式系统的程序员这很有用,因为他们很可能用的不是gcc而是其它编译器。通过设置“errorformat
”的值,可以让VIM识别出编译器的出错提示。因为不同的编译器的出错提示是不同的,所以如果用的不是gcc就要重新设置。
“errorformat
”的值是一个字符串,它的格式和C语言的scanf的字符串格式相识。
gcc的“errorformat
”的值为:%f:%l:"%m。其中“%f”表示文件名,“%l”表示行号,“%m”表示出错信息。
用“:h errorformat
”查看详细的帮助信息。
用“:h quickfix”、“:h make”、“:h makeprg”、“:h errorfile”
查看其它的信息。
第三,使用快捷键
下面的这些快捷键对程序员很有帮助:
在函数中移动光标
[[ 转到上一个位于第一列的“{”
]] 转到下一个位于第一列的“{”
{ 转到上一个空行
} 转到下一个空行
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方
括号的匹配
% 用来进行小括号、中括号和大括号的匹配。这要看当前光标指向的是什么符号了。
结语:
vim一直是一些牛人推荐的工具并一直存在着是有着道理的,她大大提高了我们的工作效率,如果你打算长期变成的话,花一个星期的时间来熟悉vim的使用时很有必要的!
分享到:
相关推荐
在Linux开发环境中,Vim(Vi Improved)是一款广泛使用的文本编辑器,因其高效、高度可配置和命令行界面而受到程序员的青睐。本主题聚焦于一个名为“colibri”的Vim配色方案,它旨在为用户带来一种微妙而优雅的编辑...
Linux 下由 VIM 搭建 C/C++ 开发环境介绍 Linux 作为一个开源的操作系统,广泛应用于服务器、嵌入式系统、移动设备等领域,而 C/C++ 作为最基础的编程语言,广泛应用于操作系统、应用程序、嵌入式系统等领域。为了...
此外,`Linux开发-其它`标签表明这个配置框架可能特别关注与Linux开发相关的功能,如支持Git操作、C/C++或者其他Linux开发常用的编程语言的语法高亮。这使得它成为Linux开发者理想的起点。 总之,这份“轻量级Vim...
### 交叉编译环境的建立与arm-linux-gcc-4.3.2的安装 在进行嵌入式系统开发时,经常会遇到需要为不同的目标平台编译代码的情况,这就涉及到了交叉编译的概念。交叉编译是指在一个平台上编译代码,并生成可以在另一...
综上所述,Linux Shell和Vim的学习是提升Linux操作能力和开发效率的基础,而网络基础知识、Flask Web开发以及GDB调试技巧则是IT专业人士必备的专业技能。通过深入学习和实践,你将在IT领域中建立起坚实的技术底蕴。
Vim(Vi Improved)是一款强大的文本编辑器,广泛用于Linux、Unix和其他类Unix系统,也支持Windows等平台。Vim 7.4是其在2013年发布的一个重要版本,带来了许多改进和新特性。这个资源包含了两个压缩文件:`vim-7.4....
标题中的“clangd/libclang-11.0.0-x86_64-unknown-linux-gnu.tar.bz2”是一个软件包,它包含了用于C和C++编程...安装和配置这些组件后,开发人员将能够在Vim或其他支持LSP的环境中享受强大的C/C++代码补全和分析功能。
Xmake的灵活性和强大的功能,结合Vim的强大编辑能力,可以极大地提升Linux下C/C++项目的开发效率。 总之,Linux-xmake的vim插件是针对Xmake构建系统的一款实用工具,它将Xmake的构建功能无缝集成到Vim中,使得...
Linux 下 C++ 开发环境...本文详细介绍了如何在 Linux 平台上搭建 C++ 开发环境,包括安装 G++ 编译器、Vim 编辑器和依赖库等。遵循本文的步骤,读者可以轻松地搭建一个完整的 C++ 开发环境,开始编写自己的 C++ 程序。
本合集包含了一系列主流的Vim插件配置,适用于文本编辑、C语言、CPP、JAVA等多语言的开发工作。 1. **文本编辑增强**: - `NERDTree`:这是一个文件系统浏览器,允许用户在Vim中方便地浏览和打开文件。 - `Tagbar...
**Linux开发-其它:Vim从零到英雄——Vim入门到精通** Vim,全称Vi IMproved,是一款强大的文本编辑器,广泛应用于Linux系统中。它以其高效的操作方式和高度可定制性赢得了程序员和系统管理员的青睐。"Vim从入门到...
标签 "Linux开发-其它" 暗示了SpaceVim不仅适用于常规的文本编辑,还特别适用于Linux下的软件开发工作,包括但不限于C、C++、Python、Java、Go等语言。在Linux系统中,Vim通常是默认的文本编辑器,而SpaceVim则为这...
"linux-tools:vim73 cscope ctags .vimrc" 提到的是一组工具和配置,旨在提升使用Vim编辑器的体验。下面我们将详细探讨这些工具及其在编程工作中的应用。 **Vim73**: Vim73指的是Vim编辑器的第7.3版本。Vim(Vi ...
综上所述,通过配置vim、ctags、cscope等工具,并结合vundle管理各种插件,可以将vim打造成为一款强大的C/C++ IDE。在实际使用中,根据个人需求调整配置文件,可以进一步优化开发环境,提升编码效率。
本篇将详细介绍如何在Linux环境下配置Vim,以及涉及到的"ycm"(YouCompleteMe)插件。 首先,让我们了解如何安装Vim。在大多数Linux发行版中,可以通过包管理器进行安装,例如在Ubuntu或Debian上使用`sudo apt-get ...
值得注意的是,虽然`vim-silicon`标签为“Linux开发-其它”,但其实这个插件并不局限于Linux平台,只要是支持Vim的系统(如macOS或Windows)都可以使用。只要确保安装了Vim和必要的依赖(例如,用于图像转换的`...
总之,通过安装和配置适当的插件,Vim可以在Linux环境下提供与Sublime Text类似的自动补全体验,从而提升开发效率。对于经常使用Vim的用户来说,掌握如何安装和使用这些插件是一项非常有价值的技术。
这种配置对于C、C++、Java等语言尤其有用,能够大幅提升代码导航的效率,让Linux下的开发体验接近于Eclipse等IDE。 总之,通过整合Vim、Ctags和Tlist,我们可以构建一个功能强大的代码编辑环境,实现快速的代码导航...