Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Emacs has ParEdit minor mode which is a general-purpose tree editor.

https://www.emacswiki.org/emacs/ParEdit

edit: paredit demos:

Productive Emacs: Paredit https://www.youtube.com/watch?v=T1WBsI3gdDE

Emacs Rocks! Episode 14: Paredit: https://www.youtube.com/watch?v=D6h5dFyyUX0



Maybe link to the Emacs Rocks demo in future - just a thought. I share it because I've known about paredit for years and just kind of gone ¯\_(ツ)_/¯ and not bothered - but seeing that demo has sold me on the idea in a super big way, to the extent where it's going to impair my productivity today, or would if we weren't in a post-crunch breather.

By comparison, the Emacs Wiki article is a poor introduction, because introduction is not its purpose; it's there to collect resources for people who already use paredit, and a good introduction answers the question of why someonr would want to start.

That said, thanks so much for posting about it here! I'm really looking forward to learning it today.



Thanks. Added links to paredit demos.


It also has org-mode which seems fairly similar, but offers additional (optional) features for doing things like tables and due dates within the tree.

I pretty much just use indented text trees for all but the most complex parts of software design and I find it works very well.


>indented text trees

You mean points and sub-points?

>all but the most complex parts

And what do you use for those?


Don't forget org mode or mind mapping software. Both are quite able with hierarchical data.


Can you (or anyone) name some good mind mapping software (other than org mode)?


Mind maps are really just nested lists right? https://workflowy.com/ is one of the best nested list (tree) editors I've found for mind-mapping and note-taking.


When I'm not using orgmode I usually use yED[0] for diagrams and graphs. Not specifically mind-mapping software, but close enough for my purposes.

[0]https://www.yworks.com/products/yed


Freemind is alright. Java. Does the basics. Runs everywhere. Open source.


How good is it?

I've never used it and I'm genuinely curious.


Pretty good, it almost make you feel you're working on trees and not text. Takes a few moments to get used to. I recommend what I did: take a bunch of Lisp code, strip it out of parenthesis (M-x replace-string, replace ( and ) with empty strings), and then use Paredit commands to restore the original tree structure. I spent less than an hour simply doing this exercise again and again, and it was enough to become a proficient user.


Good exercise. Thank you!

Also, there are alternatives. What do you think about them?


Don't know of any (could you name them?), so I don't have any opinion.


It depends on your requirements. ParEdit limits you to only perform AST transformations, which could be very good if you edit s-expressions or explicitly tree-like structures.

If I was working on lisp-like languages, I would definitely use it. But ParEdit didn't stick to me, even after a few attempts. I didn't like the key bindings, and I think that the interface is too complex for me.


It is amazing for working with Lisps. I use it for Clojure and it is great -- highly recommend to anyone using a Lisp to learn it. Though you'll miss having it in other languages.

Not sure what it is like for other tree structures.


It's definitely written with the intent of using it to edit Lisp code, and for that it is great. It is now hard for me to imagine writing Lisp by editing S-expressions directly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: