在Vim编辑器中为NERDTree创建一个命令快捷方式

46

我想在命令行中为NERDTree创建一个缩写。每次我想启用它时都要写:NERDTree,这让我很烦恼。因此,我想输入:nr或类似的东西。这可能吗?


1
注意:Vim不允许您添加以小写字母开头的自定义命令。例如,':ne'将无效,但':Ne'将有效。 - GrooveStomp
6个回答

58

在我的.vimrc文件中,我有以下内容:

let mapleader = ","
nmap <leader>ne :NERDTree<cr>

所以当我需要 NERDTree 时,我只需在正常模式下键入 ,ne


21
如果你想按照你的问题这样做,那么就在.vimrc中添加:command NE NERDTree。然后你可以调用它::NE - jamapag
4
谢谢!我一直使用nmap <leader>ne :NERDTreeToggle<cr>来切换 NERDTree 的开关。 - mawaldne
为什么这不是默认值 =( - Evan Carroll
如果NERDtree已经打开,那么如果它能够聚焦在NERDtree上会很好。 - Evan Carroll
@jamapag 如果你没有对象,应该将它设置为 :NERDTreeFocus,这样就不会打开多个副本了。 - Evan Carroll

31

我发现这个方法非常好用,比我尝试过的其他建议都要好:

map <silent> <C-n> :NERDTreeFocus<CR>

你只需按下 control-n 即可返回层次结构。当在层次结构中选择一个文件名时,自然会将你切换到该文件。

  1. 它在正常模式和插入模式下都适用。
  2. 它不会关闭层次结构,就像接受的答案那样(使用 :NERDTree 命令会从头开始,关闭层次结构,而使用 :NERDTreeFocus 只是移动焦点,我想这是你想要的)

2
对我来说,在插入模式下,Control-N 一直是代码补全。通过这个映射,它仍然是。 - Piotr Perak

24

要切换,请使用以下方法:

map <silent> <C-n> :NERDTreeToggle<CR>

该命令用于在IT技术中切换。

这个解决方案非常实用。 - cavalcantelucas

6

例如Sublime用户:

map <silent> <C-k>b :NERDTreeToggle<CR>

0

将此快捷方式添加到您的rc文件(.bashrc / .zshrc)中

alias nerd="nvim -c \"NERDTree\""

然后,重新加载你的bash宽度

source ~/.zshrc # or ~/.bashrc according your case

并运行

nerd

-c 标志允许您在启动终端时执行命令

nvim -c "command"

0

.vimrc:

let mapleader = "n" #nerdtree  
nmap <leader> :NERDTreeFocus<cr>
let mapleader = "f" #focus
nmap <leader> :NERDTreeToggle<cr>

.bash_profile:

alias n="vim -c 'NERDTree'"

根据目前的写法,你的回答不够清晰。请编辑以添加更多细节,帮助其他人理解这如何回答所提出的问题。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接