VOOF: two-pane Vim outliner

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

VOOF: two-pane Vim outliner

Vlad Irnov
Dear Vim Outlining Enthusiasts,

I would like to announce a new kind of Vim outliner:
http://www.vim.org/scripts/script.php?script_id=2657

VOOF (Vim Outliner of Folds) attempts to emulate a two pane outliner.
Unlike VO/TVO, it's not a filetype plugin and does not depend on indenting.
Instead, it uses start fold markers with levels: {{{1, {{{2, {{{3, etc. Thus,
it can be used with any buffer, including source code. The only requirement is
that the buffer cannot contain end fold markers with levels, }}}2, }}}1, etc.

I'd be interested to hear your comments.

Vlad
_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Steve Litt
On Monday 31 August 2009 13:22:00 Vlad Irnov wrote:

> Dear Vim Outlining Enthusiasts,
>
> I would like to announce a new kind of Vim outliner:
> http://www.vim.org/scripts/script.php?script_id=2657
>
> VOOF (Vim Outliner of Folds) attempts to emulate a two pane outliner.
> Unlike VO/TVO, it's not a filetype plugin and does not depend on indenting.
> Instead, it uses start fold markers with levels: {{{1, {{{2, {{{3, etc.
> Thus, it can be used with any buffer, including source code. The only
> requirement is that the buffer cannot contain end fold markers with levels,
> }}}2, }}}1, etc.
>
> I'd be interested to hear your comments.
>
> Vlad

Hi Vlad,

First, thank you for naming your outliner something distinct from and not to
be confused with the names "VO" or VimOutliner.

And now for the comments: My priority is authoring speed. That's heavily
dependent on the keystrokes you use to achieve the beginning {{{1 and }}}1
etc. Another factor in authoring speed is how easy or difficult it is to get
into trouble with missing or misplace ending folds. In that respects it sounds
to me like VOOF is like Ruby and VO is like Python.

I'll have more comments once I know how you're licensing VOOF.

SteveT

Steve Litt
Recession Relief Package
http://www.recession-relief.US
Twitter: http://www.twitter.com/stevelitt


_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Herbert Sitz
Steve Litt wrote
And now for the comments: My priority is authoring speed. That's heavily
dependent on the keystrokes you use to achieve the beginning {{{1 and }}}1
etc. Another factor in authoring speed is how easy or difficult it is to get
into trouble with missing or misplace ending folds. In that respects it sounds
to me like VOOF is like Ruby and VO is like Python.
I've been using a fairly simple mod that makes VO operate much like a two pane outliner.  Actually I've done it a couple different ways.  The easiest and slickest way was to modify Noel's hoisting code to load the text of a node in the right window pane (and open right window pane automatically if there is none).

This two-pane mode is most useful when you have a long book- or article-like document that has long chunks of text after each heading.  I've found that's it's less than ideal to edit large text chunks in regular VO when they're indented more than 2 or 3 levels in.

The method has a couple benefits.  One, you can operate with the main outline collapsed to show headings only in the left window pane.  Your workflow then involves hitting a key to show text of each heading node in the right window pane where it can be edited as discrete entity.

Two, the text in the right window pane uses no indenting and no special characters, so the editing of it is fast and straightforward.  On my machines when I'm editing text chunks in regular VO the screen display and response slows down as the indent level of the node increases.  4 or 5 levels in the slow and jerky Vim text wrapping of indented text lines with initial ':' character becomes quite annoying, can't even keep up with my typing.  This disappears when you edit node text as simple unindented block in its own pane.  I haven't tweaked to incorporate all the different types of VO text (':', ';', '>', etc.), but that would not be hard, either.

Best of all, nothing is forced on you.  You can use VO as you've always used it if you want.  If you have big chunk of text you want to edit as a discrete element, just hit the key and it opens up as discrete block of text in window on the right.

I should also mention that there's an even simpler way to use VO as a two pane outliner without any code changes at all.  Vim allows you to open the same buffer/document in two different windows.  To do this just split the screen verticall with ^Wv.  You can  collapse the headings in the left window and it becomes the left pane of  a "two pane outliner".  I guess there is one thing that's helpful to add via code, which is a key binding to sync the right window with the left when you hit a certain key on a headingline in the left pane.  I had this set up for a while but prefer to method I described above where you hit key to "hoist" the text element into a window pane on right side of your VIM display.  The use of 'scrollbind' to make the windows automatically scroll in sync may be a partial solution for some people.

Either of the two methods I've described could be polished up without much work.  The text hoist I've got works fine for me as is so I haven''t bothered doing any more to it.

-- Herb
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Vlad Irnov
In reply to this post by Steve Litt
On 8/31/09, Steve Litt <[hidden email]> wrote:

> On Monday 31 August 2009 13:22:00 Vlad Irnov wrote:
>> Dear Vim Outlining Enthusiasts,
>>
>> I would like to announce a new kind of Vim outliner:
>> http://www.vim.org/scripts/script.php?script_id=2657
>>
>> VOOF (Vim Outliner of Folds) attempts to emulate a two pane outliner.
>> Unlike VO/TVO, it's not a filetype plugin and does not depend on
>> indenting.
>> Instead, it uses start fold markers with levels: {{{1, {{{2, {{{3, etc.
>> Thus, it can be used with any buffer, including source code. The only
>> requirement is that the buffer cannot contain end fold markers with
>> levels,
>> }}}2, }}}1, etc.
>>
>> I'd be interested to hear your comments.
>>
>> Vlad
>
> Hi Vlad,
>
> First, thank you for naming your outliner something distinct from and not to
> be confused with the names "VO" or VimOutliner.
>
> And now for the comments: My priority is authoring speed. That's heavily
> dependent on the keystrokes you use to achieve the beginning {{{1 and }}}1
> etc. Another factor in authoring speed is how easy or difficult it is to get
> into trouble with missing or misplace ending folds. In that respects it
> sounds
> to me like VOOF is like Ruby and VO is like Python.
>
> I'll have more comments once I know how you're licensing VOOF.
>
> SteveT

Steve,

End fold markers with level numbers, }}}1, }}}2, etc., are not needed--they are
redundant and are a pain to keep track of. They are ignored by VOOF parser
function. I've seen end fold markers with levels in a real file only once, and
ironically, it's vimoutliner code :-D !

Using VOOF outlining is neither like Ruby nor like Python. It's pretty much
like using Vim fold markers with levels, which is a popular Vim folding method.
An example would be any Vim script written by Charles E Campbell:
autoload/netrw.vim and many other. Note that you can use VOOF to browse that
file as an outline: http://www.flickr.com/photos/voof/3847558633/sizes/o/

The entire VOOF plugin can be considered a helper utility for working with
start fold markers with levels. Since it's not a filetype plugin, the text can
be in any format, including some otl-like indenting.

There is no license--I've dedicated my contraption to the public domain.

Regards,
Vlad
_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Steve Litt
On Friday 04 September 2009 12:02:39 Vlad Irnov wrote:

>
> There is no license--I've dedicated my contraption to the public domain.

Vlad -- I'd strongly advise you to license it with the 3 clause BSD license.
This is a "public domain like" license. Actual public domain is defined
differently in different countries. Also, it's very difficult to determine whether
something you picked up off the Internet is public domain, because person A can
say that it's public domain, and then person B can remove that notice. Is B's
copy public domain or not? No way to tell -- better not use it.

The 3 clause BSD license also states that the author(s) is(are) not
responsible for damage, which is VERY important in getting people to
contribute changes.

See this URL about the 3 clause BSD license:

http://en.wikipedia.org/wiki/BSD_license#Terms

For most practical purposes, the 3 clause BSD license is just like public-
domaining your software. The main differences are 1) means the same thing in
all countries, and 2) disclaims all warranties, and 3) lets the user know
exactly what the rules are.

HTH

SteveT
 
Steve Litt
Recession Relief Package
http://www.recession-relief.US
Twitter: http://www.twitter.com/stevelitt


_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Vlad Irnov
On 9/4/09, Steve Litt <[hidden email]> wrote:
> On Friday 04 September 2009 12:02:39 Vlad Irnov wrote:
>
>>
>> There is no license--I've dedicated my contraption to the public domain.
>
> Vlad -- I'd strongly advise you to license it with the 3 clause BSD license.
> This is a "public domain like" license. Actual public domain is defined
> differently in different countries. Also, it's very difficult to determine
> whether

I am afraid I cannot do that, even if I wanted to. My understanding is that
once a work is placed in the public domain it cannot be taken out of it or be
copyrighted.

I don't think it matters much how my code is licensed. It's a Vim plugin, and
the code is useless outside of Vim. What I can do is include a more detailed
disclaimer similar to what programs like SQLite or ImageJ have.

Vlad
_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Lucas González
> Vlad -- I'd strongly advise you to license it with the 3 clause BSD license.
> This is a "public domain like" license. Actual public domain is defined
> differently in different countries. Also, it's very difficult to determine
> whether

I am afraid I cannot do that, even if I wanted to. My understanding is that
once a work is placed in the public domain it cannot be taken out of it or be
copyrighted.

Change a comma, and relicense it?  The previous version is still PD.

Lucas

_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Carsten Hey-4
In reply to this post by Vlad Irnov
On Fri, Sep 04, 2009 at 04:21:39PM -0400, Vlad Irnov wrote:

> On 9/4/09, Steve Litt <[hidden email]> wrote:
> > On Friday 04 September 2009 12:02:39 Vlad Irnov wrote:
> >> There is no license--I've dedicated my contraption to the public domain.
> >
> > Vlad -- I'd strongly advise you to license it with the 3 clause BSD license.
> > This is a "public domain like" license. Actual public domain is defined
> > differently in different countries. Also, it's very difficult to determine
> > whether
>
> I am afraid I cannot do that, even if I wanted to. My understanding is that
> once a work is placed in the public domain it cannot be taken out of it or be
> copyrighted.

Your a Russian?  It is nowadays not possible to place something in the
public domain in Russia.  To allow others to use, modify and distribute
your work you need to add a license.

As already suggested, a BSD license would be a sane choice, given that
the "advertising clause" is removed (this is called 3-clause BSD
license).  The "advertising clause" is rather useless, so it could be
removed too, this is called 2-clause BSD license.  If you don't care
about the remaining two clauses and want to remove them too, the license
could be reduced to:

    Copyright (c) 2009 your name

    Redistribution and use in source and binary forms, with or without
    modification, are permitted.

Additionally you should consider adding the BSD license's disclaimers of
warranty (the last paragraph of http://www.debian.org/misc/bsd.license).

> I don't think it matters much how my code is licensed. It's a Vim plugin, and
> the code is useless outside of Vim.

Distributions like Debian do distribute some vim scripts, this is only
possible if they are allowed to do so.


Carsten
_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Carsten Hey-4
On Sat, Sep 05, 2009 at 12:09:22AM +0200, Carsten Hey wrote:
> As already suggested, a BSD license would be a sane choice, given that
> the "advertising clause" is removed (this is called 3-clause BSD
> license).  The "advertising clause" is rather useless, so it could be
                  ^^^^^^^^^^^^^^^^^^

That should read: "endorsement clause"
_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Joshua B.
In reply to this post by Carsten Hey-4
On Fri, Sep 4, 2009 at 7:09 PM, Carsten Hey<[hidden email]> wrote:
> Your a Russian?  It is nowadays not possible to place something in the
> public domain in Russia.

Is that true? How tragic.  I always thought of Russia as having a rich
public domain tradition ever since Tolstoy dedicated his life's work
to the public domain.
_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo
Reply | Threaded
Open this post in threaded view
|

Re: VOOF: two-pane Vim outliner

Carsten Hey-4
On Sat, Sep 05, 2009 at 03:15:21AM -0300, Joshua B. wrote:
> On Fri, Sep 4, 2009 at 7:09 PM, Carsten Hey<[hidden email]> wrote:
> > Your a Russian?  It is nowadays not possible to place something in the
> > public domain in Russia.
>
> Is that true? How tragic.  I always thought of Russia as having a rich
> public domain tradition ever since Tolstoy dedicated his life's work
> to the public domain.

I'm not a layer, but as as far as I know it is true.  They reworked
their copyright law in 2006.  A good summary of the situation in Russia
can be found at http://en.wikipedia.org/wiki/Template:PD-Russia


Carsten
_______________________________________________
VimOutliner mailing list
[hidden email]
http://www.lists.vimoutliner.org/mailman/listinfo