vim也是有代码折叠功能的,以前就知道,然而毕竟用的不多,这个功能基本上很少用。随着最近和gvim的亲密接触,对代码折叠功能逐渐熟悉起来。有一次打开一段php的代码 — 比如PEAR.php,发现里面的代码自动被折叠了,将代码展开后,可以看到只要代码两边有/*{{{*/和/*}}}*/,就会被自动折叠。仔细搜索配置,其中有一句是重点:
foldmethod=marker
这样vim就会自动搜索代码,将{{{和}}}之间的内容折叠起来,而且代码结尾有一段小注释也不是无用的废料:
/* vim600: sw=4 ts=4 fdm=marker syn=php
*/
这段注释会被vim读取,并自动设置到环境变量里面。
关于代码折叠的用法,只要在vim中输入:
:help zo
就可以看到了不少相关的快捷键,需要一定的练习才可以得心应手:)
我的gvim配置内容又增加了:
colo zellner
set guifont=Courier_New:h11:cANSI nobackup tabstop=4 shiftwidth=4 foldmethod=marker
au BufRead * simalt ~x
set langmenu=zh_CN.utf-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set guifont=DejaVu\ Sans\ Mono:h12
source $VIMRUNTIME/../_vimrc
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
language messages zh_CN.utf-8
set helplang=cn
set iskeyword+=
我的.vimrc
set hlsearch ic ai wildmenu fileencodings=utf-8,gbk cindent tabstop=4 shiftwidth=4 foldmethod=marker nocompatible nopaste pastetoggle= <f11>
syn on
pastetoggle=
-
一点 vim相关小发现:
- google reader的上一篇,下一篇快捷键分别是j,k,和vim的光标移动键一致,不知道是巧合还是有意为之,如果是后者,那么google reader的开发者想必也是vim的粉丝:)
- 使用firefox查看网页源代码时,按一下”/”,会显示搜索框,与vim的搜索一致,估计firefox的开发者也是vim爱好者:p
5 responses to “vim的的代码折叠”
Hi, 我也是一个vim 的fans 也在做PHP的开发工作. 不知是否能交个朋友.
我的MSN是 zwj2000@hotmail.com
opera的Find…也是可以用/调出来,非常方便,查询网页内容或者源代码都可以。
好像vim的作者在google工作呢:)
是否有方法像notepad++那样实现对括号层次的折叠?如按ALT+4可以将第四层的折叠起来?
说的是这种吗
phpfolding.vim - http://www.vim.org/scripts/script.php?script_id=1623
可以自动折叠class或function