|
代码折叠功能是现在流行的IDE中都具备具备的最基础的一项功能,甚至一些编辑器也有代码折叠的功能了,比如UltraEdit,Kate....等等,vim当然在这方面也不会落后与人,关于代码折叠的介绍大家可以看看帮助手册中的这些章节,反正都是中文,不会让我再翻译成汉语拼音给你看吧^_^
:help usr_28.txt :help fold.txt |
我简单摘抄一点,省得我自己还要打字.... *28.1*什么是折叠? 折叠用于把缓冲区内某一范围内的文本行显示为屏幕上的一行。就像一张纸,要它缩短 些,可以把它折叠起来: +------------------------------------+ |行1 | |行2 | |行3 | |________________________| / / /________________________/ /被折叠的行 / /________________________/ |行12 | |行13 | |行14 | +-----------------------------------+ 那些文本仍然在缓冲区内而没有改变。受到折叠影响的只是文本行显示的方式。 折叠的好处是,通过把多行的一节折叠成带有折叠提示的一行,会使你更好地了解对文本 的宏观结构。 真实的情景见下图(图19): (---图19 ---) vim提供以下6种方法来选定折叠方式:
manual |
手工定义折叠 |
indent |
更多的缩进表示更高级别的折叠 |
expr |
用表达式来定义折叠 |
Syntax |
用语法高亮来定义折叠 |
diff |
对没有更改的文本进行折叠 |
marker |
对文中的标志折叠 |
可用选项'foldmethod'来设定折叠方法。比如,如果想按照语法高亮来定义折叠,则在 ~/.vimrc中增加下面这行:
set foldmethod=Syntax set foldlevel=100"启动vim时不要自动折叠代码 |
这里主要是讲编程的,所以我就只介绍按照语法高亮来折叠代码,其他的折叠方法如果大家想用的话可以自己看看帮助手册,大同小异的. 按照语法高亮来折叠代码,其实就是按照代码中的一些括号来定义折叠位置,比如: "{ }","/* */".现在练习一下,就在nomal模式下输入命令"za",你会发现当前光标所在的最近的一层括号被折叠起来了,再输入一遍"za"命令,这个折叠又打开了,"za"命令就是打开/关闭当前折叠用的,下面是常用的一些命令:
za |
打开/关闭当前折叠 |
zA |
循环地打开/关闭当前折叠 |
zo |
打开当前折叠 |
zc |
关闭当前折叠 |
zM |
关闭所有折叠 |
zR |
打开所有折叠 |
其他还有一些我不常用的设置和命令大家可以自己看看帮助手册吧,我就不罗嗦了. |
|
下载地址 |
http://www.vim.org/scripts/script.PHP?script_id=1735 |
版本 |
1.18 |
安装 |
把echofunc.vim文件丢到~/.vim/plugin文件夹就好了 |
手册 |
无 |
当编程调用一个函数时,最可恶的是忘了这个函数参数列表的详细定义了,然后要跳转到定义处看看,再跳转回来继续写,如果参数列表太长了,还要来回跳转多次,对我等记性不好的人来说简直是折磨,还好有贴心的人写了这个插件,让我可以把精力放在Coding上,真是伟大呀,作者的名字叫: Ming Bai <mbbill AT gmail DOT com> Wu Yongwei <wuyongwei AT gmail DOT com> 看样子是汉人,而且还有一个是我本家,这个猜测令我兴奋不已呀... 言归正传,该插件的作用是当你在vim插入(insert)模式下紧接着函数名后输入一个"("的时候,这个函数的声明就会自动显示在命令行中.如果这个函数有多个声明,则可以通过按键"Alt+-"和"Alt+="向前和向后翻页,这个两个键可以通过设置EchoFuncKeyPrev和EchoFuncKeyNext参数来修改.见下图(图20)就是这种应用,你先不要急着试,先看完我下面的介绍 (---图20 ---) 如果想看到上图的效果,还有一个要注意的地方,这个插件的功能需要tags文件的支持,并且在创建tags文件的时候要加选项"--fields=+lS",整个创建tags文件的命令如下:
如果你还不会用tags文件,先看看前面的章节<在程序中跳来跳去: Ctags的使用>吧.当tags文件都弄好了后,就可以试试效果了,是不是跟我上图一样呀^_^ 还有一个小技巧告诉你,当你把鼠标放在函数名上的时候会有一个tip窗口弹出,该窗口中也会有函数的声明,这个功能需要你在编译vim时编译"+balloon_eval"特性了. |