Ask HN: Looking for a Programable Text Editor
11 comments
Acme: http://acme.cat-v.org/
It can do everything Emacs can but it's so lightweight it almost doesn't exist. Its power comes from the fact that it brings your external tools together.
It can be programmed using its filesystem (9p) interface, and extended by adding plumber(4) rules.
A demo by Russ Cox: https://youtu.be/dP1xVpMPn8M
It can be programmed using its filesystem (9p) interface, and extended by adding plumber(4) rules.
A demo by Russ Cox: https://youtu.be/dP1xVpMPn8M
emacs is socialist and bad, Neovim is social democrat and good
emacs is the programmable text editor
Because of the steep learning curve and troubleshooting associated with it, I've become more hesitant in recommending Emacs. However for the curious, the video Getting Started in Org Mode [1] which is a great demonstration on Emacs and Org Mode's potential as an organizational tool. Anyone still curious and would like to smooth out the learning curve, I'd recommend using an emacs starter kit such as Doom Emacs [2] which has a lot of OOB functionality without having to immediately learn Elisp.
[1] https://www.youtube.com/watch?v=SzA2YODtgK4
[2] https://github.com/doomemacs/doomemacs
[1] https://www.youtube.com/watch?v=SzA2YODtgK4
[2] https://github.com/doomemacs/doomemacs
It is daunting, but no more than say, a Visual Studio IDE, or learning how to use Microsoft Office (Word and Excel can be complicated as hell).
Starting with Doom Emacs would go a long way, and was what really helped me get started. Of course, it helped that I was familiar with Vim.
Starting with Doom Emacs would go a long way, and was what really helped me get started. Of course, it helped that I was familiar with Vim.
Neovim with Lua should do the trick.
Since vom and emacs were already proposed, there is a third classic in this round: Shell programming. Typically you have $EDITOR env set (to something like nano, vim, emacs, gedit, kwrite, etc) and then can include it in your script as in
echo stuff >> worklog
$EDITOR worklog && mailto someone
etcIf you want to handle `$EDITOR` not being set, at least in bash, you can use one of it's parameter expansion features:
${EDITOR:-vim}
Will use vim if `$EDITOR` is unset.Emacs, Vim, a UNIX shell
Just to echo a few comments, I'd use Emacs for this.
For time based events, you have the `run-at-time` function.
For snippets, I'd look at YASnippet[0] as they're really easy to create and you're granted a significant amount of control. Nothing you wrote sounds outside the scope of what it can provide.
On save is easy, just use `after-save-hook`. Emails is easy, too, though you will need SMTP or something.
Followup email may require custom code however Emacs 29 has SQLite support so you may be able to utilise that?
0: https://joaotavora.github.io/yasnippet/
For time based events, you have the `run-at-time` function.
For snippets, I'd look at YASnippet[0] as they're really easy to create and you're granted a significant amount of control. Nothing you wrote sounds outside the scope of what it can provide.
On save is easy, just use `after-save-hook`. Emails is easy, too, though you will need SMTP or something.
Followup email may require custom code however Emacs 29 has SQLite support so you may be able to utilise that?
0: https://joaotavora.github.io/yasnippet/
Could probably write VS Code extenions that do all this for you.
Imagine this scenario:
This is just an example but could go very far I imagine.