- 浏览: 176591 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
hyt5926:
谢谢啊,终于到找解决方法了。
Dropbox同步制定文件夹外的目录文件 -
alan066:
你好,请教您一个问题,最近在学习SSH,是在MyEclipse ...
SSH的JAR包全介绍(转) -
zhile005:
不错的。。。
(转)流行Scrum工具介绍 -
liuxuejin:
请教一下:Yong区的大小模式是多少?
JVM及其内存分配的设置 -
Magician8421:
最近刚开始学哨笛 很精致的管乐器,可惜学的人好少,偶然搜了搜就 ...
爱尔兰哨笛
转自:http://www.cnblogs.com/ifys/archive/2010/10/24/1860610.html
先上个图:
需要用到的插件:
taglist需要ctags支持
ctags.exe:http://ctags.sourceforge.net/
taglist显示tag列表
taglist:http://www.vim.org/scripts/script.php?script_id=273
显示buf列表:
bufexplorer:http://www.vim.org/scripts/script.php?script_id=42
Nerd_Tree文件浏览
Nerd_tree:http://www.vim.org/scripts/script.php?script_id=1658
界面管理插件:
winmanager:http://www.vim.org/scripts/script.php?script_id=95
一、ctags:
下载解压后是源码,感觉就那个exe文件有点用。直接放到一个目录里,D:\ctags58。
设置一下环境变量。path=D:\ctags58。这样可以直接运行目录下面的ctags.exe文件。或者直接把ctags.exe放入windows的目录里。
vimrc中的设置:
1
2
|
"生成一个tags文件
nmap <F9> <Esc>:!ctags -R *<CR>
|
二、taglist设置:
下载解压到相应的vim文件夹中。
vimrc中设置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
"设置Taglist
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
" 这项必须设定,否则出错,配置taglist的ctags路径
let Tlist_Ctags_Cmd =
'D:\ctags58\ctags.exe'
" 不同时显示多个文件的 tag ,只显示当前文件的
let Tlist_Show_One_File=1
" 如果 taglist 窗口是最后一个窗口,则退出 vim
let Tlist_Exit_OnlyWindow=1
"让当前不被编辑的文件的方法列表自动折叠起来
let Tlist_File_Fold_Auto_Close=1
"把taglist窗口放在屏幕的右侧,缺省在左侧
let Tlist_Use_Right_Window=1
"显示taglist菜单
let Tlist_Show_Menu=1
"启动vim自动打开taglist
"let Tlist_Auto_Open=1
|
启动自动打开这个选项暂时不设置。后面要让winmanager调用taglist。
三、bufexplorer:
下载解压,没啥说的。
四、winmanager:
下载解压,vimrc中的设置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
"
""
winManager setting
""
""
""
""
""
""
""
""
""
""
""
""
""
""
""
"
"设置界面分割
"let g:winManagerWindowLayout = "
BufExplorer,FileExplorer|TagList"
let g:winManagerWindowLayout =
"TagList|FileExplorer,BufExplorer"
"设置winmanager的宽度,默认为25
let g:winManagerWidth = 30
"定义打开关闭winmanager按键
nmap <silent> <F8> :WMToggle<cr>
|
以上3个插件安装设置完毕后,基本的界面功能就可以实现了。按F8可以打开/关闭界面。同时显示taglist和fileexplorer。在fileexplorer窗口中按<c-n>可以切换到bufexplorer窗口。
上述设置好后,有3个问题:
1 我想让插件显示在右侧,但是winmanager里面没有此选项
2 进入vim时候不能自动打开winmanager,winmanager不像taglist支持该功能
3 退出时不会像只有taglist时候那样,退出当前文件就会退出vim了
经过多次修改代码终于实在了上述3个功能。
五、将插件显示在右侧
打开winmanager.vim,在function! <SID>StartWindowsManager()函数中修改:
将:wincmd H 修改为wincmd L:
1
2
3
4
5
6
7
8
9
|
"
for
now assume that the explorer windows always stay on the left.
" TODO: make this optional later
" make the explorers window always stay on the right ---by chenyong
" wincmd H
wincmd L
|
六、进入vim自动打开winmanager
这个功能作为可选功能,我们可以在vimrc中设置:
1
2
3
|
"在进入vim时自动打开winmanager
let g:AutoOpenWinManager = 1
|
就可以让winmanager自动打开。
在winmanager.vim中修改:
1
2
3
4
5
6
7
|
"set auto
open
Winmanager
if
g:AutoOpenWinManager
autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w
endif
|
七、退出缓冲区时,自动退出vim
这个功能是参考了taglist的自动退出功能,在taglist.vim中修改的。
函数:function! s:Tlist_Window_Exit_Only_Window()中的winbunr(2)改为winbunr(3),即只剩2个窗口时关闭,考虑到2个窗口肯定是同时存在,所以这样还是可行的:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
function! s:Tlist_Window_Exit_Only_Window()
" Before quitting Vim,
delete
the taglist buffer so that
" the '0 mark is correctly set to the previous buffer.
if
v:version < 700
if
winbufnr(3) == -1
bdelete
quit
endif
else
if
winbufnr(3) == -1
if
tabpagenr(
'$'
) == 1
" Only one tag page is present
bdelete
quit
else
" More than one tab page is present.
Close
only the current
" tab page
close
endif
endif
endif
endfunction
|
同时在vimrc中需要设置:
1
|
let Tlist_Exit_OnlyWindow=1
|
winmanager自带的fileexplorer这个插件实在是比较差。最重要的一点 是fileexplorer不能自动更新,如果通过其他的途径修改了文件夹中的内容,fileexplorer是不会显示的。相对而言Nerd_Tree 功能就比较强大了。下面要把Nerd_Tree加入winmanager。
四、Nerd_tree:
下载解压,打开NERD_tree.vim,按照winmanager的说明,在最后加入下面代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
"Used by winmanager {{{1
let g:NERDTree_title =
"[NERDTree]"
function! NERDTree_Start()
exe
'NERDTree'
endfunction
function! NERDTree_IsValid()
return
1
endfunction
|
同时把在vimrc中:
1
|
let g:winManagerWindowLayout=
'NERDTree|TagList,BufExplorer'
|
原来的设置注释掉。加好后,发现每次打开winmanager都会出现一个空白的buffer。试验了好多次,但是Nerd_tree调用的函数就 是会打开一个新窗口。因为如此,将bufExplorer和NERD_Tree放在一起会显示不正常。NERD_Tree放在下面的窗口也会出错,实在比 较郁闷。。。。看了下NERD_Tree的代码,没看懂,只好再次改winmanager的代码了。
打开winmanager.vim,找到函数function! <SID>ToggleWindowsManager(),加入两行,修改后整个函数如下:
1
2
3
4
5
6
7
8
9
10
11
|
" toggle showing the explorer plugins.
function! <SID>ToggleWindowsManager()
if
IsWinManagerVisible()
call s:CloseWindowsManager()
else
call s:StartWindowsManager()
" NERD_tree need this. 打开时会有一个空白窗口,要把他关闭。
exe
'1wincmd w'
exe
'q'
end
endfunction
|
加个注释,以免以后忘掉了,如果不想用nerd_Tree了,这2句话还得删掉。
另外打开时的命令和关闭时的命令也得同时修改了,试验了很多次:
taglist.vim中,找到下面的代码:
1
2
3
4
5
|
" Exit Vim itself
if
only the taglist window is present (optional)
"
if
g:Tlist_Exit_OnlyWindow
" autocmd BufEnter __Tag_List__ nested
" \ call s:Tlist_Window_Exit_Only_Window()
" endif
|
将这段代码修改为:
1
2
3
4
5
6
7
8
9
10
11
|
" Exit Vim itself
if
only the taglist window is present (optional)
let s:NERDTreeBufName =
'NERD_tree_'
if
g:Tlist_Exit_OnlyWindow
augroup Exit_onlywindow
"当进入Nerd_Tree的buffer时也检测是否需要退出
exec
"autocmd BufEnter "
. s:NERDTreeBufName .
\
"* call s:Tlist_Window_Exit_Only_Window()"
autocmd BufEnter __Tag_List__ nested
\ call s:Tlist_Window_Exit_Only_Window()
augroup end
endif
|
winmanager中:刚才添加的自动执行命令要改为:
1
2
3
4
5
|
"set auto
open
Winmanager
if
g:AutoOpenWinManager
" autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w
autocmd VimEnter * nested call s:StartWindowsManager()|1wincmd w|q
endif
|
这样所有的功能就实现了。在taglist窗口使用ctrl+n可以转换到bufexplorer窗口。
发表评论
-
(转)深入理解闭包
2012-01-04 17:20 919这边文章主要是Javascri ... -
Javascript框架介绍
2012-01-04 10:35 956JavaScript的快速开发框架非常多,比较火的有:Jque ... -
CSS链接与内嵌模式问题
2011-12-13 00:51 8<html> <head> ... -
如何使用浏览器解析js代码
2011-12-05 21:56 1250第一种方法:可以通过简单生成新浏览器窗口,写入待显示代码来完成 ... -
(转)ruby初学笔记1——看懂代码必备语法
2011-12-03 23:52 1133这篇文章是三个多月前写的,从原blog备份过来: 最近 ... -
rails总结
2011-12-01 00:56 12861 大家一起来写歌,歌曲创作共享.哼歌返回五线谱 2 ind ... -
(转)android开发中实现个性化ListView的一些概念和思路
2011-08-15 00:02 1615android开发中实现个性化 ... -
XML相关语言介绍
2010-04-30 17:23 717DTD tutorial 不允许规定元素和属性的数据类型。不 ... -
JVM及其内存分配的设置
2009-05-18 10:32 1394安装Java开发软件时,默认安装包含两个文 ... -
Visual Studio相关电子资料、软件汇总
2009-01-15 01:52 1451Visual Studio相关电子资料、软件汇总: VS代码辅 ... -
python dictionary用法
2008-12-29 23:57 4232Operation Result Notes ... -
ruby和rails,python和zope
2008-12-04 12:58 1686ruby是一门编程语言, 就跟C一样,而rails是个框架. ... -
2008年最值得学习的五种JAVA技术
2008-11-17 16:56 811OSGi(基于Java的动态模型规范) OSGi(Ope ... -
D语言介绍
2008-11-16 00:23 952官方网站:http://www.digitalmars.com ... -
一位大牛整理的Python资源
2008-11-14 01:17 5206Python基本安装: * http:// ... -
ajax技术及实例(转)
2008-11-14 00:49 10011.Ajax RSS reader 一个简单的RSS rea ... -
常用开发工具(转)
2008-11-13 23:49 866工欲善其事,必先利其器. 人的精力是有限的,一定要专注于一些 ...
相关推荐
资源提供了vim下常用插件,ctags可以实现代码的跳转,taglist方便查看程序结构,winmanager方便多窗口查看多个源文件,neocomplcache则提供自动补全功能。安装后可以感受到vim的便捷!
这些插件的结合使用,可以将 Vim 打造成一个功能齐全的 IDE,满足从基本文本编辑到高级代码调试和项目管理的各种需求。对于任何 Vim 用户来说,理解和掌握这些插件的功能和用法,都能显著提升他们的编程效率。
找一个值得倾注一生的文本编辑器:Vim is chosen. Vim的高度可配是众多编程大神的利器 但是配置vim的众多插件资源分散 vim.org,反正我是上不去 github一般家庭网络不是很稳定 花了好多时间,攒下的vim插件大集合。 ...
作为自己极为方便和顺手的编译器,在最近两年的使用中,我不断的更新和加强vim的功能,特此备份。。。 ============================== 开启最大化 (win32用户直接就可以最大化,但是linux用户则需要安装wmctrl,...
【vim-gvim-plugin】是一个针对Vim编辑器的插件集合,主要包含了四个核心组件:taglist_45、winmanagervisualmark、a.vim和grep.vim。这些插件旨在提升Vim的代码浏览、窗口管理、标记和搜索功能,使程序员在编辑代码...
`taglist`是Vim的一个插件,它提供了一个侧边栏,显示当前文件的函数和变量列表。开发者可以通过这个列表直观地查看代码结构,快速定位到所需的函数或标识符,增强了代码的可读性和编辑体验。 `NERD_Tree`是另一个...
自己的配置文件,为python和perl打造。 开启最大化 (win32用户直接就可以最大化,但是linux用户则需要安装wmctrl,详情参见:http://download.csdn.net/detail/jiaoxiaogu/4317843) 配置了MiniBuffer 添加了...
winmanager.vim - 提供侧边栏功能-F9打开,修改版显示到右侧 taglist.vim - 提供函数以及变量列表,整合到侧边栏 winfileexplorer.vim - 修改版:不显示隐藏目录-只显示.c.h文件整合到侧边栏 bufexplorer.vim - ...
Vim编辑器是一款深受程序员喜爱的文本编辑工具,尤其在Linux和Unix系统中广泛使用,但也同样适用于Windows平台。它的全称是“Vi IMproved”,是最初Vi编辑器的一个高度可扩展和增强版本。Vim 7.3是这个系列的一个...
plugin description a.vim c文件和h文件快速切换 airline.vim 增强vim底部状态栏显示 autoload_cscope.vim 自动加载cscope bufexplorer.vim ...LeaderF 和 ctrlp 互斥使用,低版本vim使用ctrlp,高版本(v
本文将重点探讨“Linux Vim插件”,特别是“taglist”、“winmanager”和“lookupfile”这三个插件,以及它们如何改善Vim的使用。 首先,`taglist`是一款非常流行的Vim插件,主要用于代码浏览。它能够生成并显示...
主要就是c-tag和winmanager等,附件的东西放到home的.vim/目录下,同时vimrc中加入如下,按wm即可打开IDE界面: " Setup plugin 'winmanager' "-----------------------------------------------------------------...
TagList是Vim的一个标签栏插件,它能够显示当前工程中的所有函数、类和变量等标签,形成一个清晰的代码大纲。通过这个标签列表,你可以迅速跳转到感兴趣的代码段,或者了解整个项目的结构。TagList支持多种编程语言...
这是我自己的vim配置文件,包括winmanager、ctags、taglist、nerdtree等插件,功能非常强大,欢迎使用,详细使用介绍http://blog.csdn.net/nersie/article/details/24740155
gvim vim 用vim-plug安装配置taglist ctrlp nerdtree winmanager nerdcommenter neocomplete 等常用程序, 参考博客 https://blog.csdn.net/howard789/article/details/113306624
将vim修改为ide常用插件:a.vim , grep.vim, visual mark.vim, supertab.vim, taglist.vim, winmanager.vim, minibufexpl.vim
标题《把vim打造成IDE》直接指出了本文档的主要内容和目的,即如何将VIM这款原本作为编辑器使用的软件,改造成一个类似集成开发环境(IDE)的工具。在描述中,作者指出了Linux下编程环境的一个痛点,即缺少一款像...
例如,对于cscope和ctags,通常需要编译源代码,而对于taglist和winmanager这样的Vim插件,则需将其复制到Vim的plugin目录下。 2. **配置Vim**: 在.vimrc配置文件中添加必要的设置和映射,以启用这些工具的功能。...