Я хотел бы открыть CtrlP, если я открываю каталог с помощью vim, но не файл. Мне нравится, когда он открывается автоматически, я просто открываю каталог для удобства. Однако это немного неудобно, если я точно знаю, какой файл хочу открыть, из-за увеличенного времени загрузки.

В настоящее время у меня в .vimrc есть только это:

autocmd vimenter * CtrlP

Заранее спасибо за любые ответы!

1
ijsnow 27 Ноя 2016 в 22:26

2 ответа

Лучший ответ

Вы можете написать функцию для проверки аргументов, чтобы увидеть, был ли передан единственный каталог, и если да, выполните 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()
1
Randy Morris 29 Ноя 2016 в 20:17

В .bash_profile создайте псевдоним:

alias vimCtrlP="vim +CtrlP"

Затем каждый раз, когда вам это нужно, используйте vimCtrlP, как если бы вы вводили vim в оболочке, а затем каталог.

1
Niloct 27 Ноя 2016 в 20:23