Как добавить NERDTree в свой vimrc? - PullRequest
116 голосов
/ 19 сентября 2009

Как ты это делаешь?

Ответы [ 6 ]

198 голосов
/ 19 сентября 2009

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

autocmd VimEnter * NERDTree

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

autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
20 голосов
/ 09 мая 2012

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

autocmd VimEnter * if !argc() | NERDTree | endif
19 голосов
/ 19 сентября 2009

Вы в системе 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.

8 голосов
/ 27 января 2013

В соответствии с инструкциями на 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
7 голосов
/ 10 мая 2012
" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>
7 голосов
/ 23 апреля 2011

Ответы здесь имеют небольшую проблему.

Если вы вызываете 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
...