如何优雅地使用 VIM 文件管理插件 NERDTree
2016-06-03 15:47
1271 查看
相信所有使用 vim 的同学都知道文件管理插件 NERDTree,这个几乎是所有拥护 vim 的开发人员都会使用的插件,可是我在刚开始使用的时候,完全用错了这个插件,使用起来反而是负担了。今天就总结一下如何优雅的使用 NERDTree。
在 NERDTree 操作区的一些基本操作:
以上是一些基本的用法,平时常用的就几个。
配置信息如下
下面的动画展示了这个插件配合后的效果:
NERDTree 配合使用这两个插件文件管理就很棒了,当然如果再加上 ctrlp,那就无敌了。
安装和基本用法
安装插件建议使用 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,或者关闭全屏
以上是一些基本的用法,平时常用的就几个。
增加一些配置
在使用 NERDTree 的过程中有一些不太方便的地方就是打开的各个文件不共享 NERDTree,所以就需要配合安装一个共享插件 vim-nerdtree-tabs, 这就让你感觉只是打开了一个 NERDTree" 关闭NERDTree快捷键 map <leader>t :NERDTreeToggle<CR> " 显示行号 let NERDTreeShowLineNumbers=1 let NERDTreeAutoCenter=1 " 是否显示隐藏文件 let NERDTreeShowHidden=1 " 设置宽度 let NERDTreeWinSize=31 " 在终端启动vim时,共享NERDTree let g:nerdtree_tabs_open_on_console_startup=1 " 忽略一下文件的显示 let NERDTreeIgnore=['\.pyc','\~$','\.swp'] " 显示书签列表 let NERDTreeShowBookmarks=1
在 NERDTree 中显示 git 信息
开发的过程中,我们希望 git 信息直接在 NERDTree 中显示出来, 和 Eclipse 一样,修改的文件和增加的文件都给出相应的标注, 这时需要安装的插件就是 nerdtree-git-plugin配置信息如下
let g:NERDTreeIndicatorMapCustom = { \ "Modified" : "✹", \ "Staged" : "✚", \ "Untracked" : "✭", \ "Renamed" : "➜", \ "Unmerged" : "═", \ "Deleted" : "✖", \ "Dirty" : "✗", \ "Clean" : "✔︎", \ "Unknown" : "?" \ }
下面的动画展示了这个插件配合后的效果:
NERDTree 配合使用这两个插件文件管理就很棒了,当然如果再加上 ctrlp,那就无敌了。
相关文章推荐
- 新手教程之:循环网络和LSTM指南 (A Beginner’s Guide to Recurrent Networks and LSTMs)
- atom 编辑器安装
- postgres_fdw 模块原理与应用
- 线程(序)
- Android sdk 全下载
- 30学习写论坛-9
- db2 数据库备份详解
- Eclipse安装SVN插件
- Hibernate Session API
- android 账户管理实现
- Entity Framework Code First (六)存储过程
- 如何保证ArrayList线程安全
- MVC使用Exception过滤器自定义处理Action的的异常
- eclipse对项目整理分类
- Go学习记录
- java中list、set和map 的区别
- CISCO交换机上实现MAC和端口、IP和端口、IP和MAC的绑定
- 视频也能参与排名,原来这么优化就行了
- 排序算法值三 —— 希尔排序
- zend framework入门教程