6 ответов:
хорошо, предыдущая версия была немного краткой, но ответ, который вы ищете, - это добавить строку ниже в свой . Он сообщает vim, что вы хотите настроить команду для запуска при запуске vim, но поскольку она зависит от различных плагинов, которые будут загружены, вы не хотите запускать ее до завершения всей инициализации. Строка ниже делает это.
autocmd VimEnter * NERDTreeЕсли, однако, вас раздражает тот факт, что курсор всегда запускается в окне NERDTree, вы можете добавить второй автокоманда, которая будет перемещать курсор в Главное окно, например:
autocmd VimEnter * NERDTree autocmd VimEnter * wincmd p
Мне нравится видеть NERDTree только тогда, когда я запускаю vim без аргументов файла, поэтому я добавил Это к моему .vimrc:
autocmd VimEnter * if !argc() | NERDTree | endif
вы находитесь в системе Windows или unix-y?
если вы находитесь в системе unix-y, вы вставляете плагины в
~/.vim/plugin. Вот как выглядит мой каталог плагинов:$ ls ~/.vim/plugin NERD_tree.vim scratch.vim scratchfind.vimпосле этого он начинает работать сразу. Попробуйте запустить vim следующим образом:
$ vim .он должен открыть текущий каталог в представлении дерева ботаников.
если вы находитесь на Windows, вы ставите Плагины здесь:
C:\Program Files\Vim\vim70\plugin
для автоматической загрузки NERDTree когда вы запускаете vim, запустите его так из командной строки:
$ vim -c "NERDTree" some_file.txtвы можете установить псевдоним для этого в вашем
.bashrc:alias vimt='vim -c "NERDTree" 'теперь всякий раз, когда вы запускаете
vimt(вместоvim) вы также откроете NERDTree с левой стороны окна.вы также можете добавить комбинацию клавиш для запуска NERDTree в вашем
.vimrcтаким образом:function OpenNERDTree() execute ":NERDTree" endfunction command -nargs=0 OpenNERDTree :call OpenNERDTree() nmap <ESC>t :OpenNERDTree<CR>теперь, когда вы нажмете
Escзатемtон откроет NERDTree.
ответы здесь есть небольшая проблема.
если вы называете
vim --nopluginили использовать скрипт, который использует--nopluginрежим например vimpager, это вызовет эту ошибку:Error detected while processing VimEnter Auto commands for "*": E492: Not an editor command: NERDTreeчтобы избежать этого, введите команду в
~/.vim/after/plugin/NERD_tree.vimвместо:autocmd VimEnter * NERDTreeи это может быть хорошей идеей, чтобы проверить, что
NERDtreeтакже доступно, т. е.:if exists("loaded_nerd_tree") autocmd VimEnter * NERDTree endif
согласно инструкциям на https://github.com/scrooloose/nerdtree, Вы можете просто использовать патоген.vim (https://github.com/tpope/vim-pathogen). Установите патоген с помощью:
mkdir -p ~/.vim/autoload ~/.vim/bundle; \ curl -Sso ~/.vim/autoload/pathogen.vim \ https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vimдобавьте это в свой vimrc:
execute pathogen#infect()затем установите NERDTree:
cd ~/.vim/bundle git clone https://github.com/scrooloose/nerdtree.gitи если вы хотите открыть NERDTree автоматически при запуске vim, добавьте следующее в свой vimrc:
autocmd vimenter * NERDTree
Comments