4

vim の使用; ファイル (.py ファイル) を NERDTree 経由でディレクトリに追加しようとしています。ファイルを入れたいディレクトリを参照し、「m」を押してから「a」を押して、ディレクトリにファイルの名前を付ける必要がありました。問題は、NERDTree が「NERDTree: ノードが作成されていません」と言い続けることです。これは、ファイルが作成されなかったことを意味します。

何故ですか?私は何かが足りないのですか?

ありがとう

編集:

ディレクトリを作成しようとすると、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
4

6 に答える 6

1

最新バージョンの NERDTree を使用していることを確認してください

ファイル~/.vim/plugins/NERD_tree.vimを見て、行let s:NERD_tree_version = '4.1.0'が一番上にあることを確認してください。

また、ファイル~/.vim/nerdtree_plugin/fs_menu.vimが存在することを確認してください。これは、nerdtree ファイル コマンドに必要です。

于 2010-10-27T02:12:40.847 に答える
0

これはロングショットですが、同様の問題が発生しました。これは、シンボリックリンクを使用して.vimおよびvimfilesディレクトリをDropboxにポイントしていたためです...そして、いじくり回しているときにシンボリックリンクのターゲットを誤って変更してしまいました一見無関係なもので。

シンボリックリンクを再作成すると、問題が修正されました。

于 2011-01-06T17:57:40.307 に答える
0

この機能はここで完全に機能するため、特定の設定に関係している可能性があります. そのディレクトリにファイルを作成するための有効な権限を持っていますか? または、ファイルの命名に関係している可能性があります。

于 2010-10-25T08:15:34.597 に答える
0

これは古い質問だと思いますが、人々はまだこの問題を抱えていると思います。私はしばらくの間、OS X MacVim に戸惑いました! パスにスペースがあることに関連していると思います。これを修正するための鍵は、更新することですfs_menu.vim~/.vim/nerdtree_plugin/フォルダーにあります)。

この問題を解決するために、公式リポジトリから最新バージョンの NERD ツリーを入手しました。

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

nerdtree という名前の複製された git リポジトリに移動します。

cd nerdtree

NERD_tree.vim を ~/.vim/plugin/ にコピーします。

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

fs_menu.vim を含む nerdtree_plugin フォルダーをコピーします。

cp -r nerdtree_plugin ~/.vim/

OS X の前のコマンドでは、必ずnerdtree_pluginnotを指定してくださいnerdtree_plugin/

于 2012-01-26T20:38:50.997 に答える
0

これは単純な許可の問題である可能性があります。ファイルを作成しようとしている場所によって異なります。エディターから直接コマンドを実行してみてください。私のvimコマンド

:!touch somefile.py

は同じ応答を返します。さらに、コマンドラインに移動して、同じ場所にある somefile.py に触れようとすると、できません。

コマンドに sudo を追加すると、状況が大幅に変化します。

ただし、vimエディターでsudoを追加することはできますが、

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

NERDtree をオンザフライでルートにすることはできないと思います。

したがって、NERDtree を sudoer にする必要があります。NERDtreeはvimのプラグインであるため、ユーザーを実行するとは思わないので、 sudo vim NERDtreeを開いてm a入力し、ファイルまたはdir / nameを入力すると、この後sudoモードでvimを実行するのが手っ取り早い解決策です。問題なく作成できます

明らかに、vim エディターがルートではない理由があり、機密ファイルを編集する場合など、必要な場合にのみルートとして実行する必要があります。

于 2018-06-21T17:15:58.423 に答える