Another editor? I use Vim in SSH sessions, since it is guaranteed to be present in any Linux installation. I like SublimeText's unique multiselect ability. I sometimes open emacs to touch eternity and fully experience my worthlessness.
I have acme open all the time, agitation with pictures under the cut.

This is
glenda
Here you can see the mailbox, IRC channel, SHELL session, Miller’s interactive dictionary, spell checking and the contents of the file directory.

This picture shows the open source file .go, autocompletion, and the search for a function definition.
Story
The acme editor was written by Rob Pike as a visual programming environment for the Plan9 operating system, an experimental Unix branch of bell-labs. This is the heir to the editor Sam of the same author. Both editors have been ported.
From Sam and acme sanovita users
Ken Thompson Unix developer and whatnot
Brian Kernighan from K & R (Kernighan and Ricci "C programming language")
Tom duff from star wars
Bjarne Stroustrup developer C ++
Dennis Ritchie from K & R
Rob Pike except acme developer unicode architect Go language
Russ Cox Lead Go Developer on the Google Team
Control
In acme, there are no hotkeys (except system keys) and no drop-down menus. Here, I would say that I will see that I sing. Any piece of text in any acme window can be executed as a command with just the middle mouse button, if only it is executed.
At the same time, a fragment from another window can be fed into the input with the help of the left mouse button.
If the fragment can serve as an address (for example, in the format / directory / file /: line: position, generally accepted for compilers, debuggers, linters, grep clones like akk, ag) then the address is opened with the right mouse button, say `http: // ... the address is opened in the browser.
The built-in commands and the address of the buffer displayed in the window are presented in the panel above the window with a different color. In many ways, this is nothing more than an agreement, you are free to write in the panel what you wish and write commands anywhere. All text only. And everything is just a file, very Unixy.
Actually editing
Edit 0,$ x/^.*Plan9/ g/nice/ { |tr az AZ a/oops }
The built-in command
Edit has syntax close to ed, sed, awk but there are differences. All listed utilities and grep are line-oriented. For acme, the string is not a significant unit. acme 100% UTF8, Example
0, $ takes parsing from first to last position
x / breaks the text into fragments such that each
^ starts at the beginning of the line
. * then what's the number of times
Plan9 ends with Plan9
/ g / and if fragment
nice contains nice then
/ { operators are executed in parallel on the fragment
| tr az AZ skip through the tr system magnifier
a / oops add oops
}And I carried out this kind of manipulation with the above-mentioned Miller dictionary weighing 40Mb in visual mode with an arbitrarily distant
Undo , including
Undo after saving the
Put file. SublimeText five minutes only opened this dictionary for me, ate all the available memory and fell into deep thought.
Remote access
I can:
- import the file structure served by the 9P server (for example, sources.cs.bell-labs.com) into its address space and, if you need to mount it into your file structure
- import 9p cpu server
- run the acme server side on a remote nix server, and the client side on the local machine
- ssh, scp, sftp, sshfs remote resource or service as usual
In all scenarios, acme windows will look and behave consistently, of course, with a slight slowdown.
Expansion
acme can serve as a console to everything that produces or consumes text. Software management of acme windows can be accomplished by modifying the control files served by acme for each of its windows with the 9P protocol. Any 9P client can manage acme windows. Protocol implementations exist for many languages, including Bash. I use Go.
Resources
Article author
pdf by Rob Pike.
Presentation of the successor
video Russ Cox.
Fan clubWhere to get
for nix systemsfor windowsPS Post in the Go hub because the architects of the language - the authors of Plan9. The base of the compiler code and the language execution environment is 70-80 percent from the Plan9 repository (it doesn’t even depend on libc, except for the net / http stack), the same for ideas and concepts. It is a pleasure to work with gome development tools in the acme environment, they were designed in the same tradition by some authors. acme and Plan9 as a whole are inspiring evidence of the viability of simple and clear approaches to the case when it overcomes “well, when Go is attached to a generic and why it does not overtake the JVM”. And Go has the most complete implementation of the 9P protocol.