treed


Ⅰ. 插件描述

Powerful Tree Editor

Ⅱ. 基本信息

创建日期:  2014-04-06
使用用户:  1
Github星:  1643
插件作者:  Jared Forsyth

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'jaredly/treed'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'jaredly/treed'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'jaredly/treed'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/jaredly/treed

Ⅳ. 文档说明

# Treed
A Powerful Tree Editing Component

Join the chat at https://gitter.im/jaredly/treed

Treed wants to be for tree editing what ace is for text editing. Extensible, customizable, powerful, and just plain easy to use. Perhaps that's a little ambitious, but that's the idea.

Play with a demo

screenshot

Features

Keyboard navigation

I'm a vim user, so there are a lot of vim navigation commands that work out of the box, as well as more normal commands for everyone else.

Action Bindings
Navigationarrow keys, hjkl
Indent/Dedenttab, shift tab
Collapse/Expandalt + left/right
alt + h/l
z (toggle)
Undo/Redoctrl + z, ctrl + shift + z, u, R
Move Nodectrl + alt + arrow / hjkl
Edit modereturn, f2, a, A, i, I
Normal Modeescape
Toggle Donectrl + return
New Nodeo, O (before)
return (in insert mode)
Cut/Copy/Pastectrl + x / delete, ctrl + c, ctrl + v

There are several more as well.

Modularity

Treed is constructed using the MVC pattern such that it is simple to, for example, create an entirely different view for the tree.

You can also create your own "Node" class if you wanted to do more than just have a single text input. You could add buttons, more fields, whatever you want.

Undo/Redo

It works. Unlimited undo.

Drag and Drop

I'm still tinkering with the interaction on this. Should I let you drop as children of nodes that have no children?

Still under development

I made this version in a weekend, so there are still some things to do :)

  • multi-line select (cut/copy/paste multiple, not necessarily contiguous)
  • api docs
  • testing (js + browser)

Future Awesomeness

I want to implement a view layer similar to each of the following services:

  • workflowy
  • trello
  • a whiteboard
  • ginko
  • mindmap

And hook them all to the same model, allowing you to switch between contexts. And then hook it all up to a database (firebase or hood.ie or pouchdb or leveldb?).
I think it will be exactly what I've always wanted; we'll see.

Build instructions

You will need:

npm install
cd demo
webpack --watch

Then open demo/plugins/index.html for example in your favorite browser, and
enjoy!

添加新评论