Actually,simplicity is not simple

VIM常用插件记录

又是很久没更新blog了,一直挺忙的,我的小九也快在今年的3月底出生了,呵呵。

今天居然没什么活,来整理了下我的GVIM目录,也记录下:

plugin:

  • bookmarking:一款VIM的可见书签。进行了修改 修改后的文件在这儿

    " plugin - bookmarking.vim 设置标记(标签)
    " <F9> 设置标记    <F4> 向下跳转标记   <S-F4> 向上跳转标记
    
  • bufexplorer: 这个插件可以帮助你轻松的在缓冲间调转。

    " plugin - bufexplorer.vim Buffers切换
    " \be 全屏方式查看全部打开的文件列表
    " \bv 左右方式查看   \bs 上下方式查看
    
  • vimExplorer:文件管理器,可以当资源管理器用。

    " plugin - vimExplorer 文件管理器
    " :VE 打开文件管理器       tab: 在树、列表窗口切换  
    " Enter: 树窗口开关目录    u: 列表中在预览窗口打开文件
    " ;r 打开renamer插件
    
  • renamer:强大的批量重命名工具

    " plugin - renamer 文件重命名
    " :Renamer 将当前文件所在文件夹下的内容显示在一个新窗口
    " :Ren 开始重命名
    
  • matchit:使%不仅能够匹配简单的<>(),还能匹配之类标签的功能

    " plugin - matchit.vim   对%命令进行扩展使得能在嵌套标签和语句之间跳转
    " % 正向匹配      g% 反向匹配
    " [% 定位块首     ]% 定位块尾
    
  • mark:给不同的单词高亮,表明不同的变量时很有用。

    nmap <silent> ,hl <Plug>MarkSet
    vmap <silent> ,hl <Plug>MarkSet
    nmap <silent> ,hh <Plug>MarkClear
    vmap <silent> ,hh <Plug>MarkClear
    nmap <silent> ,hr <Plug>MarkRegex
    vmap <silent> ,hr <Plug>MarkRegex
    

    这样,当我输入 ,hl 时,就会把光标下的单词高亮,在此单词上按 ,hh 会清除该单词的高亮。如果在高亮单词外输入 ,hh ,会清除所有的高亮。

    你也可以使用virsual模式选中一段文本,然后按 ,hl ,会高亮你所选中的文本;或者你可以用 ,hr 来输入一个正则表达式,这会高亮所有符合这个正则表达式的文本。

    你可以在高亮文本上使用 ,#,* 来上下搜索高亮文本。在使用了 ,#,* 后,就可以直接输入 #* 来继续查找该高亮文本,直到你又用 #* 查找了其它文本。

    " <leader>*  当前MarkWord的下一个     <leader>#  当前MarkWord的上一个
    " <leader>/  所有MarkWords的下一个    <leader>?  所有MarkWords的上一个
    
  • WinMove:窗口移动插件(用得不多,挺好玩的,尤其是全屏后)

    let g:wm_move_left  = "<A-h>"
    let g:wm_move_right = "<A-l>"
    let g:wm_move_up    = "<A-k>"
    let g:wm_move_down  = "<A-j>"
    
  • ZenCoding:很酷的插件,HTML代码生成,以前专门写过一篇日志写这插件,相当不错。这里有个它的操作“视屏”,对着帮助文档再配合着·<C-]>·很方便浏览很容易上手。

  • auto_mkdir: 自动创建目录插件,功能简单但很实用,能解决下面的情况下报错的问题

    :w /home/asins/vim_plugin.txt 
    will fail with with E212 ("Can't open file for writing.") 
    
  • mru:记录最近打开的文件,相当好的插件。

    let MRU_File = $VIMFILES.'/_vim_mru_files'
    let MRU_Max_Entries = 1000
    let MRU_Add_Menu = 0
    nmap <leader>f :MRU<CR>
    

    这里用的$VIMFILES变量是我自己定义的,

    if has('unix')
        let $VIMFILES = $HOME.'/.vim'
    else
        let $VIMFILES = $VIM.'/vimfiles'
    endif
    
  • surround:快速替换、清除包围符号、标签。详细的介绍帮助文档,给出些例子:

    "  Old text                  Command     New text ~
    "  "Hello *world!"           ds"         Hello world!
    "  [123+4*56]/2              cs])        (123+456)/2
    "  "Look ma, I'm *HTML!"     cs"<q>      <q>Look ma, I'm HTML!</q>
    "  if *x>3 {                 ysW(        if ( x>3 ) {
    "  my $str = *whee!;         vlllls'     my $str = 'whee!';
    "  "Hello *world!"           ds"         Hello world!
    "  (123+4*56)/2              ds)         123+456/2
    "  <div>Yo!*</div>           dst         Yo!
    "  Hello w*orld!             ysiw)       Hello (world)!
    
  • NERD_commenter:注释代码用的

    " <leader>ca 在可选的注释方式之间切换,比如C/C++ 的块注释/* */和行注释//
    " <leader>cc 注释当前行
    " <leader>cs 以”性感”的方式注释
    " <leader>cA 在当前行尾添加注释符,并进入Insert模式
    " <leader>cu 取消注释
    " <leader>cm 添加块注释
    
  • jsbeautify:优化js代码,并不是简单的缩进,而是整个优化

    " 开始优化整个文件
    nmap <silent> <leader>js :call g:Jsbeautify()<cr>
    
  • yankring:寄存器可视操作

    map <leader>y :YRShow<cr>
    "map <leader>yc :YRClear<CR>
    

syntax:

after:

  • css:CSS颜色预览

    注意这插件得放在.vim/after/syntax目录