расширение текущей директории в NERDTree без смены корня

2093
AnC

Есть ли способ сделать NERDTree расширенным, чтобы отобразить каталог текущего файла - без возни с рабочим каталогом или с изменением корня дерева ?

Поэтому при работе с baz.extним это должно выглядеть так, что вручную не нужно расширять соответствующие деревья:

/ # project root |+.../ |~foo/ | |~bar/ | | |-... | | |-baz.ext # current file | | `-... |+.../ 
3
Скажи мне, как ты получил это "|" персонажи в ботанике? Искал способ сделать это, но не повезло Enan Ajmain 6 лет назад 0
Боюсь, что никогда не делал, выше было просто ручная иллюстрация (если я правильно помню). AnC 6 лет назад 0
Я спросил в их публичном репо, что система (функция ?!) была отключена ** 3 года ** назад Enan Ajmain 6 лет назад 0

2 ответа на вопрос

8
mraaroncruz

Vim: Как синхронизировать NERDTree с текущим открытым файлом вкладки?

map <leader>r :NERDTreeFind<cr>ответ работает для меня.

хотя я не могу оценить это без 15 репутации;) mraaroncruz 12 лет назад 0
Вау, как я мог пропустить это - спасибо большое! AnC 12 лет назад 0
Woohoo! Я могу поднять голос. И вы получили подарок за вашу доброту. У меня только что была веселая вечеринка! mraaroncruz 12 лет назад 0
На самом деле оказалось, что это не совсем то, на что я надеялся: дерево не расширяется, а использует каталог текущего файла в качестве корневого. (Таким образом, в приведенном выше примере я просто посмотрел бы каталог `bar`.) Поскольку, кажется, нет простого решения, вышеприведенное все же достаточно хорошо. AnC 12 лет назад 0
Извини чувак. Но ваши отзывы были услышаны вокруг суперпользователя, так что из этого получилось что-то хорошее (плюс я использую этот ответ сейчас в своем .vimrc) mraaroncruz 12 лет назад 0
С последней версией NERDTreeFind делает именно то, что я хочу: https://github.com/scrooloose/nerdtree/pull/72 - так что я думаю, вы были предусмотрительны, pferdefleisch ... AnC 12 лет назад 1
3
Paul Schyska

Я искал решение сделать это автоматически на каждом BufEnter. Наивный подход не сработал, так как я больше не мог оставлять свое NERDTree :-) - NERDTreeFind меняет окно на NERDTree, и когда вы возвращаетесь к окну с файлом, оно снова срабатывает.

Я нашел свое решение по адресу : https://superuser.com/a/474298/175466, но у меня возникла небольшая проблема: я обычно устанавливал свой cwd в корневой каталог проекта, а затем NERDTree и CtrlP. Иногда я хочу отредактировать файл вне cwd, например, мой ~ / .vimrc, и NERDTreeFind сменит мой cwd на мою домашнюю папку. Это также меняет корень дерева, и когда я переключаюсь обратно, NERDTreeFind будет искать файл из моего домашнего каталога вниз (он огромный).

Поэтому я расширил решение @ Lambart функцией, которая проверяет, находится ли текущий файл внутри cwd, и только NERDTreeFinds, если он есть.

Вы можете найти это в этой сути