一个项目文件多起来时,左边的文件树菜单是必要的。

参考:常用文件树快捷键
所有命令及推荐键盘映射:官方

在vundle插件管理的方式,直接在~/.vimrc中的Plugin段落中加入`Plugin "scrooloose/nerdtree
"然后重启Vim并输入PluginInstall`,即可完成安装

然后输入: NERDTreeToggle即可打开文件树。当然,默认是关闭的,需要每次都输入命令打开。
还可以设置vim快捷键来映射,在vimrc中加入:

map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>

切换工作台和目录

ctrl + w + h    光标 focus 左侧树形目录
ctrl + w + l    光标 focus 右侧文件显示窗口
ctrl + w + w    光标自动在左右侧窗口切换
ctrl + w + r    移动当前窗口的布局位置o       在已有窗口中打开文件、目录或书签,并跳到该窗口
go      在已有窗口 中打开文件、目录或书签,但不跳到该窗口
t       在新 Tab 中打开选中文件/书签,并跳到新 Tab
T       在新 Tab 中打开选中文件/书签,但不跳到新 Tab
i       split 一个新窗口打开选中文件,并跳到该窗口
gi      split 一个新窗口打开选中文件,但不跳到该窗口
s       vsplit 一个新窗口打开选中文件,并跳到该窗口
gs      vsplit 一个新 窗口打开选中文件,但不跳到该窗口
!       执行当前文件
O       递归打开选中 结点下的所有目录
m    文件操作:复制、删除、移动等

切换标签页

:tabnew [++opt选项] [+cmd] 文件      建立对指定文件新的tab
:tabc   关闭当前的 tab
:tabo   关闭所有其他的 tab
:tabs   查看所有打开的 tab
:tabp   前一个 tab
:tabn   后一个 tab标准模式下:
gT      前一个 tab
gt      后一个 tab

刚开始使用时候的小问题

目前问题是,不能保存所有打开文件的状态。在同一个tab中打开另一个文件时,之前文件的编辑历史都会丢失,也就是没法u撤销编辑。即使有相关的方法控制这些,只是作为一个文件菜单来说,这也太麻烦了。
解决方案:
文件都在新tab打开,这样就可以保持各自状态了。

常用键盘映射

NerdTree 在 .vimrc 中的常用配置

autocmd vimenter * NERDTree  "自动开启Nerdtree
"let g:NERDTreeWinSize = 25 "设定 NERDTree 视窗大小
"开启/关闭nerdtree快捷键
map <C-f> :NERDTreeToggle<CR>
"let NERDTreeShowBookmarks=1  " 开启Nerdtree时自动显示Bookmarks
"打开vim时如果没有文件自动打开NERDTree
autocmd vimenter * if !argc()|NERDTree|endif
"当NERDTree为剩下的唯一窗口时自动关闭
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
"设置树的显示图标
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
let NERDTreeIgnore = ['\.pyc$']  " 过滤所有.pyc文件不显示
"let g:NERDTreeShowLineNumbers=1  " 是否显示行号
let g:NERDTreeHidden=0     "不显示隐藏文件
"Making it prettier
let NERDTreeMinimalUI = 1
let NERDTreeDirArrows = 1

Nerdtree隐藏某些指定文件

Vim经常产生swp缓存文件,还有一些python产生的pyc文件,Nerdtree显示出来很不好看,最好屏蔽掉。
在vimrc中配置这几句话可以达到效果:

" 不显示隐藏文件
let g:NERDTreeHidden=0
" 过滤: 所有指定文件和文件夹不显示
let NERDTreeIgnore = ['\.pyc$', '\.swp', '\.swo', '\.vscode', '__pycache__']  

恢复显示隐藏的文件的命令,在Nerdtree中按Ctrl-I,其中I是大写。

Nerdtree刷新

正常下Nerdtree是不会自动刷新的,文件删除了,多了都不会自动显示。
但是其实不用退出vim,
r就一下子刷新了。

NerdTree的美化

用多了Vim,就需要nerdtree树形菜单,用多了菜单,就像把它美化。

一般最常用的美化Nerdtree插件就是vim-devicons,详细配置方法在github官网有,主要如下:

  1. 安装 Nerd Font字体,网址在此。安装字体的方法每个电脑系统不一样。因为全部字体多到3G,所以最快到方法是到官网首页点击Download,下载Droid Sans Mono Nerd这个字体,8M左右,下载好了如果是Mac的话,就选择压缩包里的Droid Sans Mono Nerd Font Complete.otf,双击安装。
  2. 在Terminal.app或iTerm2的系统设置里,设置字体为Droid Sans Mono Nerd
  3. ~/.vimrc中插件管理处加入Plugin 'ryanoasis/vim-devicons',重启vim然后:PluginInstall进行下载安装。
  4. ~/.vimrc中配置默认编码set encoding=utf8和默认字体set guifont=DroidSansMono_Nerd_Font:h11

完成。
然后就会变成这个样子:

进一步美化: vim-nerdtree-syntax-highlight插件

vim-nerdtree-syntax-highlight插件是配合上面vim-devicons插件增强的。直接在vimrc中Plugin 'tiagofumo/vim-nerdtree-syntax-highlight',重启并:PluginInstall即可。效果如下:

注意:安装完vim-devicons后,vim速度已经有些许延迟了,再安装这个插件会感受到更明显的延迟。

最终配置

插件管理器处:

        "<NERDTREE>Plug 'scrooloose/nerdtree'          " File tree managerPlug 'jistr/vim-nerdtree-tabs'      " enhance nerdtree's tabsPlug 'ryanoasis/vim-devicons'       " add beautiful icons besides filesPlug 'Xuyuanp/nerdtree-git-plugin'  " display git status within NerdtreePlug 'tiagofumo/vim-nerdtree-syntax-highlight' " enhance devicons

配置:

" <Nerdtree>-------------------{">> Basic settingslet g:NERDTreeChDirMode = 2  "Change current folder as rootautocmd BufEnter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) |cd %:p:h |endif">> UI settingslet NERDTreeQuitOnOpen=1   " Close NERDtree when files was openedlet NERDTreeMinimalUI=1    " Start NERDTree in minimal UI mode (No help lines)let NERDTreeDirArrows=1    " Display arrows instead of ascii art in NERDTreelet NERDTreeChDirMode=2    " Change current working directory based on root directory in NERDTreelet g:NERDTreeHidden=1     " Don't show hidden fileslet NERDTreeWinSize=30     " Initial NERDTree widthlet NERDTreeAutoDeleteBuffer = 1  " Auto delete buffer deleted with NerdTree"let NERDTreeShowBookmarks=0   " Show NERDTree bookmarkslet NERDTreeIgnore = ['\.pyc$', '\.swp', '\.swo', '__pycache__']   " Hide temp files in NERDTree"let g:NERDTreeShowLineNumbers=1  " Show Line Number" Open Nerdtree when there's no file opened"autocmd vimenter * if !argc()|NERDTree|endif" Or, auto-open Nerdtree"autocmd vimenter * NERDTree" Close NERDTree when there's no other windowsautocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif" Customize icons on Nerdtreelet g:NERDTreeDirArrowExpandable = '▸'let g:NERDTreeDirArrowCollapsible = '▾'">> NERDTREE-GIT" Special characterslet g:NERDTreeIndicatorMapCustom = { \ "Modified"  : "✹",\ "Staged"    : "✚",\ "Untracked" : "✭",\ "Renamed"   : "➜",\ "Unmerged"  : "═",\ "Deleted"   : "✖",\ "Dirty"     : "✗",\ "Clean"     : "✔︎",\ 'Ignored'   : '☒',\ "Unknown"   : "?"\ }">> NERDTree-Tabs"let g:nerdtree_tabs_open_on_console_startup=1 "Auto-open Nerdtree-tabs on VIM enter">> Nerdtree-devicons"set guifont=DroidSansMono_Nerd_Font:h11">> Nerdtree-syntax-highlighting"let g:NERDTreeDisableFileExtensionHighlight = 1"let g:NERDTreeDisableExactMatchHighlight = 1"let g:NERDTreeDisablePatternMatchHighlight = 1"let g:NERDTreeFileExtensionHighlightFullName = 1"let g:NERDTreeExactMatchHighlightFullName = 1"let g:NERDTreePatternMatchHighlightFullName = 1"let g:NERDTreeHighlightFolders = 1 " enables folder icon highlighting using exact match"let g:NERDTreeHighlightFoldersFullName = 1 " highlights the folder name"let g:NERDTreeExtensionHighlightColor = {} " this line is needed to avoid error
" }

Vim的NerdTree插件相关推荐

  1. linux安装vi 插件,Ubuntu上Vim安装NERDTree插件的详细操作步骤

    NERDTree是Vim的文件系统浏览器,使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作.NERDTree源码在https://github ...

  2. Ubuntu上Vim安装NERDTree插件操作步骤

    NERDTree是Vim的文件系统浏览器,使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作.NERDTree源码在https://github ...

  3. vim 树形目录插件NERDTree安装及简单用法

    来源:http://blog.csdn.net/love__coder/article/details/6659103 1.安装NERDTree插件 先下载,官网:http://www.vim.org ...

  4. Vim使用(二)——插件管理器vundle及nerdtree和ctags插件

    文章目录 一.vim插件管理器. 1.1 安装步骤 1.2 使用方式 二.ctags插件的安装 2.1 安装步骤: 2.2 使用方式: 一.vim插件管理器. 插件管理器可以方便管理vim插件的安装. ...

  5. 我的vim 配置——nerdtree、ack vim、vim sneak

    set nu colorscheme darkblue syntax on " set term=xterm " 设置终端类型 set nonumber " 是否显示行号 ...

  6. Vim 4 常用插件

    Vim 系列教程目录: Vim 1 基本使用 Vim 2 高级用法 Vim 3 vimrc Vim 4 常用插件 Vim 5 其他编辑器的 Vim 插件 Vim 插件网站 Vim 之所以强大, 有个很 ...

  7. vim工具——常用插件

    提高效率:善用工具.刻意练习. preface: 偶然想用vim的插件,搜了下打算安装jedi,后面不可收拾,发现插件贼香,便删了sublime,一切代码都从vim,真正觉悟vim的强大. vim插件 ...

  8. VIM配置及插件入门

    VIM的强大除了快捷键以外,就是可以自行对其进行配置或添加插件,本文对配置及插件使用进行了入门介绍,领进门后各自修行,推荐查阅自带的文档 Vim本身的系统配置文件夹是在/usr/share/vim/和 ...

  9. NERDTree插件安装和使用

    如何安装NERDTree插件,该插件显示一个目录树,可以执行一下文件的操作命令,首先添加配置: " 在vim中安装及配置NERDTree插件,放在Plugin 'gmarik/Vundle. ...

最新文章

  1. spring 事务 对象保存之后,修改的时候,自动更新提交?
  2. .Net简单上传与下载
  3. 零基础编程入门python视频-编程零基础应当如何开始学习 Python?
  4. mysql查询filter_子查询包含or引起的filter性能问题案例
  5. ASP.NET Web 服务、企业服务和 .NET Remoting 的性能
  6. 前端学习(1417):ajax实现步骤
  7. 取多补少C语言,leetcode题目: 数字的补数 的C语言解法
  8. 5.6亿人没有存款、人均负债13万,大数据揭示负债累累的年轻人
  9. 消息队列 ActiveMQ 、RocketMQ 、RabbitMQ 和 Kafka 如何选择?
  10. iQOO Pro 5G评测:配置彪悍定价亲民 成功拉低5G手机准入门槛
  11. java excel 列,使用Java读取Excel工作表的单列
  12. nyoj 破门锁(水题)
  13. linux 安装触摸版驱动程序,在ubuntu和linux上配置触摸屏驱动程序启用触摸屏
  14. froala富文本编辑器与golang、beego,脱离ueditor苦海
  15. maya导入abc动画_UE4 Alembic 动画资产流程的整理
  16. 读headFirst设计模式 - 装饰者模式
  17. 目标检测数据集:直升机(1)
  18. 故障--桥接网卡的坑
  19. php操作 JSON格式数据
  20. net-java-php-python-校园二手图书销售网站计算机毕业设计程序

热门文章

  1. mysql 时间chuo格式化_Mysql时间戳与时间格式转换问题汇总
  2. ubuntu安装portainer_Docker【二】:Docker管理工具Portainer
  3. 全库模式 用户模式 表模式_暗模式,亮模式和用户的故事
  4. 大屏设计的视觉统一_视觉设计中的统一
  5. 10 个你可能还不知道 VS Code 使用技巧
  6. java.lang.NumberFormatException: For input string: “name”
  7. JSONObject中optString和getString等的区别
  8. 《BI项目笔记》数据源视图设置
  9. mysql字段使用timestamp类型和默认值CURRENT_TIMESTAMP表示默认为时间,类似mssql的getdate()功能;字段自增...
  10. c语言中二叉树中总结点,C语言二叉树的三种遍历方式的实现及原理