Как добавить NERDTree в vimrc?
Как вы это делаете?
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, Вы можете просто использовать патоген.ВИМ (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