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


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

6 114

6 ответов:

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

autocmd VimEnter * NERDTree

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

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" $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.

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

Если вы вызовете 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
" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>

Согласно инструкциям на 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