Question

Je veux vim pour ouvrir l'Explorateur lorsqu'aucun fichier n'est ouvert ou créé.Par exemple.quand je l'appelle vim sans les options.

l'appel vim newfile.txt doit toujours se comporter de façon normale cependant.

Comment pourrais-je aller sur le faire?Je n'arrive pas à trouver le bon autocmd pour cela.

Était-ce utile?

La solution

Si vous voulez faire cela pour que vim invocation seulement, la meilleure façon est d'utiliser argc():

autocmd VimEnter * :if argc() is 0 | Explore | endif

argc() la fonction renvoie un nombre de noms de fichiers spécifiés sur la ligne de commande lorsque vim a été invoquée, à moins que quelque chose de modifié les arguments de la liste, plus d'informations sur :h argc().

Autres conseils

Trouvé la réponse moi-même:

"open to Explorer when no file is opened
function! TabIsEmpty()
    " Remember which window we're in at the moment
    let initial_win_num = winnr()

    let win_count = 0
    " Add the length of the file name on to count:
    " this will be 0 if there is no file name
    windo let win_count += len(expand('%'))

    " Go back to the initial window
    exe initial_win_num . "wincmd w"

    " Check count
    if win_count == 0
        " Tab page is empty
        return 1
    else
        return 0
    endif
endfunction

" Test it like this:
" echo TabIsEmpty()

function! OpenExplorer()
    if (TabIsEmpty())
        :Explore
    end  
endfunction

La plus grande partie de ce code a été prise à partir de cette question.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top