Как добавить NERDTree к вашему vimrc?

Как вы это делаете?

Ответ 1

Хорошо, предыдущая версия была немного точной, но ответ, который вы ищете, - это добавить строку ниже в ваш файл ~/.vimrc. Он сообщает vim, что вы хотите настроить команду для запуска при запуске vim, но поскольку это зависит от различных загружаемых плагинов, вы не хотите запускать ее до завершения всей инициализации. Следующая строка делает это.

autocmd VimEnter * NERDTree

Если, однако, вас раздражает тот факт, что курсор всегда запускается в окне NERDTree, вы можете добавить вторую автокоманду, которая переместит курсор в главное окно, например:

autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p

Ответ 2

Вы находитесь в системе Windows или unix-y?

Если вы используете систему unix-y, вы помещаете плагины в ~/.vim/plugin. Вот как выглядит мой каталог плагинов:

$ ls ~/.vim/plugin
NERD_tree.vim  scratch.vim  scratchfind.vim

После этого он сразу начинает работать. Попробуйте запустить vim следующим образом:

$ vim .

Он должен открыть текущий каталог в дереве NERD.

Если вы находитесь в Windows, вы помещаете сюда плагины: C:\Program Files\Vim\vim70\plugin


Чтобы загружать NERDTree автоматически при запуске vim, запустите его так, как показано в командной строке:

$ vim -c "NERDTree" some_file.txt

Вы можете установить псевдоним для этого в .bashrc:

alias vimt='vim -c "NERDTree" $1'

Теперь, когда вы запускаете vimt (вместо vim), вы также откроете NERDTree в левой части окна.

Вы также можете добавить комбинацию клавиш для запуска NERDTree в .vimrc следующим образом:

function OpenNERDTree()
  execute ":NERDTree"
endfunction
command -nargs=0 OpenNERDTree :call OpenNERDTree()

nmap <ESC>t :OpenNERDTree<CR>

Теперь, когда вы нажмете Esc, затем t, откроется NERDTree.

Ответ 3

Мне нравится видеть NERDTree только тогда, когда я запускаю vim без аргументов файла, поэтому я добавил это в мой .vimrc:

autocmd VimEnter * if !argc() | NERDTree | endif

Ответ 4

В ответах здесь есть небольшая проблема.

Если вы вызываете vim --noplugin или используете script, который использует режим --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

Ответ 5

" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>

Ответ 6

В соответствии с инструкциями https://github.com/scrooloose/nerdtree вы можете просто использовать pathogen.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