2016-11-27 5 views
1

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

В настоящее время я просто это в моем .vimrc:

autocmd vimenter * CtrlP

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

ответ

1

Вы можете написать функцию для проверки args, чтобы увидеть, была ли передана одна директория и если она была, выполните 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() 
+0

Другой ответ был хорошим обходным решением, но это тот ответ, который я искал! Благодаря! – ijsnow

1

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

alias vimCtrlP="vim +CtrlP" 

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

+1

Это простое решение! Благодаря! – ijsnow