nerdtree автоматически фокусируется на файле при открытии в новой вкладке

Я использую NerdTree в Linux. Я хотел бы перейти из буфера дерева ботаников в файловый буфер после открытия файла на новой вкладке с помощью «t». Мне нужно постоянно нажимать Ctrl+W+W.

Любая идея о том, как заставить vi выполнять C-W-W после создания нового буфера.

Сайрам


person Sairam    schedule 25.11.2010    source источник


Ответы (3)


Просто добавьте autocmd BufNew * wincmd l в свой .vimrc

person harithski    schedule 25.11.2010
comment
Для будущих путешественников: это не работает для меня (vim 7.2), но добавление решения PaulP в .vimrc после строки autocmd vimenter * NERDTree помогло. - person Hamy; 11.04.2013
comment
Решение Йоханна сработало для меня, а не для этого. Не уверен, что это устарело или нет, но определенно очень похоже. - person MMM; 13.10.2014

Когда vim запускается, открывается окно для файла, затем открывается другое окно для NerdTree.

Самый простой способ вернуться в главное окно — просто перейти к предыдущему окну следующим образом:

" Start NERDTree
autocmd VimEnter * NERDTree
" Go to previous (last accessed) window.
autocmd VimEnter * wincmd p
person Yohann    schedule 12.10.2013
comment
именно то, что мне было нужно! при открытии файла с помощью vim это устанавливает фокус на вновь открытый файл, при этом открывая NERDTree - person lfender6445; 03.02.2014
comment
Вы можете комбинировать команды: autocmd VimEnter * NERDTree | wincmd p - person NARKOZ; 13.03.2015
comment
отлично, спасибо, попал сюда по поиску vimenter window - person Plato; 28.06.2016
comment
Это работает на самом деле. Комбинирование, как говорит @NARKOZ, у меня не работает, не знаю почему. - person X3MBoy; 12.03.2018
comment
чтобы NERDTree открывался при запуске и оставался сосредоточенным на nerdtree, если файлы не указаны autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | else | NERDTree | wincmd p | endif - person buncis; 17.12.2020

Вы можете использовать так называемые автокоманды, например:

  au BufNew * <command>

Он выполнит команду при создании нового буфера. Начните оттуда. Ознакомьтесь с vimdoc по этому вопросу.

person dnets    schedule 25.11.2010