I use Acme (from Plan9Port) as my every-day editor for work. I run it full-screen on a 4K monitor. I've got a co-worker who likes to grumble about mice, but somehow when we're debugging something on a call, I'm always in the appropriate file at the appropriate line number long before he is :) There are some tools (acmego [9fans.net/go/acme/acmego], A [github.com/davidrjenni/A]) that make working with Go a lot more pleasant, too.
I've been using Acme for about 15 years now, though. I dimly remember deep frustration when I was still learning it, but now that I'm used to it it's great.
Here's a screenshot that shows my typical work layout, although it's a little "manufactured" to avoid including any proprietary code from work: https://i.imgur.com/Trg79NS.png
Another thing I forgot to mention: Acme can be controlled programmatically, and there are Go bindings, so I wrote my own little mpd client to play music while I worked. You can see it at the bottom of the leftmost column in the screenshot... looks like Blue Oyster Cult was playing when I took the shot. It wasn't a lot of code (https://github.com/floren/Ampd)
> but somehow when we're debugging something on a call, I'm always in the appropriate file at the appropriate line number long before he is :)
I’d enjoy seeing these parallel workflows happening, and seeing where Acme is a better <xyz>, or where it punts and has a completely different paradigm, besting your coworker (and vice versa).
Does the lack of "native" support for real-time linting, debuggers, formatters, etc get in your way? Did you manage to integrate such features in your workflow?
Perhaps this might sound like a noobish question but I found the video super cool. That said, does acme has syntax highlighting? I think with that I'd be willing to learn it.
Acme is an incredible, fascinating editor... that relies too much on rat wrestling to be useful to me. I really find it interesting how it takes advantage of Plan 9's aggressive Unix philosophy to provide functionality that would've been plugins or extensions in other editors as separate C programs or scripts.
But having to use the mouse for everything just drives me nuts. It's easier for my fingers to acquire even Emacs keybindings than it is for me to acquire the mouse and point at something with any precision.
It is definitely an interesting editor, and it has some neat ideas. But when I compare the masterpiece that is Acme on Plan 9 with the — frankly — cobbled-together heap that is Emacs … I would prefer to use Emacs, because Emacs does more for me than Acme on Plan 9.
I think that says a lot about the fundamental power of dynamic languages in general and Lisp in particular. Plan 9 is in a lot of ways the zenith (or … heh … acme) of what C and Unix can do. It is awesome, it is wonderful, it is better in every technical way than Linux or true Unix. But it pales in comparison to the hacked-together incomplete Lisp machine that is Emacs.
Imagine how much better off we would be with true Lisp machines on our desks and in our data centres!
(in my ideal world this 21st-century Lisp machine would actually take a lot of ideas from Plan 9, and even some from Emacs)
It is convenient with a pointer or trackpad close to your thumb. Three buttons associated with such pointer or trackpad would be nice, but it would work much better with more buttons. Two or three buttons for each hand would be awesome.
Sometimes it just feels faster to think about and execute keyboard shortcuts, although the actual tests I've read about that seem to be from the early Macintosh age, which feels a bit like measuring anything by looking at your university's students...
I've been using acme for ~6 years now and it's still my daily editor. I wrote a LSP client for it (https://github.com/mjibson/acre). acme is so weird because when you start out it's like "wait so I have to write little shell scripts to do everything?". But then it slowly dawns that larger programs (like acre) are possible that are much more interactive, like modern IDEs.
This looks pretty cool. But I'm having a hard time grasping concept of double-clicking for things like goto definition. Which makes me bring up this question, is acme useable with with 99% keyboard?
I'm using it as my day to day tui (with an scratch buffer).
I have a index file where I store "shortcuts" to lot of fs places.
Also I store action logs of whatever related to shell.
For example, a file rabbit.md, it starts with the snippet to portforward the k8 service.. but I also have there some curls to clean or manage things.
Files are more or less like a notebook (but everything can be executed or it's just a mix...
I can live without it..
That video gets off to a very slow start but by minute 10 or so some very interesting features are on display.
Some that stuck out were using filenames plus regexes or line numbers to create links in text files, a text file that is also a shell session, things that have been done in vi/emacs but this editor is mouse-centric so it looks very different.
Acme must be very useful in a Plan9 system. But on UNIX, I don't see any single thing it does that cannot be done by vim, with some configuration. And of course vim can do more.
I have written quite a few hacks to replicate the Acme experience and it includes many tools outside the text editor part: terminal, shell, window manager ...
Sure vim is a vastly superior text editor and acme is a better "integrating" text environment. Something as different as a Jupyter notebook.
As for vim limits: poor mouse support, window management, plumber support, notebook like features (emacs org Babel), editable interface, jump to /path/to/file:/search pattern/ and other Sam expressions ...
[+] [-] floren|5 years ago|reply
I've been using Acme for about 15 years now, though. I dimly remember deep frustration when I was still learning it, but now that I'm used to it it's great.
Here's a screenshot that shows my typical work layout, although it's a little "manufactured" to avoid including any proprietary code from work: https://i.imgur.com/Trg79NS.png
[+] [-] floren|5 years ago|reply
[+] [-] bch|5 years ago|reply
I’d enjoy seeing these parallel workflows happening, and seeing where Acme is a better <xyz>, or where it punts and has a completely different paradigm, besting your coworker (and vice versa).
[+] [-] haolez|5 years ago|reply
Does the lack of "native" support for real-time linting, debuggers, formatters, etc get in your way? Did you manage to integrate such features in your workflow?
[+] [-] noobermin|5 years ago|reply
[+] [-] bitwize|5 years ago|reply
But having to use the mouse for everything just drives me nuts. It's easier for my fingers to acquire even Emacs keybindings than it is for me to acquire the mouse and point at something with any precision.
[+] [-] jeromenerf|5 years ago|reply
As for key binding, it’s pretty easy to add that as external tools, thanks to the 9p interface.
[+] [-] zeveb|5 years ago|reply
I think that says a lot about the fundamental power of dynamic languages in general and Lisp in particular. Plan 9 is in a lot of ways the zenith (or … heh … acme) of what C and Unix can do. It is awesome, it is wonderful, it is better in every technical way than Linux or true Unix. But it pales in comparison to the hacked-together incomplete Lisp machine that is Emacs.
Imagine how much better off we would be with true Lisp machines on our desks and in our data centres!
(in my ideal world this 21st-century Lisp machine would actually take a lot of ideas from Plan 9, and even some from Emacs)
[+] [-] jxy|5 years ago|reply
[+] [-] mhd|5 years ago|reply
[+] [-] mjibson|5 years ago|reply
[+] [-] tennineeight|5 years ago|reply
[+] [-] xashor|5 years ago|reply
[+] [-] jordic|5 years ago|reply
[+] [-] palsir|5 years ago|reply
[+] [-] jordic|5 years ago|reply
[+] [-] jrumbut|5 years ago|reply
Some that stuck out were using filenames plus regexes or line numbers to create links in text files, a text file that is also a shell session, things that have been done in vi/emacs but this editor is mouse-centric so it looks very different.
[+] [-] jeromenerf|5 years ago|reply
I would add to your list:
- acme is complemented by the plumber, which acts according to user defined rules when receiving a text selection (and context)
- anything in acme is text, which is editable. Menu bar, buffers, shell window... the editable dumb terminal is great.
- acme features a 9p fs "api" to access its state, and modify it, with any program. Go is first class citizen.
Acme cannot be used though ssh in a terminal nor on a iPad though :)
[+] [-] Taniwha|5 years ago|reply
[+] [-] major505|5 years ago|reply
[+] [-] jd3|5 years ago|reply
[+] [-] coliveira|5 years ago|reply
[+] [-] jeromenerf|5 years ago|reply
Sure vim is a vastly superior text editor and acme is a better "integrating" text environment. Something as different as a Jupyter notebook.
As for vim limits: poor mouse support, window management, plumber support, notebook like features (emacs org Babel), editable interface, jump to /path/to/file:/search pattern/ and other Sam expressions ...
[+] [-] jordic|5 years ago|reply
[+] [-] unknown|5 years ago|reply
[deleted]