天天看点

使用vim 开发C++

原版:http://easwy.com/blog/archives/advanced-vim-skills-catalog/

先来两张指令图

使用vim 开发C++

============================

使用vim 开发C++

(1) 使用VIM的会话(session)及viminfo的保存和恢复 上次开发环境

       这里所说的会话和viminfo,包括了你在本次使用VIM过程中的编辑环境,VIM可以把这个编辑环境保存下来,然后你在下次启动VIM后,可以再恢复回这个环境。我们在开发软件项目时,其周期不是一两天。如果你在中途退出了VIM而不能恢复原先的编辑环境的话,你又要重新打开你所打开的文件,重新定义你的映射、缩写,重新定位你所设定的标记的位置,重新设置项目相关设置……不是一般的麻烦!

要恢复上次的编辑环境,我们需要保存两种不同的信息,一种是会话信息,另外一种是viminfo信息。

-    会话信息中保存了所有窗口的视图,外加全局设置。

-    viminfo信息中保存了命令行历史、搜索字符串历史、输入行历史、非空的寄存器内容、文件的位置标记、最近搜索/替换的模式、缓冲区列表、全局变量等信息。

先看一下我们当前目录,执行”:pwd”,显示“/home/xxx/Desktop”,接下来,执行下面的命令:

:cd src                            "切换到/home/easwy/src/vim70/src目录

:set sessionoptions-=curdir        "在session option中去掉curdir

:set sessionoptions+=sesdir        "在session option中加入sesdir

:mksession vim70.vim               "创建一个会话文件

:wviminfo vim70.viminfo            "创建一个viminfo文件

:qa                                "退出vim

退出vim后,在命令行下执行“ gvim & ”,再次进入VIM,这时看到的是一个空白窗口。然后执行下面的命令:

:source ~/src/vim70/src/vim70.vim  "载入会话文件

:rviminfo vim70.viminfo            "读入viminfo文件

复习下:

       1.在下达的命令后面加上&,就可以使该命令在后台进行工作,这样做最大的好处就是不怕被ctrl+c这个中断指令所中断。

  2. 那大家可能又要问了,在后台执行的程序怎么使它恢复到前台来运行呢?很简单,只用执行fg这个命令,就可以了。

  3.可能有些同学又要问了,我现在已经在前台运行的命令,我能把它放到后台去运行么?当然可以了,只要执行ctrl+z就可以做到了。是不是很赞啊!

  4.说到这里可能有些同学又要问了,如果我有多个进程在后台运行,那如何恢复到前台来执行呢?这时候就要用到jobs这个命令了,通过jobs这个命令,能够列出所有在后台执行的进程,那个中括号([ ])里面的数字就是 jobs 的代号啰 ,通过fg %number 就可以恢复指定的后台进程.

(2)  使用 vimrc

当VIM在启动时,如果没有找到vimrc或gvimrc,它缺省工作VI兼容的模式。这意味着,你只能使用VI所具备的功能,而VIM中的大量扩展功能将无法使用。也许这就是你的VIM如此难用的原因。VIM中自带了一个vimrc例子,让我们从这个例子开始吧。

示例的vimrc(名为vimrc_example.vim)通常位于/usr/share/vim/vimXXX/目录下,其中vimXXX与你所使用的VIM版本有关。

首先把这个示例的vimrc拷贝到相应的目录,在Linux下,应该把它拷贝到你的home目录下,名字为”.vimrc”,下面是shell命令:

cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc

或者你在VIM中执行下面的命令,和上面的shell命令完成相同的功能:

:!cp $VIMRUNTIME/vimrc_example.vim ~/.vimrc

现在,你退出VIM后再进入,你的VIM和刚才已经不一样了。

复习下:

:!cp   在vim  下 加 ! 表示执行shell 下的命令

$VIMRUNTIME  vim变量值— 运行时变量 。 在 vim 下  执行 :echo $VIMRUNTIME 可以看到值。vim  工作目录:/usr/share/vim/current  。 current 是个link 档,指向vim70

~ 是当前的home目录

.xxx 前面带”点“ 的文件是隐藏文件,查看要用ls -a

VIM自带的示例vimrc中,只定义最基本的配置。

在http://www.amix.dk/vim/vimrc.html有一个非常强大的vimrc,有人戏称为“史上最强的vimrc”,或许有些言过其实。不过,如果你通读了这个vimrc,相信能从中学到很多很多……

继续阅读