Linux中vim常用插件

VIM的帮助很详细,但若不了解有时的确不知道应该如何输入关键词,所以总结一下:

-----------------------------------------------------------------------------
条目                               前缀                         例子
-----------------------------------------------------------------------------
Normal模式命令                       无                         :h k
CTRL控制字符                         CTRL-                     :h CTRL-r
Visual视图模式                       v                         :h v_u
Insert插入模式命令                   i                         :h i_CTRL-o
ex-模式命令                         :                         :h :set
Command-line命令行编辑               c                         :h c_<BS>
命令参数                             -                         :h -m
选项                                 '                         :h 'winminwidth'
------------------------------------------------------------------------------

哦,还有一些关键词是用尖括号<>括起来的,如
:h <Left>
:h <CR>
:h <Up>
:helpg[rep] {pattern}   搜索所有的帮助文本并给出一个匹配 {pattern} 行的列表。

另外,在输入关键词的时候,可以按Tab键补全,ctrl-d列出与光标前面的关键词所匹配的名字,ctrl-a列出全部模式

希望有所帮助

————————————————————————————————————

****************************************************************
******* 版友推荐插件列表(用搜索快速定位到该插件描述部分)*******
****************************************************************

-------------------------------------------------------------------------
BufExplorer   Taglist   latex-suite     word_complete   Sketch
DrawIt         Mark       SearchComplete   CmdlineComplete vcscommand
switchtags     ccal.rb   viki             NERD_tree       fencview
matrix         taglis     Tetris           BlockComment
-------------------------------------------------------------------------

(1) [ 插件的名称 ]

BufExplorer

(2) [ 插件的功能 ]

方便切换 buffer,切换 buffer 后列表自动关闭。

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=42

(4) [ 备注或特别提醒 ]

装完后 Normal mode 下输入 /be 即可打开这个列表,
光标放在某一个文件上按回车可以打开这个文件。

(5) [ 推荐人id ]

Dieken

---------------------------------------------------------------------------

(1) [ 插件的名称 ]

Taglist

(2) [ 插件的功能 ]

实现类或者函数列表功能,支持 C/C++, Java, Perl, Python,
TCL, SQL, PHP 等语言,它可以在VIM中创建一个窗口,列出编辑
的源文件中的类、函数、变量定义列表,而且更方便的是这个列表
也插入在了右键菜单中,分类存放,访问非常方便。

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=273

(4) [ 备注或特别提醒 ]

依赖于 Exuberant Ctags,可以在 http://ctags.sourceforge.net 下载。

(5) [ 推荐人id ]

Dieken

------------------------------------------------------------------------------

(1) [ 插件的名称 ]

word_complete

(2) [ 插件的功能 ]

Insert模式下在输入的时候自动补全单词,如果补全正确
可以按Tab键接受,否则可以不管它继续输入或者按Ctrl-n,
Ctrl-p切换补全。 注意是输入三个字符后才开始补全。

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=73

(4) [ 备注或特别提醒 ]

在 工具 菜单中选择 Word completion 开启这个功能。

(5) [ 推荐人id ]

Dieken

------------------------------------------------------------------------------

(1) [ 插件的名称 ]

Sketch

(2) [ 插件的功能 ]

在 VIM 里头画 ASCII 图,支持填充,剪切,拷贝等,非常有创意。

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=705

(4) [ 备注或特别提醒 ]

Draw with mouse: boxes, arrows, lines, fills.
Transparent/opaque drag and drop.

(5) [ 推荐人id ]

Dieken

----------------------------------------------------------------------------

(1) [ 插件的名称 ]

DrawIt

(2) [ 插件的功能 ]

方便的画连线图。

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=40

(4) [ 备注或特别提醒 ]

(5) [ 推荐人id ]

Dieken

--------------------------------------------------------------------------

(1) [ 插件的名称 ]

Mark

(2) [ 插件的功能 ]

同时高亮显示多次搜索结果,这个特性非常有利于显示代码
中某些变量或函数的调用位置。

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=1238

(4) [ 备注或特别提醒 ]

类似的还有:
MultipleSearch
http://www.vim.org/scripts/script.php?script_id=479

MultipleSearch2
http://www.vim.org/scripts/script.php?script_id=1183

otf
http://www.vim.org/scripts/script.php?script_id=634

(5) [ 推荐人id ]

Dieken

------------------------------------------------------------------------

(1) [ 插件的名称 ]

SearchComplete

(2) [ 插件的功能 ]

用 / 或者 ? 搜索时按 tab 补全要搜索的单词。

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=474

(4) [ 备注或特别提醒 ]

(5) [ 推荐人id ]

Dieken

------------------------------------------------------------------------

(1) [ 插件的名称 ]

CmdlineComplete

(2) [ 插件的功能 ]

在命令行状态下,按 Ctrl-P 或 Ctrl-N 补全光标前面的词,候选词来源于当前buffer

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=2222

(4) [ 备注或特别提醒 ]

(5) [ 推荐人id ]

thinelephant(作者)

------------------------------------------------------------------------

------------------------------------------------------------------------

(1) [ 插件的名称 ]

vcscommand

(2) [ 插件的功能 ]

集成 cvs 和 svn 到 vim 中,可以在 vim 中看 log,diff,
annotate,commit 等等。需要安装 cvs 和 svn 的命令行版本。

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=90

(4) [ 备注或特别提醒 ]

(5) [ 推荐人id ]

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=90

(4) [ 备注或特别提醒 ]

(5) [ 推荐人id ]

Dieken

-----------------------------------------------------------------------

(1) [ 插件的名称 ]

switchtags

(2) [ 插件的功能 ]

根据当前编辑文件的全路径名切换 tags 选项,这样就可以
在 vim 中同时查看多个项目的代码时 Ctrl-] 不会互相串。

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=1344

(4) [ 备注或特别提醒 ]

老早以前写的,也许有点用,推荐一下。
需要Perl 插件支持(官方提供的 gvim70.exe 包含这个)。

(5) [ 推荐人id ]

Dieken

-------------------------------------------------------------------------

(1) [ 插件的名称 ]

ccal.rb

(2) [ 插件的功能 ]

Add Chinese lunar calender functionality to calendar.vim

(3) [ 插件的下载地址 ]

本版文章号:8906(若有变,请搜索版面)

(4) [Appendix]
* Feature
Support 200 years(1900-2100) lunar calendar calculation

* Requirements:
vim-ruby interface (For WinXP, if you do not wish to install Ruby, just put
msvcrt-ruby18.dll in PATH)

* Usage:
a) put ccal.rb in $VIM/vimfiles/plugin dir
b) Add following lines in .vimrc
c) Open calendar window via :Calendar or :CalendarH, place cursor on a date,
press 'gc'

"------------------------------------------------------------
" Lunar calendar function for calendar.vim plugin
"------------------------------------------------------------
function! s:GetLunarDate(day, month, year, week, dir)
ruby << EOF
$:.unshift(VIM::evaluate("expand('$VIM/vimfiles/plugin')"))
require 'ccal'
d, m, y = VIM::evaluate("a:day").to_i, VIM::evaluate("a:month").to_i,
VIM::evaluate("a:year").to_i
cc = Calendar::ChineseCalendar.new(y, m, d)
# print the pretty date text
season_color = case m
when 12, 1, 2: 'AliceBlue'           # winter white
when 3..5:     'MediumSpringGreen'   # spring green
when 6..8:     'DeepSkyBlue1'       # summer night
when 9..11:     '#eec080'             # autumn gold
end

VIM::command("highlight DateColor gui=none guifg=#{season_color}")
VIM::command("echohl DateColor | echo '#{cc.chinese_format}' | echohl None")
EOF
endfunction

"------------------------------------------------------------
" customize calendar action
"------------------------------------------------------------
function! s:CalendarDoCustom(action)
let l:tmpvar = g:calendar_action
let g:calendar_action = a:action
exe "normal /<CR>"
let g:calendar_action = l:tmpvar
endfunction

" Use the following format to map new calendar actions
autocmd BufNewFile __Calendar nmap <buffer><silent>gc :call <SID>
CalendarDoCustom("<SID>GetLunarDate")<CR>

* Screenshot
附件

* Only tested on WinXP

-------------------------------------------------------------------------

(1) [ 插件的名称 ]

Viki/Deplate

(2) [ 插件的功能 ]

This plugin adds wiki-like hypertext capabilities to Vim.
You can use viki as a "minor" mode (i.e., as an add-on to any other mode)
or as a full-fledged wiki mode. There is also an add-on plugin for "

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=861

--------------------------------------------------------------------------

(1) [ 插件的名称 ]

NERD_tree

(2) [ 插件的功能 ]

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.

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=1658

(4) [ 备注或特别提醒 ]

The following features and functionality are provided by the NERD tree:
* Files and directories are displayed in a hierarchical tree structure
* Different highlighting is provided for the following types of nodes:
* files
* directories
* sym-links
* windows .lnk files
* read-only files

(5) [ 推荐人id ]

runsnake

------------------------------------------------------------------------

(1) [ 插件的名称 ]

fencview.vim

(2) [ 插件的功能 ]

我就来推荐一下我自己的插件^_^新版本完善以后就会更新到vim.org
FencView.vim : View a multi-byte encoded file in different encodings.

script karma   Rating 30/12, Downloaded by 139

created by
Ming Bai

script type
utility

description
Install:
Copy FencView.vim to your plugin directory.
Usage:
Select a encoding from the Tools/Encoding menu just like what you did in
Firefox/IE or you can use ":FencView"   command to open the encoding
list window and "Enter" key to select the encoding under cursor to
reload the file.
ScreenShot:
http://mbbill.googlepages.com/fenc.png

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=1708

(4) [ 备注或特别提醒 ]

(5) [ 推荐人id ]

mbbill

-------------------------------------------------------------------------

(1) [ 插件的名称 ]

matrix

(2) [ 插件的功能 ]

是的,说的就是电影 Matrix!Vim 的脚本并不是都干“正经事”的

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=1189

(4) [ 备注或特别提醒 ]

想看一下电影里那些酷酷的字符在 Vim 的窗口里翻滚吗?
发一个命令“:Matrix”即可按任意键退出

(5) [ 推荐人id ]

runsnake

---------------------------------------------------------------------------

(1) [ 插件的名称 ]

taglist

(2) [ 插件的功能 ]

程序员必备插件

(3) [ 插件的下载地址 ]

本版文章号:8911(若有变动,请搜索本版)

(4) [ 备注或特别提醒 ]

附件taglist跟原版taglist几乎一模一样,不过允许用户自定义一个filter,
把要显示的tag name修改一下。filter的原形是FilterName(filetype, tagname),
返回值作为显示在taglist窗口中的标签。起因是我在用taglist查看Java native
函数时,由于Java native函数名是Java_packagename_ClassName_methodName的形式,
名称太长,在taglist窗口里看不到实际的函数名,于是就做了点手脚,把tag名字处
理了一下。

* 示例:
前述的filter可以定义为如下,放在vimrc中:

function! TagNameFilter(ft, tag)
let l:newtag = a:tag
" Filter the Java native method names, remove package qualification.
" (change Java_some_package_ClassName_methodName to ClassName_methodName)
if a:ft == 'c' && a:tag =~ 'Java_/(/w/+_/)/+'
let l:reserve_classname = 1   " indicate we need class name
let l:pad = matchstr(a:tag, '^/s*') " leading space is required by taglist
let l:idx = strridx(a:tag, '_')
if l:reserve_classname
let l:idx = strridx(a:tag, '_', l:idx - 1)
endif

let l:newtag = l:pad . strpart(a:tag, l:idx + 1)
endif

return l:newtag
endfunction

" if g:tag_name_filter is not set, fall back to default filter
let g:tag_name_filter = "TagNameFilter"

------------------------------------------------------------------------------

(1) [ 插件的名称 ]

Tetris

(2) [ 插件的功能 ]

俄罗斯方块游戏

(3) [ 插件的下载地址 ]

http://www.vim.org/scripts/script.php?script_id=172

(4) [ 备注或特别提醒 ]

呵呵,玩到100分就算很不错了。/te开始游戏,尽量不要在gui模式下玩

(5) [ 推荐人id ]

vimmer

----------------------------------------------------------------------------

(1) [ 插件的名称 ]

BlockComment

(2) [ 插件的功能 ]

块注释插件,几乎是原插件的重写

(3) [ 插件的下载地址 ]

本版文章号:8914(若有变动,请搜索本版)

(4) [ 备注或特别提醒 ]
* Usage
/c   Comment (linewise/blockwise)
/v   UnComment (linewise/blockwise)
/b   UnCommentBlock (Uncomment the whole commented block)
/d   DeleteComment (Delete whole commented block)
/j   Javadoc style Comment (No command to uncomment it yet)

It is easy to add new comment type, see CommentStr function in
BlockComment.vim

* Example
The /v command allows user uncomment part of a commented block:
/*---------                                   /*---------
* line1                                       * line1
* line2         place cursor on line2, =>     *---------*/
* line3         press /v line2 uncommented   line2
*---------*/                                 /*---------
* line3
*---------*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值