Vim进阶

来源:互联网 发布:java绘制动态图形 编辑:程序博客网 时间:2024/06/07 02:34

Vim实用技术,第1部分:实用技巧 http://www.ibm.com/developerworks/cn/linux/l-tip-vim1/index.html

Vim实用技术,第2部分:常用插件 http://www.ibm.com/developerworks/cn/linux/l-tip-vim2/index.html

 Vim 实用技术,第 3 部分: 定制Vim: http://www.ibm.com/developerworks/cn/linux/l-tip-vim3/index.html

http://blog.csdn.net/fangjuntan/article/details/6153840

http://blog.csdn.net/wooin/archive/2008/08/28/2844868.aspx

http://www.cnblogs.com/taskiller/archive/2012/04/06/2434532.html 简单搭建vim看代码

http://www.vim.org/scripts/script.php?script_id=3647 把许多工具都集成在一起了,成了一个IDE了

http://blog.csdn.net/yangyang_gnu/article/details/6642271 组建buld链

http://easwy.com/blog/archives/vim-resources-collection/ 这个是easyw整理的vim资源,其中7个习惯很好!

1. 折叠方式 
可用选项 'foldmethod' 来设定折叠方式:set fdm=*****

有 6 种方法来选定折叠:
          manual           手工定义折叠
          indent             更多的缩进表示更高级别的折叠
          expr                用表达式来定义折叠
          syntax             用语法高亮来定义折叠
          diff                  对没有更改的文本进行折叠
          marker            对文中的标志折叠

注意,每一种折叠方式不兼容,如不能即用expr又用marker方式,我主要轮流使用indent和marker方式进行折叠。

使用时,用:set fdm=marker 命令来设置成marker折叠方式(fdm是foldmethod的缩写)。
要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=syntax,就像添加其它的初始化设置一样。

2. 折叠命令
选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了,由于我使用indent和marker稍微多一些,故以它们的使用为例:
如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
在可折叠处(大括号中间):
zc      折叠
zC     对所在范围内所有嵌套的折叠点进行折叠 
zo      展开折叠
zO     对所在范围内所有嵌套的折叠点展开
[z       到当前打开的折叠的开始处。
]z       到当前打开的折叠的末尾处。
zj       向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk      向上移动到前一折叠的结束处。关闭的折叠也被计入。

当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动之:)
我们可以使用下面的命令来创建和删除折叠:
zf      创建折叠,比如在marker方式下:
                   zf56G,创建从当前行起到56行的代码折叠;
                   10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。
                   10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。
                   在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。
zd      删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zD     循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。
          仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zE     除去 (Eliminate) 窗口里“所有”的折叠。
          仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

注意:

1. ubuntu10.04时,安装vim-gnome,这个事vim完全版

2. 使用代码折叠式,设置折叠方式使用命令为 :set fdm=indent(or xxxxx),这个有冒号

                                   使用折叠命令时,为光标移动到指定位置,执行命令 zc(or xxxx),这个没有冒号

原创粉丝点击