vim开发环境配置

配置好的开发环境如下入所示,图中左侧为文件目录;中间为正文界面,可以拆分成几个窗口;右侧为tlist目录,可以查看当前文件中的宏、变量和函数。

vim开发环境配置( NERDTree  Taglist ) - wonder -  Wonder......
安装说明:
1、NERD tree的安装说明见:
启动vim后输入:NERDTree<Enter>, 我们还可以绑定一个快捷键,执行 vim ~/.vimrc,
添加一行:nmap <F3> :NERDTree  <CR>,这样每次按F3就可以启动NERDTree了,还是挺方便的。
o 打开关闭文件或者目录
t 在标签页中打开
T 在后台标签页中打开
! 执行此文件
p 到上层目录
P 到根目录
K 到第一个节点
J 到最后一个节点
u 打开上层目录
m 显示文件系统菜单(添加、删除、移动操作)
? 帮助
q 关闭
2、Taglist

2)将文档解压缩至~/.vim目录。

启动:输入:Tlist<Enter>, 当然我们也要绑定一个快捷键,在.vimrc中加入以下几行:

nmap <F4> :Tlist<CR>

““”””””””””””””””””””””””””””””

” Tag list (ctags)

” “”””””””””””””””””””””””””””””

let Tlist_Show_One_File = 1

” “不同时显示多个文件的tag,只显示当前文件的

let Tlist_Exit_OnlyWindow = 1

” “如果taglist窗口是最后一个窗口,则退出vim

let Tlist_Use_Right_Window = 1

OK, 以后按F4就可以启动Taglist了,也很方便的。

注:

1)vim中使用鼠标

在.vimrc文件末尾添加一行 set mouse=a

2) 代码缩进

在.vimrc文件末尾添加一行,输入  set autoindent

在添加一行,输入 set cindent

其中 autoindent 是自动缩进; cindent是特别针对 C语言语法自动缩进

3)其它命令可以利用 help vim ; help NERDTree ; help Tlist等等。

VIM添加一些plugin,功能非常之强大,熟悉一些常用命令,会使我们的开发更加方便;

在windows中用了source insight, 在linux中使用vim,刚开始很不希望,不过越来越感觉到它的强大的功能。专门为程序员提供的一款编辑器。再加GDB强大的调试功能,使我这么快喜欢上了linux中的开发。

vim目录树插件NERD tree 可以可以列出文件目录结构,方便文件打开操作。

安装方法如下:

1.下载插件文件

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

2. 将文档解压缩至~/.vim目录

VIM的配置文件放在.vimrc(个人的), /etc/vimrc(系统全局的) , 如果根目录中没有.vimrc文件,可以cp /etc/vimrc ~/.vimrc ,在此文件可以       添加个人配置命令。

3. 在vim中 :NERDTree ,就可以列出当前文件的树状结构。

Vim 中文件目录浏览插件——NERD tree - wonder -  Wonder......

转载一篇NERD_帮助手册翻译的文章

1 目录
2 ================================================================================
3 1.简介
4 2.功能
5 2.1.全局命令
6 2.2.书签
7 2.2.1.书签表
8 2.2.2.书签命令
9 2.2.3.无效书签
10 2.3.Nerdtree映射
11 2.4.文件系统菜单
12 3.选项
13 3.1.选项总结
14 3.2.选项明细
15
16
17 1.简介
18 ——————————————————————————–
19 Nerd tree可以让你浏览文件系统并打开文件或目录。
20 你可以通过键盘或鼠标控制它以树状图显示文件系统,也可以在其中进行一些简单的文件系统操作。
21
22 nerdtree提供如下功能及特性:
23 *以继承树的形式显示文件和目录
24 *对如下类型的文件进行不同的高亮显示
25 *文件
26 *目录
27 *sym-links
28 *快捷方式
29 *只读文件
30 *可执行文件
31 *提供许多映射来控制树状结构
32 *对展开/收拢/浏览目录结点的映射
33 *对在新的或已存在的窗口或Tab页中打开文件的映射
34 *对改变根结点的映射
35 *Mappings to navigate around the tree
36 *可以将文件和目录添加到收藏夹
37 *可以用鼠标进行大部分的树状结构导航
38 *对树状结构内容的过滤(可在运行时切换)
39 *自定义文件过滤器可以阻止某些文件(比如vim备份文件等)的显示
40 *可选是否显示隐藏文件
41 *可选不显示文件只显示目录
42 *提供文本文件系统菜单来创建/删除/移动/复制目录或文件
43 *可以自定义Nerd窗口的位置和大小
44 *可以自定义结点排序方式
45 *当你浏览文件系统的时候就会有一个文件系统的模型被创建或维护。这样做有几个优点:
46 *所有文件系统信息都被缓存了,有需要的时候只要重新读入缓存
47 *如果重新浏览之后访问过的tree的一部分,结点就会以上次保持的展开或合拢的样子显示
48 *该脚本能记住光标位置和窗口位置,所以可以用NERDTreeToggle来切换tree的显示与隐藏
49 *对于多Tab,可以共享一个Tree,也可以各自拥有各自的tree,还可以混合以上两种方式
50 *默认情况下,该脚本覆盖vim的默认文件浏览器(netrw),所以如果直接输入:edit命令也会用nerd树打开
51
52
53
54 2.功能
55 ——————————————————————————–
56 2.1.全局命令
57 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
58 :NERDTree [<start-directory> | <bookmark>]
59 打开一个Nerdtree,根结点由参数指定,不指定参数就是以当前目录为根结点
60 :NERDTreeFromBookmark <bookmark>
61 打开一个Nerdtree,根结点由参数所指定的书签
62 :NERDTreeToggle [<start-directory> | <bookmark>]
63 在当前Tab中如果Nerdtree已经存在,就切换显示与隐藏;
64 如果不存在,就相当于执行:NERDTree命令
65 :NERDTreeMirror
66 从另一个Tab中共享一个NerdTree过来(在当前Tab的Tree所作的改变也反应到原Tab中)
67 如果总共只有一个Tree,就直接共享;如果不止一个,就会询问共享哪个
68 :NERDTreeClose
69 在当前Tab中关闭Tree
70
71 2.2.书签
72 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
73 在NerdTree中,书签用于标记某个感兴趣的文件或目录,比如可以用书签标记所有Project目录
74
75 2.2.1.书签表
76 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77 如果书签被激活,则显示于树状图的上方
78 可以双击或用NERDTree-o来激活选中文件
79 可以用NERDTree-t映射使选中文件用新Tab打开,并跳到新tab页
80 可以用NERDTree-T映射使选中文件用新Tab打开,但不跳到新Tab页
81
82 2.2.2.书签命令
83 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84 以下命令只在在Nerdtree的buffer中有效
85 :Bookmark <name>
86 将选中结点添加到书签列表中,并命名为name(书签名不可包含空格);
87 如与现有书签重名,则覆盖现有书签。
88 :BookmarkToRoot <bookmark>
89 以指定目录书签或文件书签的父目录作为根结点显示NerdTree
90 :RevealBookmark <bookmark>
91 如果指定书签已经存在于当前目录树下,打开它的上层结点并选中该书签
92 :OpenBookmark <bookmark>
93 打开指定的文件。(参数必须是文件书签)
94 如果该文件在当前的目录树下,则打开它的上层结点并选中该书签
95 :ClearBookmarks [<bookmarks>]
96 清除指定书签;如未指定参数,则清除所有书签
97 :ClearAllBookmarks
98 清除所有书签
99 :ReadBookmarks
100 重新读入’NERDTreeBookmarksFile’中的所有书签
101
102 2.2.3.无效书签
103 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104 如果监测到无效书签,脚本就会发布一个错误消息并将无效书签置为不可用;
105 无效书签将被移到书签文件的最后,在有效书签和无效书签之间有一个空行。
106 书签文件中的每一行代表一个书签,格式是<bookmark name><space><full path to the bookmark location>
107 如果修正了某个无效书签,则可以重启vim或使用:ReadBookmarks命令重新读入书签信息
108
109 2.3.Nerdtree映射
110 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
111 o…….在已有窗口中打开文件、目录或书签,并跳到该窗口   …..|NERDTree-o|
112 go……在已有窗口中打开文件、目录或书签,但不跳到该窗口 …..|NERDTree-go|
113 t…….在新Tab中打开选中文件/书签,并跳到新Tab          …..|NERDTree-t|
114 T…….在新Tab中打开选中文件/书签,但不跳到新Tab        …..|NERDTree-T|
115 i…….split一个新窗口打开选中文件,并跳到该窗口        …..|NERDTree-i|
116 gi……split一个新窗口打开选中文件,但不跳到该窗口      …..|NERDTree-gi|
117 s…….vsp一个新窗口打开选中文件,并跳到该窗口          …..|NERDTree-s|
118 gs……vsp一个新窗口打开选中文件,但不跳到该窗口        …..|NERDTree-gs|
119 !…….执行当前文件                                     …..|NERDTree-!|
120 O…….递归打开选中结点下的所有目录                     …..|NERDTree-O|
121 x…….合拢选中结点的父目录                             …..|NERDTree-x|
122 X…….递归合拢选中结点下的所有目录                     …..|NERDTree-X|
123 e…….Edit the current dif                             …..|NERDTree-e|
124
125 双击……相当于NERDTree-o
126 中键……对文件相当于NERDTree-i,对目录相当于NERDTree-e
127
128 D…….删除当前书签
129
130 P…….跳到根结点
131 p…….跳到父结点
132 K…….跳到当前目录下同级的第一个结点
133 J…….跳到当前目录下同级的最后一个结点
134 <C-j>…跳到当前目录下同级的前一个结点
135 <C-k>…跳到当前目录下同级的后一个结点
136
137 C…….将选中目录或选中文件的父目录设为根结点
138 u…….将当前根结点的父目录设为根目录,并变成合拢原根结点
139 U…….将当前根结点的父目录设为根目录,但保持展开原根结点
140 r…….递归刷新选中目录
141 R…….递归刷新根结点
142 m…….显示文件系统菜单
143 cd……将CWD设为选中目录
144
145 I…….切换是否显示隐藏文件
146 f…….切换是否使用文件过滤器
147 F…….切换是否显示文件
148 B…….切换是否显示书签
149
150 q…….关闭NerdTree窗口
151 ?…….切换是否显示Quick Help
152
153
154
155 2.4.文件系统菜单
156 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157 帮助说中包含新建、复制、移动、删除四种命令,但copy只支持*nix系统
158
159 3.自定义选项
160 ——————————————————————————–
161 loaded_nerd_tree            不使用NerdTree脚本
162 NERDChristmasTree           让Tree把自己给装饰得多姿多彩漂亮点
163 NERDTreeAutoCenter          控制当光标移动超过一定距离时,是否自动将焦点调整到屏中心
164 NERDTreeAutoCenterThreshold 与NERDTreeAutoCenter配合使用
165 NERDTreeCaseSensitiveSort   排序时是否大小写敏感
166 NERDTreeChDirMode           确定是否改变Vim的CWD
167 NERDTreeHighlightCursorline 是否高亮显示光标所在行
168 NERDTreeHijackNetrw         是否使用:edit命令时打开第二NerdTree
169 NERDTreeIgnore              默认的“无视”文件
170 NERDTreeBookmarksFile       指定书签文件
171 NERDTreeMouseMode           指定鼠标模式(1.双击打开;2.单目录双文件;3.单击打开)
172 NERDTreeQuitOnOpen          打开文件后是否关闭NerdTree窗口
173 NERDTreeShowBookmarks       是否默认显示书签列表
174 NERDTreeShowFiles           是否默认显示文件
175 NERDTreeShowHidden          是否默认显示隐藏文件
176 NERDTreeShowLineNumbers     是否默认显示行号
177 NERDTreeSortOrder           排序规则
178 NERDTreeStatusline          窗口状态栏
179 NERDTreeWinPos              窗口位置(’left’ or ‘right’)
180 NERDTreeWinSize             窗口宽

我的配置:
1 “NERD Tree
2 let NERDChristmasTree=1
3 let NERDTreeAutoCenter=1
4 let NERDTreeBookmarksFile=$VIM.‘\Data\NerdBookmarks.txt’
5 let NERDTreeMouseMode=2
6 let NERDTreeShowBookmarks=1
7 let NERDTreeShowFiles=1
8 let NERDTreeShowHidden=1
9 let NERDTreeShowLineNumbers=1
10 let NERDTreeWinPos=‘left’
11 let NERDTreeWinSize=31
12 nnoremap <silent> <leader>f :NERDTreeToggle<CR>

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据