【发布时间】:2009-11-18 22:57:35
【问题描述】:
有人知道如何在每次调用 vim 时强制 .vimrc 自动打开 NERDTree 吗?操作系统是*nix。
【问题讨论】:
有人知道如何在每次调用 vim 时强制 .vimrc 自动打开 NERDTree 吗?操作系统是*nix。
【问题讨论】:
au VimEnter * NERDTree
在你的 vimrc 中应该这样做
:he autocmd.txt 用于后台
【讨论】:
你也可以只在命令行没有文件时打开Nerd Tree:
function! StartUp()
if 0 == argc()
NERDTree
end
endfunction
autocmd VimEnter * call StartUp()
【讨论】:
当没有提供文件参数时打开 NERDTree 的一个衬管是
autocmd vimenter * if !argc() | NERDTree | endif
OR
au vimenter * if !argc() | NERDTree | endif
上面的代码只是检查是否没有提供参数然后打开NERDTree。
【讨论】:
基于@zoul 的回答,在我的情况下,如果我指定目录或不指定任何内容,我希望 NERDTree 默认打开,如果我指定单个文件则不打开,所以我最终得到:
function! StartUp()
if !argc() && !exists("s:std_in")
NERDTree
end
if argc() && isdirectory(argv()[0]) && !exists("s:std_in")
exe 'NERDTree' argv()[0]
wincmd p
ene
end
endfunction
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * call StartUp()
【讨论】:
如果您正在寻找一种方法来获得持久的 NERDTree,即使在您打开新标签页时它仍然存在,您最好使用 jistr/vim-nerdtree-tabs 并添加您的 .vimrc:
let g:nerdtree_tabs_open_on_console_startup=1
该软件包不再维护,但它可以工作,我不知道有什么等价物。
【讨论】:
在您的 vim 配置文件中(我使用 nvim,所以对我来说它在 ~/.config/nvim/init.vim),
在文件中的任意位置添加以下行:
au VimEnter * NERDTree
【讨论】: