只有在打开目录时才在 VimEnter 上打开 CtrlP

Open CtrlP on VimEnter Only If Opening a Directory

如果我用 vim 打开目录,我想打开 CtrlP,而不是文件。我喜欢让它自动打开我只是为了方便打开一个目录。但是,由于加载时间的增加,如果我确切地知道我想打开哪个文件会有点不方便。

目前我的 .vimrc:

中只有这个

autocmd vimenter * CtrlP

提前感谢您的任何回复!

.bash_profile中创建别名:

alias vimCtrlP="vim +CtrlP"

然后每次需要时,使用 vimCtrlP,就像在 shell 中发出 vim,然后是目录。

您可以编写一个函数来测试参数以查看是否传入了单个目录,如果是,则执行 CtrlP。这是一个非常基本的解决方案:

function! MaybeCtrlP()
    if argc() == 1 && isdirectory(argv()[0])
        " Uncomment this to remove the Netrw buffer (optional)
        " execute "bdelete"
        execute "CtrlP"
    endif
endfunction

autocmd VimEnter * :call MaybeCtrlP()