NERDTree is a file explorer plugin that provides "project drawer" functionality to your vim editing.
You can learn more about it with:help NERDTree
.
QuickStart Launch using
.
Customizations:
to toggle NERDTreee
ornt
to load NERDTreeFind which opens NERDTree where the current file is located.个人渣翻译:
nerdtree是一个文件的浏览器插件,提供“项目起草者” 功能到您的Vim编辑器。
你可以通过:help NERDTree 获得更多用法。
快速启动使用
自定义:
使用
使用
隐藏零散文件('.pyc', '.git', '.hg', '.svn', '.bzr')
对待NERDTree更像一个面板,而不是窗口的某一个分割部分
——————————————————————————
What is this "NERD tree"??
The NERD tree allows you to explore your filesystem and to open files and
directories. It presents the filesystem to you in the form of a tree which you
manipulate with the keyboard and/or mouse. It also allows you to perform
simple filesystem operations.
个人渣翻译:
NERD tree允许你浏览文件系统,打开文件和目录。
你以键盘或者鼠标操作的文件系统,现在以树的形式展示出来。
它还允许你执行简单的文件操作。
------------------------------------------------------------------------
2.1. Global Commands *NERDTreeGlobalCommands*
:NERDTree [
Opens a fresh NERD tree. The root of the tree depends on the argument
given. There are 3 cases: If no argument is given, the current directory
will be used. If a directory is given, that will be used. If a bookmark
name is given, the corresponding directory will be used. For example: >
:NERDTree /home/marty/vim7/src
:NERDTree foo (foo is the name of a bookmark)
<
:NERDTreeFromBookmark
Opens a fresh NERD tree with the root initialized to the dir for
the completion (which is for bookmarks rather than directories).
:NERDTreeToggle [
If a NERD tree already exists for this tab, it is reopened and rendered
again. If no NERD tree exists for this tab then this command acts the
same as the |:NERDTree| command.
:NERDTreeMirror *:NERDTreeMirror*
Shares an existing NERD tree, from another tab, in the current tab.
Changes made to one tree are reflected in both as they are actually the
same buffer.
If only one other NERD tree exists, that tree is automatically mirrored. If
more than one exists, the script will ask which tree to mirror.
:NERDTreeClose *:NERDTreeClose*
Close the NERD tree in this tab.
:NERDTreeFind *:NERDTreeFind*
Find the current file in the tree.
If no tree exists and the current file is under vim's CWD, then init a
tree at the CWD and reveal the file. Otherwise init a tree in the current
file's directory.
In any case, the current file is revealed and the cursor is placed on it.
:NERDTreeCWD *:NERDTreeCWD*
Change tree root to current directory. If no NERD tree exists for this
tab, a new tree will be opened.
个人渣翻译:
提供的全局命令功能有
2.1 :NERDTree [
打开新的NERDTree,树型结构的根取决于给出的参数。
有三种情况:如果没有给出任何参数,使用当前目录作为根。
如果明确给出一个目录,这个目录作为根;
如果给出书签名,书签对应的目录作为根。
例如:
:NERDTree /home/marty/vim7/src
:NERDTree foo (foo 是一个书签名)
:NERDTreeFromBookmark
打开新的NERDTree, 以bookmark作为根进行初始化。
它和第一个命令功能重复了,使用它的唯一原因在于明确完成是书签为根,而不是目录。
:NERDTreeToggle [
如果该选项卡的NERD Tree已经存在,就会重新打开并且刷新;
如果该选项卡NERD Tree不存在,结果类似于|:NERDTree| 命令
:NERDTreeMirror
在当前选项卡里,共享一个其他选项卡处已经存在的NERD Tree。
一棵树的变化也反映出两者事实上同一缓冲区。
如果仅有一个其他的NURD Tree存在,树会自动映射,如果有更多的存在,脚本会询问映射哪一颗树。
:NERDTreeClose
在选项卡里关闭NERD tree
:NERDTreeFind
在树里查找当前文件,如果树不存在或者当前文件被修改了目录,那么在改变后的目录里初始化树。
否则在当前文件目录里初始化树。
在其他任何情况下,在当前文件上显示光标。
:NERDTreeCWD
改变当前目录的树根,如果该选项卡里没有NERD tree,新建一个tree。
NERD Tree插件会把各种文件与目录综合起来,形成逻辑上的整体(文件本身位置并没有改变),类似于visual studio中的项目工程,这样开发者就能一目了然的操作各类文件,不会被零散的文件或者目录弄得头昏脑胀,一会儿去这个目录下找,一会儿去那个目录下寻觅。
而提供的全局命令,就是为了帮助用户更好的完成这种管理。
想不通的地方,多琢磨一下数据结构中的树形结构,就能理解透彻。
这里是了解命令的功能,实际上使用的时候,NERD Tree内置了一些快捷键操作,无需用户这样麻烦的输入命令。
cd ~
ls
看看普通terminal模式下的文件系统:
个人的工作目录里包容以上这些文件和文件夹。
再次进入vim,按下【ctrl+e】打开NERD Tree:
NERDTree插件在左边面板形成了目录树,而且把因此文件和目录也一并显示了出来。
为什么在工作目录下,进入vim并按下【ctrl+e】形成的目录树会是图中这样的?
spf13提示的切换按键ctrl+e功能相当于调用了:NERDTreeToggle 。
根据文档提示,此时NERD tree选项卡并不存在,所以又相当于无参数调用了:NERDTree ,最终结果就是以用户的工作目录为根,形成如图所示的NERDTree。
发挥想象,利用该插件,我们就可以对系统中任意一个目录,形成以它为根的树形结构图。
比起terminal模式的基本文件系统,新方式看起来更加直观和方便。