Ask HN: What is a good scriptable text editor
I'm looking for a good text editor that has a simple and quick scripting capability. I work a lot with text sometimes so I'll write some one off scripts sometimes to edit big files, but other files I'll use Sublime Text to do some manipulations. The problem is that it's API is somewhat restrictive, like if I want a custom input without going in the command prompt then I lose access to the region that I selected. I also have been using Visual Studio Code, but it looks to be a big effort to actually write a small plugin needing stuff like NPM and non-trivial config files. If anyone has any suggestions I would love to hear them.
For context I use Linux.
17 comments
[ 3.6 ms ] story [ 27.1 ms ] threadJust picture this: You want to delete one line in your file. With Vim you just press 'dd' (that's 'd' two times). Not impressive, right? But what if you wanted to delete 27 lines? Are you going to select them with your mouse while counting? You might prefer to type '27' and then 'dd'. Done.
Do you want to jump to line 2135? type :2135 and press enter. What if I want to find a string? /string. Oh, and then I could just press 'n' for the next occurrence.
I needed years to only grasp a few Vim tricks, but every single one of them is almost mind blowing. I've only find Sublime Text to be a rival, for other reasons (multiple cursors are ideal to trim log files 100x faster while troubleshooting).
On the Emacs versus Vim, Emacs is fatter with features by design. Vim is designed to be lighter weight so it can ship on memory constrained systems by default. The Emacs community tends to have a more substantial interest in scripting and customization and one of its features is built in tooling for writing scripts, e.g. the eLisp REPL.
Good luck.
Everybody needs to give a live-action language like Smalltalk or lisp a try at least once.
Vim and Emacs have neither of these things. They both pose a long and difficult barrier to entry.
However it sounds like you aren't looking for simple and quick. If you are running into limitations on your current editor, then it's time to swallow the pill and dive into one of the behemoths.
I don't know of any text editor that is guaranteed to have less limitations than Sublime Text, but also has a "simple and quick scripting capability".
I would recommend Vim as it's main focus is as a text editor. Emacs tries to do everything, Vim just tries to edit text. Emacs also has a mode that enables Vim key bindings, so if you choose Emacs later, you won't have to start from scratch.
Lastly, Emacs uses a dialect of Lisp for customization. Vim has it's own made up language. So this may be a reason to choose Emacs over Vim.
I'm currently developing a native editor in JavaScript (using chromium) where it's very easy to write a "plug-in" in JavaScript.