NERDTree: узел не создан - PullRequest
       4

NERDTree: узел не создан

4 голосов
/ 24 октября 2010

Использование vim;Я пытаюсь добавить файл (файл .py) в каталог через NERDTree.Мне просто нужно было перейти в каталог, в который я хочу поместить свой файл, и нажать «m», а затем «a», чтобы присвоить файлу имя в каталоге.Проблема в том, что NERDTree продолжает говорить мне это: «NERDTree: Node Not Created».Это означает, что файл не был создан.

Почему это так?Я что-то упустил?

Спасибо

РЕДАКТИРОВАТЬ:

Когда я пытаюсь создать каталог, vim (на самом деле NERDTree) выдает сообщение об ошибке:

Error detected while processing function <SNR>14_showMenu..30..47..NERDTreeAddNode:
line   18:
E716: Key not present in Dictionary: isOpen || !empty(parentNode.children)
E15: Invalid expression: parentNode.isOpen || !empty(parentNode.children)
Error detected while processing function <SNR>14_showMenu..30..47:
line    6:
E171: Missing :endif
Error detected while processing function <SNR>14_showMenu..30:
line   19:
E171: Missing :endif

Ответы [ 6 ]

5 голосов
/ 08 мая 2011

Я думаю, что есть ошибка с NERD Tree.

Кажется, это связано с пробелами в именах каталогов. Попробуйте создать каталог, а затем проследите путь файла до самого нижнего каталога с пробелом в нем. Вы можете обнаружить, что отдельный каталог был создан с пробелами, 'экранированными' с обратной косой чертой. Узлы создаются в этой иерархии.

Попробуйте клонировать и установить исправленную версию - как это было предложено в комментарии GWW - с помощью git. Это решило проблему для меня.

Либо не используйте NERDTree для создания файлов, если в пути есть пробелы.

1 голос
/ 27 октября 2010

Убедитесь, что вы используете последнюю версию NERDTree

Просто посмотрите на файл ~/.vim/plugins/NERD_tree.vim и убедитесь, что строка let s:NERD_tree_version = '4.1.0' находится рядом с вершиной.

Также убедитесь, что файл ~/.vim/nerdtree_plugin/fs_menu.vim существует. Это необходимо для файловых команд nerdtree.

0 голосов
/ 21 июня 2018

Это может быть простой проблемой разрешения.Это зависит от того, где вы пытаетесь создать файл.Попробуйте выполнить команду прямо из вашего редактора.Моя команда vim

:!touch somefile.py

дает тот же ответ.Более того, когда я иду в командную строку и пытаюсь прикоснуться к somefile.py в том же месте, это не позволяет мне.

Когда я добавляю sudo в команду, все резко меняется.

Однако, даже если вы можете добавить sudo в редактор vim следующим образом:

:!sudo touch [/path/to/]somefile.py

Я не думаю, что вы сможете сделать NERDtree рутом на лету.

Поэтому вам нужно сделать NERDtree sudoer.Я не думаю, что NERDtree запускает пользователя, так как это плагин для vim, поэтому быстрое и грязное решение - запустить vim в режиме sudo sudo vim после этого, когда вы откроете NERDtree и наберите m a, а затем введите файлили dir / name он создаст его для вас без каких-либо проблем

Очевидно, есть причина, по которой vim editor не является root, и вы должны запускать его как root только тогда, когда вам это нужно, как в случае, когда вы редактируетеконфиденциальные файлы

0 голосов
/ 27 января 2012

Я знаю, что это старый вопрос, но я думаю, что у людей все еще есть эта проблема.Я был озадачен OS X MacVim некоторое время!Я думаю, что это связано с наличием пробелов на пути.Ключом к решению этой проблемы является обновление fs_menu.vim (оно находится в папке ~/.vim/nerdtree_plugin/).

Для решения этой проблемы я получил последнюю версию NERD Tree из официального репозитория :

git clone https://github.com/scrooloose/nerdtree.git

Перейдите в клонированный репозиторий git с именем nerdtree:

cd nerdtree

Скопируйте NERD_tree.vim в ~ / .vim / plugin/

cp plugin/NERD_tree.vim ~/.vim/plugin/

Скопируйте папку nerdtree_plugin, которая содержит fs_menu.vim

cp -r nerdtree_plugin ~/.vim/

В предыдущей команде на OS X убедитесь, что выукажите nerdtree_plugin, а не nerdtree_plugin/.

0 голосов
/ 06 января 2011

Это длинный выстрел, но у меня была похожая проблема, и она оказалась потому, что я использовал символические ссылки для указания моих каталогов .vim и vimfiles на Dropbox ... и я случайно изменил цель символических ссылокв то время как возиться с, казалось бы, несвязанными вещами.

Воссоздание символических ссылок исправило вещи.

0 голосов
/ 25 октября 2010

Эта функция отлично работает здесь, так что это может быть связано с вашей конкретной настройкой. Вы уверены, что у вас есть действующие разрешения на создание файла в этом каталоге? Или, может быть, это как-то связано с именами вашего файла.

...