有哪些好用到爆的vimvim 插件安装

几个有用的vim插件 - zzwworld - 博客园
独立之精神
自由之思想
1、自动补全new-omni-completion、OmniCppComplete
new-omni-completion是vim自带的全能补全工具,他要依据ctags生成的tags文件。
按下"Ctrl+X Ctrl+O"会进行自动补全;
默认会有预览窗口,通过在~/.vimrc文件中加入set completeopt=longest,menu
可以关掉智能补全时的预览窗口。
vim自动补全&&OmniCppComplete
vim的自动补全功能可通过其插件OmniCppComplete实现。安装OmniCppCompletemn@mn-HP:~$&vim-addons install omnicppcomplete配置OmniCppComplete在vim配置文件/home/user/.vimrc中加入如下的配置:
"-- omnicppcomplete setting --
" 按下F3自动补全代码,注意该映射语句后不能有其他字符,包括tab;否则按下F3会自动补全一些乱码
imap &F3& &C-X&&C-O&
" 按下F2根据头文件内关键字补全
imap &F2& &C-X&&C-I&
set completeopt=menu,menuone " 关掉智能补全时的预览窗口
let OmniCpp_MayCompleteDot = 1 " autocomplete with .
let OmniCpp_MayCompleteArrow = 1 " autocomplete with -&
let OmniCpp_MayCompleteScope = 1 " autocomplete with ::
let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)
let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files
let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup window
let OmniCpp_GlobalScopeSearch=1 " enable the global scope search
let OmniCpp_DisplayMode=1 " Class scope completion mode: always show all members
"let OmniCpp_DefaultNamespaces=["std"]
let OmniCpp_ShowScopeInAbbr=1 " show scope in abbreviation and remove the last column
let OmniCpp_ShowAccess=1
(前几行就是提供了C++中的./-&/::等操作符的提示和自动完成)。
OmniCppComplete是基于ctags数据库即tags文件实现的(基于ctags生成的索引信息来实现自动补全的),所以在 ctags -R生成tags时还需要一些额外的选项,这样生成的tags文件才能与OmniCppComplete配合运作。
使用下列命令生成tags文件,就可以 与OmniCppComplete配合运作:ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .--c++-kinds=+p& : 为C++文件增加函数原型的标签--fields=+iaS&& : 在标签文件中加入继承信息(i)、类成员的访问控制信息(a)、以及函数的指纹(S)--extra=+q&&&&& : 为标签增加类修饰符。注意,如果没有此选项,将不能对类成员补全
# vim自动补全功能的测试# 为了测试自动补全功能,我们先下载C++一份C++标准库的源代码。mn@mn-HP:~$&sudo apt-get install build-essential# 然后在/usr/include/c++下就可以找到标准库的头文件了。mn@mn-HP:~$ cd /usr/include/c++ ls4.6& 4.6.3# 在此文件夹下生成能与OmniCppComplete配合运作的tags文件 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . ls4.6& 4.6.3& tags# 在vim的配置文件中如下内容,然后在编程的时候就可以使用自动补全功能了。 vi ~/.vimrc
set tags+=/usr/include/c++/tags
# 用vi打开前面的Test.c文件,在printf("Hello World!\n")下一行中,输入pri,然后按下Ctrl+X Ctrl+O,此时vi会弹出一个窗口,所有以pri开头的tag都会出现在这个窗口中,printf就出现在第6行中 cd ~ vim Test.c
注意:在自动补全的点,Vim必须知道可能补全的定义。比如说,在namespace std命名空间下的变量和函数,必须要用暴露出来,否则是不能补全的。在.cpp文件中还可以,在.h文件中这样就不是好的做法了。暂时不知道这个问题是由于我自己配置错误还是程序没有 实现。
当自动补全下拉窗口弹出后,一些可用的快捷键:Ctrl+P &向前切换成员Ctrl+N &向后切换成员Ctrl+E &表示退出下拉窗口, 并退回到原来录入的文字Ctrl+Y &表示退出下拉窗口, 并接受当前选项
其他补全方式:Ctrl+X Ctrl+L&整行补全Ctrl+X Ctrl+N &根据当前文件里关键字补全Ctrl+X Ctrl+K &根据字典补全Ctrl+X Ctrl+T &根据同义词字典补全Ctrl+X Ctrl+I &根据头文件内关键字补全Ctrl+X Ctrl+] &根据标签补全Ctrl+X Ctrl+F &补全文件名Ctrl+X Ctrl+D &补全宏定义Ctrl+X Ctrl+V &补全vim命令Ctrl+X Ctrl+U &用户自定义补全方式Ctrl+X Ctrl+S &拼写建议
帮助文档:help omnicppcomplete
2、加速你的补全 -- 插件: SuperTab
http://www.vim.org/scripts/script.php?script_id=1643
下载,用vim打开($ vim supertab.vba),然后Source the file (:so %)
& 此时,supertab.vim 已放入 ~/.vim/plugin 文件夹、supertab.txt已放入~/.vim/doc中了。
supertab.txt
在你的~/.vimrc文件中加上这两句:
" 0 - 不记录上次的补全方式" 1 - 记住上次的补全方式,直到用其他的补全命令改变它" 2 - 记住上次的补全方式,直到按ESC退出插入模式为止
let g:SuperTabRetainCompletionType=2&&&&&&
" 设置按下&Tab&后默认的补全方式, 默认是&C-P&, " 现在改为&C-X&&C-O&. 关于&C-P&的补全方式,
" 还有其他的补全方式, 你可以看看下面的一些帮助:
" :help ins-completion
" :help compl-omni&&&&&&&&&&&&&&&& let g:SuperTabDefaultCompletionType="&C-X&&C-O&"
以后当你准备按"Ctrl+X Ctrl+O"的时候直接按&Tab&就好了
3、提示函数原型echofuncechofunc可以在命令行中提示当前输入函数的原型。echofunc下载地址:下载完成后,把echofunc.vim文件放到 ~/.vim/plugin文件夹中当
你在vim插入(insert)模式下紧接着函数名后输入一个"("的时候, 这个函数的声明就会自动显示在命令行中。如果这个函数有多个声明,
则可以通过按键"Alt+-"和"Alt+="向前和向后翻页,
这个两个键可以通过设置g:EchoFuncKeyNext和g:EchoFuncKeyPrev参数来修改。这个插件需要tags文件的支持,
并且在创建tags文件的时候要加选项"--fields=+lS"(OmniCppComplete创建的tag文件也能用),
整个创建tags文件的命令如下:$ ctags -R --fields=+lS其他插件说明详见echofunc.vim
如果你在编译vim时加上了"+balloon_eval"特性,那么当你把鼠标放在函数名上的时候会有一个tip窗口弹出, 该窗口中也会有函数的声明。
http://www.vim.org/scripts/script.php?script_id=1643
把supertab.vim 文件丢到 ~/.vim/plugin 文件夹就好了
supertab.vim 文件头部, 和命令 ":SuperTabHelp"
4、markdown语法高亮vim-markdown
下载,用vim打开,运行命令
&此时所有文件将会解压到~/.vim的相应文件,此时安装成功。适合python的vim插件,有哪些是必备(高度推荐)的? - 开源中国社区
当前访客身份:游客 [
当前位置:
初学者,请问适合python的vim插件,有哪些是必备(高度推荐)的? 最好稍微给解释下干什么的,感谢
共有2个答案
<span class="a_vote_num" id="a_vote_num_
有一个python mode
<span class="a_vote_num" id="a_vote_num_
比如 flake检查语法错误等
更多开发者职位上
有什么技术问题吗?
类似的话题博客访问: 623530
博文数量: 509
博客积分: 13297
博客等级: 上将
技术积分: 2895
注册时间:
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
在linux下编程工作时间也不短了,但始终对开发工具了解甚少,久而久之,就养成了一些不好的习惯,以编辑为例,vi用了这么久才开始研究有些什
么插件可用,对vi自己提供的命令也知道的少的可怜,看来‘懒惰’真的是成为一个好的程序员的必备条件了,有好多捷径可走,我却一直不得其门。今天网上搜
罗了一下,了解了一下vi的插件,目前主要就是ctags,bufexplorer,nead_tree,taglist等几个常用的,现边列出了不少,
有时间再慢慢尝试了:
---------------------------------
fuzzyfinder.vim
可以替代四个插件, 不过这个插件也不是完美的,比如
和favex.vim相比,它的收藏夹缺少对目录的支持
和selectbuf.vim相比,它少了对多个buf的批量选择和处理
mru.vim -> fuzzyfinder.vim:FuzzyFinderMruFile
favex.vim -> fuzzyfinder.vim:FuzzyFinderFavFile
selectbuf.vim -> fuzzyfinder.vim:FuzzyFinderBuffer
NERDTree.vim -> fuzzyfinder.vim:FuzzyFinderFile
AlignMaps.vim
AlignPlugin.vim的一些按键映射
AlignPlugin.vim
按照一定格式对齐文本
一个对齐的插件,用来排版,面对一堆乱七八糟的代码时,用来对齐代码,功能强大,不过用到的机会不多
在.c/.h之间切换,写代码必备
bufexplorer.vim
列出当前打开的buffer,可以很容易的切换到和删除选定的buffer,必备插件之一
calendar.vim
日历插件,有了它,用vim来写日记很方便
cecutil.vim
一些插件用到的一些库函数
cscope_maps.vim
cscope的vim插件,提供快捷键操纵cscope,好东东,如果你在用cscope的话
c***plorer.vim
color theme浏览插件,列出所有的vim color theme到一个列表中,选中后按回车即可应用相应的color
theme,试验color theme时再也不用一次次输入:colo theme_name了,从上百个color
theme中选择自己喜欢的theme时有用
support,让你用编写c/c++程序时如虎添翼,有很多贴心的功能,每个功能都有快捷键,不过一部分和NERD_comments冲突如果经常编写
一些单文件的c程序,但是不想写makefile,用这个,他帮你完成,F9编译并链接,ctrl-F9运行
某些插件用到的一个debug工具
DoxygenToolkit.vim
添加doxygen注释
DrawIt.vim
在vim里画图
FavEx : Favorite file and directory explorer ,可以添加目录和文件到收藏夹,可以把经常编辑的文件添加到收藏夹来,在文件打开以后,\ff新增文件到收藏夹,\fd新增目录到收藏夹
fencview.vim
mbbill的编码识别插件
genutils.vim
一些插件依赖的库函数
LargeFile.vim
让大文件打开快一点
latex-suite
great for latex
lookupfile.vim
五星级推荐的好插件!我觉得它是vim上最伟大的插件之一,提供多种方式查找文件,让你在复杂的目录树中也能轻松自如找到你要的文件
LustyJuggler
Switch very quickly between your most recently used buffers
manpageview.vim
在vim里查看man
同时高亮多个单词
matchit.vim
扩展了vim的%功能,让%可以匹配的,不再仅仅是括号,支持多种语言.必备插件之一
Address, 给vim增加MRU功能,也就是保留最近打开的文件记录,:MRU打开,q退出,很方便,有过一个支持菜单的类似的插件 不过对于我这样的不用菜单的用户,还是这个命令行的好用一点,因为经常使用,所以我映射到了F2
multiselect.vim
同时选择多个区域
multvals.vim
array操作库函数,multiselect依赖它
NERD_commenter.vim
NERD_comments
功能强大的代码注释工具,用来注释或者取消注释,支持很多语言,可以对文本块操作,最常用到的快捷键是\c
NERD_tree.vim
tree explorer for vim
netrwclean.vim
netrw清理工具,经常升级netrw的话,用来删除老版本
netrwPlugin.vim
vim自带的文件浏览器
parenquote.vim
给选中的文字加上引号,支持( { [ < ' " `,选中后,\加上你想要添加的符号,比如选中abc后,\(,得到(abc)
project.vim
自制的工程管理插件
python_calltips
best for python
qfixtoggle.vim
快速打开关闭quickfix window
Very small, clean but quick and powerful buffer manager. c.
selectbuf.vim
提供快速的buffer选择
sketch.vim
snippetEmu.vim
扩展了vim的abbr缩写功能,支持占位符,支持变量替换.
snippetsEmu.vim
功能强大的缩写扩展,vim版的TextMate
tab operation
taglist.vim
vim的代码浏览器,生成函数列表,支持跳转,可以根据光标λ置查询到当前的函数名
toansi.vim
将语法高亮转成 BBS 上的彩色
给vim增加url的识别功能,但是功能远不只是支持url,还有更多,详情见utl的帮.
vcscommand.vim
给vim整合了cvs/subversion功能,不用离开vim环境也能执行常用的cvs/subversion操作.
visincrPlugin.vim
vimincr.vim的公共接口
visincr.vim
给vim增加生成递增或者递减数列的功能,支持十进制,十六进制,日期,星期等,功能强大灵活
可以对选中的文本块执行ex操作,尤其是visual block模式下,vim自己是不支持的.选中后,:B 加上ex命令
winmanager.vim
给vim增加IDE的功能,提供目录浏览和buffer浏览功能,因为显示器太小,感觉太占空间,所以单独使用bufexplorer,而且现在vim7的netrw功能也够强大,所以感觉比较鸡肋,而且貌似很久没有更新,所以基本不用
word_complete.vim
单词完成,没用它
yankring.vim
类似emacs的king ring,给vim的yank也增加缓冲,vim本身只缓冲删除的字符串,不缓冲yank的内容====/qq/blog/item/b0c7eb096d7cea89d0581b29.html----------------------------------------------------------------------------------------------又是很久没更新blog了,一直挺忙的,我的小九也快在今年的3月底出生了,呵呵。
今天居然没什么活,来整理了下我的GVIM目录,也记录下:
:一款VIM的可见书签。进行了修改 修改后的文件在这儿
" plugin - bookmarking.vim 设置标记(标签)"
向下跳转标记
向上跳转标记: 这个插件可以帮助你轻松的在缓冲间调转。
" plugin - bufexplorer.vim Buffers切换" \be 全屏方式查看全部打开的文件列表" \bv 左右方式查看
\bs 上下方式查看:文件管理器,可以当资源管理器用。
" plugin - vimExplorer 文件管理器" :VE 打开文件管理器
tab: 在树、列表窗口切换
" Enter: 树窗口开关目录
u: 列表中在预览窗口打开文件" ;r 打开renamer插件:强大的批量重命名工具
" plugin - renamer 文件重命名" :Renamer 将当前文件所在文件夹下的内容显示在一个新窗口" :Ren 开始重命名:使%不仅能够匹配简单的(),还能匹配之类标签的功能
" plugin - matchit.vim
对%命令进行扩展使得能在嵌套标签和语句之间跳转" % 正向匹配
g% 反向匹配" [% 定位块首
]% 定位块尾:给不同的单词高亮,表明不同的变量时很有用。
,hl MarkSetvmap
,hl MarkSetnmap
,hh MarkClearvmap
,hh MarkClearnmap
,hr MarkRegexvmap
,hr MarkRegex
这样,当我输入 ,hl 时,就会把光标下的单词高亮,在此单词上按 ,hh 会清除该单词的高亮。如果在高亮单词外输入 ,hh ,会清除所有的高亮。
你也可以使用virsual模式选中一段文本,然后按 ,hl ,会高亮你所选中的文本;或者你可以用 ,hr 来输入一个正则表达式,这会高亮所有符合这个正则表达式的文本。
你可以在高亮文本上使用 ,# 或 ,* 来上下搜索高亮文本。在使用了 ,# 或 ,* 后,就可以直接输入 # 或 * 来继续查找该高亮文本,直到你又用 # 或 * 查找了其它文本。
当前MarkWord的下一个
当前MarkWord的上一个" /
所有MarkWords的下一个
所有MarkWords的上一个:窗口移动插件(用得不多,挺好玩的,尤其是全屏后)
let g:wm_move_left
= ""let g:wm_move_right = ""let g:wm_move_up
= ""let g:wm_move_down
= "":很酷的插件,HTML代码生成,以前专门写过一篇日志写这,相当不错。这里有个它的操作“视屏”,对着帮助文档再配合着··很方便浏览很容易上手。: 自动创建目录插件,功能简单但很实用,能解决下面的情况下报错的问题
:w /home/asins/vim_plugin.txt will fail with with E212 ("Can't open file for writing.") :记录最近打开的文件,相当好的插件。
let MRU_File = $VIMFILES.'/_vim_mru_files'let MRU_Max_Entries = 1000let MRU_Add_Menu = 0nmap f :MRU
这里用的$VIMFILES变量是我自己定义的,
if has('unix')
let $VIMFILES = $HOME.'/.vim'else
let $VIMFILES = $VIM.'/vimfiles'endif:快速替换、清除包围符号、标签。详细的介绍帮助文档,给出些例子:
New text ~"
"Hello *world!"
Hello world!"
[123+4*56]/2
(123+456)/2"
"Look ma, I'm *HTML!"
Look ma, I'm HTML!"
if ( x>3 ) {"
my $str = *whee!;
my $str = 'whee!';"
"Hello *world!"
Hello world!"
(123+4*56)/2
123+456/2"
Hello w*orld!
Hello (world)!:注释代码用的
" ca 在可选的注释方式之间切换,比如C/C++ 的块注释/* */和行注释//" cc 注释当前行" cs 以”性感”的方式注释" cA 在当前行尾添加注释符,并进入Insert模式" cu 取消注释" cm 添加块注释:优化js代码,并不是简单的缩进,而是整个优化
" 开始优化整个文件nmap
js :call g:Jsbeautify():寄存器可视操作
map y :YRShow"map yc :YRClear
:JS语法着色组件及代码缩进组件:AS语法着色组件
:CSS颜色预览
注意这插件得放在.vim/after/syntax目录====/blog/Tool/39/
阅读(436) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。}

我要回帖

更多关于 vim markdown 插件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信