Я пытаюсь уменьшить количество вещей, которые мне нужно сделать, когда я открываю VIM. У меня есть три следующих сценария, которые я хотел бы объяснить:
1. Откройте vim с указанным каталогом
vim .
Для этого случая я хотел бы открыть NERDTree, с этим в моем ~/.vimrc
:
autocmd vimenter * NERDTree
2. Откройте vim с указанным каталогом на большом мониторе
vim . --large
Здесь я хотел бы открыть NERDTree, а также сделать несколько разделений экрана:
autocmd vimenter * NERDTree
autocmd vimenter * wincmd w
autocmd vimenter * wincmd v
autocmd vimenter * wincmd v
3. Откройте vim с определенным именем файла
vim ~/vimrc
В этом случае я бы не хотел запускать ни один из упомянутых выше autocmd
.
Редактировать - Окончательная реализация
Благодаря ответу Ф.Диноффа.
if argc() == 1 && arv(0) == '.' " `vim .` called
autocmd vimenter * NERDTree " Start up NERDTree
autocmd vimenter * wincmd w " Jump to split that file is open in
if !empty($L)
autocmd vimenter * wincmd v
autocmd vimenter * wincmd v
endif
endif
и запустить его с L=t vim .
vim .
или vim specific_file