読み込んでいます...
2009年12月27日

不管是任何操作系统,任何平台,对优秀的程序员来说都是一样的,嘿嘿嘿嘿,就像武侠里面的高手一样,无剑胜有剑,无声胜有声,话说敌人几千几万的人,我们的程序员不屑一顾,当地方叫嚣的攻击的时候,程序员轻轻的一笑,转身轻轻的一划,万物皆寂寥。。当然,我还没达到那个水平,哈哈,就像做梦一样,可能今天又看了功夫熊猫了吧。

OK,不过为了达到那个最高境界,作为程序员的我还是不能离开命令行和VIM,弄了一天,才知道如何去在Mac下配置VIM,估计我这篇文章有点超前了把,我昨天写的Mac Air今天就在google搜第一页了,而且又没中文资料,看来我又能够抢占市场了。。

不好意思,废话太多了,这两天有点郁闷。。现在说正题,先看效果先。。

这里呢,我打开的是一个QT项目,不过是什么项目和我们的文章已经没什么关系了,我们的关系就是讲如何配置Mac下的VIM,OK,好,如果你是VIMfan,可以继续下去。

首先,我们去这里下载MacVim,下载好之后我们可以解压到桌面或者随便哪个地方都可以,最好是放到工具栏里面或者放到应用程序里,比较好找。

然后,我们就需要进行配置了,MacVim不像Windows下面的Vim有配置文件等等,当然MacVim也是支持的,不过很多都要手动创建,这也就是为什么我花了差不多半天的时间才弄出来,虽然我写在这里了,你看上去很简单,但是其实找起来还是很麻烦的。

我们先创建并配置配置文件,命令行下操作。

  • cd ~/ :到根目录。
  • vim temp.txt :创建一个文本文件,然后在里面写配置。
  • mv temp.txt .gvimrc :将文本文件变成gvimrc文件。

其实上面的第二个步骤可以说多余,方便新手看,直接用ls -a看隐藏文件然后创建和编辑.gvimrc即可。

然后就是要安装插件了,这里很简单,但是很难找,我就不卖关子直接说了算了。

  • cd ~/
  • mkdir .vim

上面就创建了MacVim的VIM文件夹,然后我们就要手动创建文件夹了,创建以下文件夹(们)。

after autoload colors compiler doc ftplugin indent keymap plugin syntax

这个时候,如果我们要安装插件的话,直接像Windows的Vim一样讲插件拷贝到这个目录即可,很简单把,现在我们就可以在Mac上享受我们的VIM开发带来的快感了。

2,303路过 9评论 Mac Vim 阅读全文..

这两天用VIM开发Firefox插件,刚上手不太习惯,到后来简直是大爱,VIM很强大,任何都可以去配置,去扩展,然后实现自己想要的效果。另外,对于像我这样的命令行流和Notepad流(还没用VIM之前一直用记事本写程序),而且还喜欢键盘直接操作和不喜欢用鼠标,更是如鱼得水,而且,它很轻。但是VIM有一个缺点,就是学习曲线太陡,也就是说一开始你学的很慢,但是到最后就如遇得水了。

OK,我们可以去官方网站下一个gvim,然后安装即可。安装好之后,我们可以安装几个插件,插件我直接上传上来,效果图如下。

注意,VIM是文本编辑器,不是IDE,但是却能通过插件实现IDE的功能,也就是说,开发C/C++,JavaScript,C#,PHP都可以用这个,因为它不是一个IDE,只是文本编辑器,但是又是万能的IDE。废话不多说,直接上插件。

  • tlist.rar (45.23 kb):tlist,就是上图中左下角那个,显示函数名字,变量等等的,方便的去查找。
  • wm.rar (34.71 kb):文件管理和窗口管理,左上角那个,可以打开相应的文件进行操作。
  • ctags.rar (89.54 kb):可以自己去build一些tag,也就是说可以给一个函数定义一个tag(比如找到这个函数定义的地方,很多IDE都没有),然后通过tag去查找这个函数定义的地方。

前两个安装到vim安装目录下vim72目录里即可,后面ctags是一个exe文件,放到你的全局变量的文件夹下即可。安装后打开VIM,输入wm初始化窗口。

VIM对我来说能提高效率的地方就是可以用键盘和命令完成所有操作,而我也觉得逐渐丢弃鼠标是一件很好的事情,因为鼠标有时候也很浪费时间。例如我们可以按Ctrl+W然后按方向键去切换窗口,按wm打开窗口和关闭窗口,在相应的函数的地方直接按Ctrl+]就可以找到定义的地方,是很快的。还有命令,非常非常的快。

废话说太多了,大家自己查什么是命令模式,输入模式,还有自己查应用吧,坚持半天,你就会发现这个很强大。

终于到来的正题:开发C/C++

OK。步入正题,我们如何开发一个C/C++应用程序,或者开发一个自定义的应用程序呢(例如我开发Firefox插件,我如何用VIM去开发呢?)

首先我们知道设置一个编译器的命令式:compiler,而我们要用到的是msvc,所以我们就需要输入:compiler msvc,如果是gcc的话就输入:compiler gcc,VIM的图形化版本已经给我们提供了选项,可以自己设置编译器,不过最好还是用命令,要不用VIM就没有任何意义了。

设置了编译器之后我们可以输入:make来编译,每一个编译器都在vim的compiler文件夹下有一个对应的vim命令,例如我们用msvc,可以看到就是msvc.vim,我们可以打开这个文件,发现make命令就是调用了nmake命令,于是我们只需要找nmake命令即可。我们可以设置环境变量如下,也可以设置到自己的命令行工作区中。

  • set LIB=%LIB%;C:\Program Files\Microsoft Visual Studio 9.0\VC\lib;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
  • set INCLUDE=%INCLUDE%;C:\Program Files\Microsoft Visual Studio 9.0\VC\include
  • set path=%path%;C:\Program Files\Microsoft Visual Studio 9.0\VC\bin

其中LIB和INCLUDE是必备的,我就不说了,path是为了将nmake放到环境变量中,然后我们使用。(这里最好是命令行工作区和环境变量里都设置好)

设置好之后我们就可以在VIM开发程序了,但是用make还是不行,因为我们的nmake需要一个makefile文件,makefile文件需要指定很多东西,很麻烦,所以这里我就写了一个很通用的makefile文件,代码如下。

# 指定编译器
CPP
= cl

# 编译参数,最新的VS2008好像不需要GX参数
CPPFLAGS
= /EHSc /GX /MT /NODEFAULTLIB

# 输出文件
OUTPUT
= Main.exe

# 要编译的文件(可用*及空格分隔多個文件)
SRC
=*.cpp

# 替换原則: OBJ 文件= SRC 文件换成 .obj
OBJ
=$(SRC:cpp=obj)

# 主要编译指令: 先编译所有的 OBJ, 然后建立 exe
all:
$(OBJ) $(OUTPUT)
    
@echo ========== Complate ==========

# 连接指令
$(OUTPUT): $(OBJ)
    
@echo ========== Linking ==========
    link
.exe /out:$*.exe $(OBJ)

# 编译指令
.cpp.obj:
    
@echo ========== Compiling ==========
    
$(CPP) $(CPPFLAGS) -c $<

# 重建
rebuild
:clean all

# 清除编译的代码和生成的临时性的东西
clean:
    
@echo ========== Clean ==========
    
del *.obj *.exe
    
@echo .

我们保存为makefile即可(无后缀名),然后我们就可以在命令行和VIM里面去开发C/C++应用程序了。

编译自己的程序应用

VIM令一个扩展不错的地方就在于我们可以编译自己的应用,例如很多IDE都不支持的应用,如Firefox插件,还有一些IDE不太好用的,如Python和Ruby,还有JavaScript。这个时候我们就可以自己写一个扩展去编译,例如我们看msvc的代码。

" Vim compiler file
"
Compiler     :    Miscrosoft Visual C
"
Maintainer  :    Bram Moolenaar <Bram@vim.org>
"
Last Change:    2005 Nov 30

if exists("current_compiler")
   finish
endif
let current_compiler
= "msvc"

" The errorformat for MSVC is the default.
CompilerSet errorformat&
CompilerSet makeprg
=nmake(这里可以换成其他的调用的程序)

我们可以看到,其实就是makeprg参数为nmake即可,这个时候,我们如果要编译Firefox插件,我们直接写一个exe文件,名字称为比如ffbuild,然后用ffbuild去处理即可,我们直接将CompilerSet makeprg=ffbild设置之后,然后编写一个ffbuild.exe放置到环境变量设置的文件夹内即可。

我们如果需要传参数的话,我们直接在make命令后加参数即可。

VIM很好很强大,现在我只接触到了九牛一毛而已,如果真的对VIM很感兴趣,我建议还是去国外的网站,直接看用户手册好了。

510路过 3评论 Vim 阅读全文..