Почему открывается целый каталог с помощью `vim .`, а NERDTree дважды открывает браузер файлов? - PullRequest
0 голосов
/ 25 февраля 2020

У меня установлен NERDTREE.

Если я открою весь каталог с помощью vim ., я вижу следующее:

enter image description here

Если я открою указанный c файл в каталоге с vim file1.txt, я увижу следующее:

enter image description here

Есть ли способ vim . не открывает браузер файлов дважды? Я понял, что у него нет указанного c файла для открытия, но я бы предпочел, чтобы он просто открывал только левую панель, а затем ничего справа, вместо того, чтобы всегда вручную закрывать правую сторону.

Вот соответствующий раздел моего .vimrc, если это поможет

" === Plugins

filetype off
call vundle#begin('$HOME/.vim/bundle')

Plugin 'VundleVim/Vundle.vim' " required
Plugin 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }

call vundle#end()
filetype plugin indent on


" === Auto Commands

autocmd VimEnter * NERDTree                                        " Start NERDTree on startup
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree")
  \ && b:NERDTree.isTabTree()) | q | endif                         " Close NERDTree explore after last window closes

" === Config

let NERDTreeMinimalUI  = 1  " NERDTree Minimal UI
let NERDTreeDirArrows  = 1  " NERDTREE Directional Arrows
let NERDTreeShowHidden = 1   " Show hidden files

1 Ответ

3 голосов
/ 25 февраля 2020

Nerdtree не знает, что у вас открыто на главной панели. Vim не знает, что Nerdtree делает со своей боковой панелью.

Если вас беспокоит только описанная ситуация, когда вы хотите открыть vim в текущем каталоге, vim (просто команда без аргументов ) откроет экран приветствия, и Nerdtree с вашими автокомандами откроется в боковой панели в зависимости от текущего каталога.

Если вас беспокоит указание vim на каталог, отличный от cwd, вы можете отключить Автокоманды плагина Nerdtree, чтобы он не открывался автоматически, или переписать автокоманду, чтобы вызвать, если вы сказали vim открыть файл, это файл. Как-то так?

augroup NerdTree
  autocmd!
  autocmd VimEnter * | if isdirectory(expand("<afile>")) | :NERDTreeToggle | endif
augroup END

Хотя я не могу заставить его работать правильно. Может быть, кто-то еще может разыграть то, что у меня есть.

...