牛牛逼逼叉叉
菜单

如何优雅地使用 VIM 文件管理插件 NERDTree

2016年06月12日,分类《Linux》,作者:
博客捐助

相信所有使用 vim 的同学都知道文件管理插件 NERDTree,这个几乎是所有拥护 vim 的开发人员都会使用的插件,可是我在刚开始使用的时候,完全用错了这个插件,使用起来反而是负担了。今天就总结一下如何优雅的使用 NERDTree。

安装和基本用法

安装插件建议使用 Vundle 进行安装, Vundle 的用法很简单,可以到 GitHub 上面查看。

在 NERDTree 操作区的一些基本操作:

  • ?: 快速帮助文档
  • o: 打开一个目录或者打开文件,创建的是 buffer,也可以用来打开书签
  • go: 打开一个文件,但是光标仍然留在 NERDTree,创建的是 buffer
  • t: 打开一个文件,创建的是Tab,对书签同样生效
  • T: 打开一个文件,但是光标仍然留在 NERDTree,创建的是 Tab,对书签同样生效
  • i: 水平分割创建文件的窗口,创建的是 buffer
  • gi: 水平分割创建文件的窗口,但是光标仍然留在 NERDTree
  • s: 垂直分割创建文件的窗口,创建的是 buffer
  • gs: 和 gi,go 类似
  • x: 收起当前打开的目录
  • X: 收起所有打开的目录
  • e: 以文件管理的方式打开选中的目录
  • D: 删除书签
  • P: 大写,跳转到当前根路径
  • p: 小写,跳转到光标所在的上一级路径
  • K: 跳转到第一个子路径
  • J: 跳转到最后一个子路径
  • <C-j><C-k>: 在同级目录和文件间移动,忽略子目录和子文件
  • C: 将根路径设置为光标所在的目录
  • u: 设置上级目录为根路径
  • U: 设置上级目录为跟路径,但是维持原来目录打开的状态
  • r: 刷新光标所在的目录
  • R: 刷新当前根路径
  • I: 显示或者不显示隐藏文件
  • f: 打开和关闭文件过滤器
  • q: 关闭 NERDTree
  • A: 全屏显示 NERDTree,或者关闭全屏

以上是一些基本的用法,平时常用的就几个。

155032wz92kxxm51zamkbd

NERDTree

增加一些配置

在使用 NERDTree 的过程中有一些不太方便的地方就是打开的各个文件不共享 NERDTree,所以就需要配合安装一个共享插件 vim-nerdtree-tabs, 这就让你感觉只是打开了一个 NERDTree

  1. " 关闭NERDTree快捷键
  2. map <leader>t :NERDTreeToggle<CR>
  3. " 显示行号
  4. let NERDTreeShowLineNumbers=1
  5. let NERDTreeAutoCenter=1
  6. " 是否显示隐藏文件
  7. let NERDTreeShowHidden=1
  8. " 设置宽度
  9. let NERDTreeWinSize=31
  10. " 在终端启动vim时,共享NERDTree
  11. let g:nerdtree_tabs_open_on_console_startup=1
  12. " 忽略一下文件的显示
  13. let NERDTreeIgnore=['\.pyc','\~$','\.swp']
  14. " 显示书签列表
  15. let NERDTreeShowBookmarks=1

在 NERDTree 中显示 git 信息

开发的过程中,我们希望 git 信息直接在 NERDTree 中显示出来, 和 Eclipse 一样,修改的文件和增加的文件都给出相应的标注, 这时需要安装的插件就是 nerdtree-git-plugin

配置信息如下

  1. let g:NERDTreeIndicatorMapCustom = {
  2. \ "Modified" : "✹",
  3. \ "Staged" : "✚",
  4. \ "Untracked" : "✭",
  5. \ "Renamed" : "➜",
  6. \ "Unmerged" : "═",
  7. \ "Deleted" : "✖",
  8. \ "Dirty" : "✗",
  9. \ "Clean" : "✔︎",
  10. \ "Unknown" : "?"
  11. \ }

下面的动画展示了这个插件配合后的效果:

154233c8i9ay0oz959nt5p

nerdtree-git-plugin

NERDTree 配合使用这两个插件文件管理就很棒了,当然如果再加上 ctrlp,那就无敌了。



发表评论

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

【上一篇】

手工提取迅雷磁链接的真实文件链接

【下一篇】

linux python版webshell智能查杀程序-SeayFindShell