Vim的代码折叠功能

看PHP的代码书写规范推荐使用{{{ 符号将函数块括起来,了解了下使用set fdm=marker打开vim的折叠功能,功能太多,这里只记录比较常用的

 

生成折叠标签:

zf并回车产生一个空的折叠标签
用shift+v选中文本,按zf折叠选中的内容
zfap 將光标所在的那一段代码(根据小括号大括号界定)折叠成。
 

操作折叠标签

zo 将光标所在处的折叠打开。 open。
zc 将光标所在处已打开的内容再度折叠起来。 close。
zr 将全文的所有折叠依层次通通打开。 reduce。
zm 将全文已打开的折叠依层次通通再折叠起来。 more。
zR 作用和zr 同,但会打开折叠中又还有折叠的所有折叠。
zM 作用和zm 同,但对于巢状折叠亦有作用。
zi 这是个切换,是折叠与不折叠指令间的切换。
zn 打开全文的所有折叠。 fold none。
zN 这是zn 的相对指令,回复所有的折叠。
zd 删除在光标下的折叠
zD 循环删除(Delete) 光标下的折叠,即嵌套删除折叠。
 
zR 的作用于foldlevel 这个设定项,是控制折叠的层次,而zn 则是作用于foldenable 这个设定项,他是不管层次的,只有全关或全开。
 
通常,光标在折叠处向左或向右移的话,折叠也会自动打开。在进入编辑模式,例如按i 或o,这是也会自动打开折叠。
 
更多:http://hi.baidu.com/shining_pc/item/edc293568dcbd9c09f266724

Tags: vim

上一篇: 互联网软件开发的四个目标   下一篇: smtpmail更新0.3.4

你问我答

  1. #1 头像 keminar 2012-11-13 00:01:46
    "切换粘贴模式
    set pastetoggle=<f11>
    "文件的描述信息,map成vim的一个宏命令
    function MyCopy()
        call setline(line("."),"/**")
        call append(line(".")+1," * @filename ".expand("%"))
        call append(line(".")+2," * @touch date ".strftime("%c"))
        call append(line(".")+3," * @author keminar<linuxphp@qq.com>")
        call append(line(".")+4," * @license http://www.zend.com/license/3_0.txt   PHP License 3.0")
        call append(line(".")+5," * @version 1.0.0 ")
        call append(line(".")+6,"*/")
    endf
    map <F12> <Esc>:call MyCopy()<CR><Esc>5j$a

    参考:http://www.laruence.com/2009/04/21/680.html

提交疑问

回顶部