
NERDTree 是 Vim 中常用的文件树插件可用于浏览目录、打开文件、创建标签页以及快速定位当前文件。一、离线安装1. 下载源码访问 GitCode 镜像仓库https://gitcode.com/gh_mirrors/ne/nerdtree.git下载 ZIP 压缩包后将文件上传到内网并解压。假设解压后的目录为~/nerdtree-master2. 创建 Vim 插件目录mkdir-p~/.vim/pack/vendor/start/nerdtree3. 拷贝插件源码cp-r/nerdtree-master/* /.vim/pack/vendor/start/nerdtree/如果源码位于其他目录只需要修改源路径例如cp-r./NERDTree-master/* ~/.vim/pack/vendor/start/nerdtree/或cp-r/home/user/download/NERDTree/* ~/.vim/pack/vendor/start/nerdtree/4. 更新帮助文档建议执行以下命令生成 NERDTree 帮助索引vim-uNONE-chelptags ~/.vim/pack/vendor/start/nerdtree/doc-cq该命令不会打开 Vim 界面执行完成后会直接返回终端。二、Vim 配置将以下内容添加到~/.vimrc中。 设置 Leader 键为逗号 let mapleader , NERDTree 配置 窗口宽度为 31 列 let NERDTreeWinSize 31 文件树显示在左侧 let NERDTreeWinPos left 显示隐藏文件 let NERDTreeShowHidden 1 显示行号 let NERDTreeShowLineNumbers 1 使用简洁界面 let NERDTreeMinimalUI 1 使用箭头显示目录 let NERDTreeDirArrows 1 自动删除关闭后的缓冲区 let NERDTreeAutoDeleteBuffer 1 打开文件后不自动关闭 NERDTree let NERDTreeQuitOnOpen 0 显示书签 let NERDTreeShowBookmarks 1 NERDTree 状态栏名称 let NERDTreeStatusline NERDTree 忽略文件和目录 let NERDTreeIgnore [ \ \.git$, \.svn$, \.hg$, \ \.pyc$, \.pyo$, \.obj$, \ \.class$, \.jar$, \.war$, \ \.swp$, \.swo$, \.sobj$, \ \.DS_Store$, \.localized$, \ node_modules$, \.pycache$, \ \.cache$, out$, \.repo$, \ build$, \.idea$, \.vscode$ \ ] 快捷键 切换 NERDTree nnoremap leadern :NERDTreeToggleCR 查找并定位当前文件 nnoremap leaderf :NERDTreeFindCR 自动关闭 当只剩 NERDTree 窗口时自动退出 Vim autocmd BufEnter * if tabpagenr($) 1 winnr($) 1 exists(b:NERDTree) b:NERDTree.isTabTree() | quit | endif如果不设置 mapleaderVim 默认使用反斜杠\作为 Leader 键。上述配置将 Leader 键设置为逗号因此快捷键为,n和,f。三、配置说明1. 界面配置配置项作用NERDTreeWinSize 31文件树窗口宽度为 31 列NERDTreeWinPos left文件树显示在左侧NERDTreeShowHidden 1显示隐藏文件NERDTreeShowLineNumbers 1显示行号NERDTreeMinimalUI 1使用简洁界面NERDTreeDirArrows 1使用箭头显示目录层级NERDTreeShowBookmarks 1显示书签NERDTreeStatusline设置 NERDTree 状态栏名称2. 文件过滤配置会隐藏以下类型的文件和目录Git、SVN、Mercurial 等版本控制目录.git.svn.hg编译和临时文件.pyc.pyo.obj.class.jar.war.swp.swo常见项目和构建目录node_modules.pycache.cacheout.repobuild.idea.vscodemacOS 系统文件.DS_Store.localized3. 自动关闭行为以下配置用于控制 NERDTree 的自动退出autocmd BufEnter * if tabpagenr($) 1 winnr($) 1 exists(b:NERDTree) b:NERDTree.isTabTree() | quit | endif当 Vim 中只剩下 NERDTree 窗口时Vim 会自动退出。四、常用操作1. 启动或关闭 NERDTree在 Vim 的普通模式下按,n等价于执行:NERDTreeToggle2. 查找当前文件在 Vim 的普通模式下按,f等价于执行:NERDTreeFind该命令会打开 NERDTree并定位到当前正在编辑的文件。3. 直接使用命令在 Vim 命令模式下执行:NERDTree– 打开 NERDTree。:NERDTreeToggle– 切换 NERDTree 的显示状态。:NERDTreeFind– 查找并定位当前文件。五、NERDTree 面板常用快捷键进入 NERDTree 面板后可以使用以下快捷键快捷键功能o打开文件或展开目录t在新标签页中打开文件T在新标签页中打开文件但不切换过去i在水平分屏中打开文件s在垂直分屏中打开文件r刷新当前目录R递归刷新目录m打开文件操作菜单C将当前目录设为根目录u返回上一级目录p跳转到父目录P跳转到根目录q关闭 NERDTree?查看 NERDTree 帮助六、验证安装重新打开 Vim 后可以使用以下任一方式验证方法一使用命令:NERDTree如果左侧出现文件树窗口说明安装成功。方法二使用快捷键按下,n如果能够正常打开和关闭 NERDTree说明配置生效。方法三查看帮助在 Vim 中执行:help NERDTree如果能够打开帮助文档说明帮助索引生成成功。七、常见问题1. 快捷键,n或,f无效确认~/.vimrc中包含let mapleader ,修改配置后可以在 Vim 中执行:source ~/.vimrc或者重新启动 Vim。2. 找不到:NERDTree命令检查插件目录结构是否正确~/.vim/pack/vendor/start/nerdtree/ ├── plugin/ ├── autoload/ ├── doc/ ├── lib/ └── nerdtree.vim如果出现多层目录例如~/.vim/pack/vendor/start/nerdtree/nerdtree-master/plugin/说明拷贝层级不正确需要将nerdtree-master内部的源码文件拷贝到~/.vim/pack/vendor/start/nerdtree/3. 修改配置后没有生效在 Vim 中执行:source ~/.vimrc然后重新执行:NERDTreeToggle或直接重启 Vim。