注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

guoyoooping的博客

audio,picture, text and video

 
 
 

日志

 
 

Vim学习笔记8: Vim优秀脚本推荐  

2010-01-31 19:26:58|  分类: Vim: 学习Vim的心 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1. taglist: 源代码结构浏览
                        
作者: Yegappan Lakshmanan, 网站脚本编号: 273. 下载地址:
http://www.vim.org/scripts/script.php?script_id=273
                        
1.1 功能说明:
                        
这是一个非常非常重要的插件, 有了它, 我们才能够在 VIM 中查看一个文件中包含的函
数列表, 全局参数列表等. 在taglist窗口显示的名称上双击鼠标或按回车键
, 右边主窗口中会跳转到相应的定义位置. taglist是最受程序员欢迎的插件, 为编程人
员提供了极大方便. 推荐大家一定要安装 !
                        
    he "Tag List" plugin is a source code browser plugin for Vim and
    provides an overview of the structure of source code files and allows
    you to efficiently browse through source code files for different
    programming languages

使用"CTRL-W + (h,j,k,l)"可以在主窗口和taglist窗口之间切换. 在taglist窗口中, 可
以使用下面的快捷键:

        <CR>          跳到光标下tag所定义的位置, 用鼠标双击此tag功能也一样
        o             在一个新打开的窗口中显示光标下tag
        <Space>       显示光标下tag的原型定义
        u             更新taglist窗口中的tag
        s             更改排序方式, 在按名字排序和按出现顺序排序间切换
        x             taglist窗口放大和缩小, 方便查看较长的tag
        +             打开一个折叠, 同zo
        -             将tag折叠起来, 同zc
        *             打开所有的折叠, 同zR
        =             将所有tag折叠起来, 同zM
        [[            跳到前一个文件
        ]]            跳到后一个文件
        q             关闭taglist窗口
        <F1>          显示帮助
                        
1.2 安装
                        
    1)必须首先安装Exuberant Ctags, 注意必须安装在$PATH路径下, 否则必须在
    .vimrc里标明ctags的绝对路径.
                        
    2)下载插件, 解压缩后将taglist.vim拷贝到./vim/plugin/目录下, 将
    taglist.txt拷贝到./vim/doc/目录下打开并执行:helptag.
                        
    3)虽然taglist使用ctags, 但并不要求tags文件的存在.
                        
    4)taglist功能很多, 选项也很多, 可以通过修改.vimrc订制可选项. 常用的配
    置见图1, 更多的帮助内容请参考":help taglist".

引用自我的.vimrc
|
|" 如果Exuberant Ctags的安装路径不在$PATH里, 必须从这里指定.
|"let Tlist_Ctags_Cmd = '/usr/local/bin/ctags.exe'
|"当vim启动时自动打开taglist窗口, 默认为0.
|" let Tlist_Auto_Open = 1
|" 精简模式, 不同的tag类别之间没有空行, 默认为有空行
|let Tlist_Compact_Format = 1
|" 主窗口退出时自动关掉taglist窗口, 默认为不自动关闭.
|let Tlist_Exit_OnlyWindow = 1
|" 是否允许打开taglist窗口时自动加宽窗口, 默认为允许.
|let Tlist_Inc_Winwidth = 1
|" tag是以何种顺序排序, 以"order"还是"name", 默认是order, 可以用s切换,
|let Tlist_Sort_Type = "order"
|" 自动关闭其它文件的taglist窗口, 默认是0.
|let Tlist_File_Fold_Auto_Close = 1
|" taglist窗口的宽度, 默认为30.
|let Tlist_WinWidth = 35 
|" 只显示本文件的tag, 默认为显示所有打开文件的tag.
|let Tlist_Show_One_File = 1
|                        
|" F8  (normal mode) brings up the tag list
|nmap <F8> <ESC>:Tlist<RETURN>
                        
已知bug:
                        
    1)Windows中不能使用taglist来浏览包含在中文路径中的源文件. 本人不才, 解决了
    这个问题, 需要的请打上这个
    patch(http://code.google.com/p/txtbrowser/downloads/detail?name=taglist.diff&can=2&q=),
    或者直接使用本人修改过的
    taglist.vim(http://code.google.com/p/txtbrowser/downloads/detail?name=taglist.vim&can=2&q=)
    替换原来的文件即可.

2. TxtBrowser: 纯文本浏览插件

作者: ypguo, 插件类型: utility. 下载地址:
http://www.vim.org/scripts/script.php?script_id=2899

2.1 功能说明:               
                        
1) 列出文本文件的文档目录树, 点击即可跳转到文件正文:

2) 语法高亮: 让文本文件也有语法, 高亮显示文件的标题, 关键字, 文件里的超级链接等
语法元素.

3) 扩展功能:

* 把光标放到URL上, <leader>g即可打开所在处的URL, 包括网址, 各种文件(包括pdf,
mp3等), Email地址.

* 把光标放到单词上, 执行或<leader>f打开网络字典查单词.

* 把光标放到单词上, 执行或<leader>s开google搜索该单词.
                        
2.2 安装
                        
1) 请首先安装taglist插件 (http://www.vim.org/scripts/script.php?script_id=273),
我相信玩Vim的没有几个人没有安装这个插件吧.

2) 下载插件后解压缩到目录$HOME/.vim(或$HOME/vimfiles, $VIM/vimfiles). 然后将解压后
的.ctag, 剪切到$HOME目录下即可, 安装完成后你的文件夹下应该有下面的几个文件(请
注意目录结构):

    * $HOME/.vim/syntax/txt.vim - .txt文件的语法高亮文件.
    * $HOME/.vim/plugin/txtbrowser.vim - 浏览工具.
    * $HOME/.vim/doc/txtbrowser.txt - 英文帮助文档.
    * $HOME/.vim/doc/txtbrowser.cnx - 中文帮助文档. (别忘了打开然后执行
                      ":helptags ."生成标签)
    * $HOME/.ctags - 用于标题标签的生成.

由于版本1.1.1之前采用老的插件名, 请在安装前先删除低版本插件(主要是帮助文件, 原来的
名字叫txt.txt和txt_cn.txt), 否则在安装新的帮助文档时会提示标签已经存在..

3) 在你的.vimrc文件里加入下面三行, 然后重启你的Vim:

    syntax on
    let tlist_txt_settings = 'txt;c:content;f:figures;t:tables'
    au BufRead,BufNewFile *.txt setlocal ft=txt

3. cscope_maps.vim: cscope的快捷键
                        
作者: cscope网站, 插件类型: utility. 下载地址:
http://cscope.sourceforge.net/cscope_maps.vim
                        
3.1 功能说明:               
                        
cscope可以看成是超频的ctags, 不过只支持C/C++等少数语言. Cscope与ctags常的相似.
不过有一点不同的是, Cscope比ctags有更多的搜索类型和选项, 比如可以搜索调用本函数
的函数等, 而ctags则可以显示taglist, 所以两个工具一直都是程序员必备的软件 . 安装
完cscope后, 你需要再安装一个cscope_maps.vim, 把cscope复杂庞大的命令映射成易记的
组合. 具体应用请参考<#2.2 vim对程序的支持>.

cscope的主要功能是通过同的子命令"find"来实现的, "cscopefind"的用法:

        csfindc|d|e|f|g|i|s|tname

为了简便, cscope_maps.vim插件将这些命令映射为:

    <C-\>s -> cs find s XXX: 查找C语言符号, 即查找函数名, 宏, 枚举值等出现
    的地方
    <C-\>g -> cs find g XXX: 查找函数, 宏, 枚举等定义的位置, 类似ctags所提
    供的功能
        <C-\>d -> cs find d XXX: 查找本函数调用的函数
        <C-\>c -> cs find c XXX: 查找调用本函数的函数
        <C-\>t -> cs find t XXX: 查找指定的字符串
    <C-\>e -> cs find e XXX: 查找egrep模式, 相当于egrep功能, 但查找速度快
    多了
        <C-\>f -> cs find f XXX: 查找并打开文件, 类似vim的find功能
        <C-\>i -> cs find i XXX: 查找包含本文件的文件
                        
3.2 安装说明:               
                        
    1)下载后将word_complete.vim文件保存在$VIMDATA/plugin目录下或将
    cscope_maps.vim里的内容拷贝到.vimrc里.

4. BufExplorer: 管理已经打开的buffer
                        
作者: jeff lanzarotta, 网站脚本编号: 42, 插件类型: utility. 下载地址:
http://www.vim.org/scripts/script.php?script_id=42
                        
4.1 功能说明
                        
这个插件可以使编辑多文件更加方便, 装完插件后Normal mode下输入\be即可打开缓冲区
列表, 光标放置在某一个文件上按回车即可打开这个文件, 而缓冲区列表自动关闭. 下面
是更详细的命令:         
                        
    '\be' (normal open)  or
    '\bs' (force horizontal split open)  or
    '\bv' (force vertical split open)
                        
    With bufexplorer, you can quickly and easily switch between buffers by
    using the one of the default public interfaces:
                        
4.2 安装
                        
    1)下载, 解压缩后将相应的文件放到runtimepath(linux下通常是~/.vim,
    Windows系统下通常是c:\vimfiles)路径下的plugin和doc目录. 然后重启一下
    vim就行了.      
                        
    2)在Normal模式下执行如下命令(通常记住第一个就够了):

5 sketch.vim: vim画图工具

作者: Antony Scriven, 插件类型: utility. 下载地址:
http://www.vim.org/scripts/script.php?script_id=705

5.1 功能说明

在纯文本文档里画流程图是很烦的事情, 你需要花很大的精力在空格的对齐上面.
sketch.vim工具解决了这个难题, 可以让你用鼠标直接画图, 很好玩,  虽然用到的时候不
多, 但真一旦用到了, 你就会震撼于它的创意了.

    Sketch.vim – Line drawing/painting using the mouse. Based on an idea
    by Morris.

鼠标左键用于画自由曲线, Ctrl-鼠标左键可以画粗曲线. 鼠标右键圈一个区域, 然后点击
左键可以画空心图, Shift-鼠标左键画的的时候拐弯处用"."而不是"+", Ctrl-鼠标左键可
以画实习图. Alt-鼠标左键可以切换实心画和粗笔画的线条, 可以有的选择为".", ":"和
"#".

下图是我随便练习的一个例子:

=====================================================================
 ###              ###       ###########         #####         #####
 ###              ###       ###########         #######      ######
 ####             ###           ###             #######     ######
 #####           ####           ###             ### ####  ########
  #####         ####            ###             ### #### ##### ###
   #####       #####            ###             ###  ########  ###
    #####      ####             ###             ###  #######   ###
     ######  #####              ###             ###  ######    ###
       #### #####               ###            ####   #####    ###
        ########                ###            ####   ####     ###
         ######          ###############       ###    ###      ###
         #####           ###############       ###             ###
         ####                                                  ###
=====================================================================
    figure 6: 用sketch画的图

这个插件和DrawIt有点类似, 用了这个就不用那个了.

安装说明:

    1)下载解压缩后将sketch.vim文件保存在$VIMDATA/plugin目录下, sketch.tut
    为教程, 第一次使用前请阅读一下. 你会发现这个画图工具其实很强大.

    2)执行:call ToggleSketch()命令开启或关闭画图功能. 建议在.vimrc中把
    call ToggleSketch() 映射为命令, 方便一些":map <F1> :call
    ToggleSketch()<CR>"

6. NERD_tree: 目录树浏览器

作者: Marty Grenfell, 插件类型: utility. 下载地址:
http://www.vim.org/scripts/script.php?script_id=1658

6.1 功能说明:

NERD tree允许你在Vim编辑器中以树状方式浏览系统中的文件和目录, 支持快捷键与鼠标
操作, 使用起来十分方便. NERD tree能够以不同颜色高亮显示节点类型, 并包含书签,
过滤等实用功能. 配合taglist或txtviewer插件, 右边窗口显示本文件夹的文件, 左边窗
口显示本文的文档结构, 将会使管理一个工程变得相当容易.

    The NERD tree allows you to explore your filesystem and to open files
    and directories. It presents the filesystem to you in the form of a
    tree which you manipulate with the keyboard and/or mouse. It also
    allows you to perform simple filesystem operations.

6.2 安装说明:

    1)下载NERD_tree.zip, 解压后将NERD_tree.vim放入~/.vim/plugin/目录; 将
    NERD_tree.doc放入~/.vim/doc目录下并执行":helptags ."安装帮助文件.
   
    2)在打开的文件里运行命令":NERDTreeToggle"打开或关闭NERDTree. 或者在
    .vimrc文件里将这个命令映射成一个快捷键"nmap <F7>
    <ESC>:NERDTreeToggle<CR>"

=~/.vimrc==================================================
"NERDTree plugin
"NERDTree的窗口在左边还是右边
let NERDTreeWinPos = "right"
"NERD tree窗口的大小
"let NERDTreeWinSize = 31
" 映射F7键为打开和关闭NERDTree的快捷键
nmap <F7> <ESC>:NERDTreeToggle<RETURN>
===========================================================
    figure 7: NERDTree常用选项

    3)在打开的NERDTree窗口里, 用"o"命令打开一个文件, 用通常的vim操作移动光
    标.

    4)用":help NERD_tree"命令查看详细的使用说明.


7. 关于color插件

个人觉得编程(C语言)还是desert或evening好看. 而编辑文本文件, 个人喜欢用default.
欢迎推荐其它的colorscheme插件.

8. 其它

其它好的插件还有很多, 但是我都没有试过, 所以只列出名字, 有时间的时候可以尝试一
下, 也希望大家推荐你喜欢的插件:

    gzip: 压缩文件支持
    netrw: 网络文件支持
    engspchk: 英文拼写检查
    calendar: 日历显示
    cvsmenu: CVS集成
    doxygen: 文档注释语法加亮
    matrix 电影matrix风格的屏保
    VisualMark: 高亮的书签
    SuperTab: 加速你的补全
  评论这张
 
阅读(4454)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017