What less popular text editors do you like or should have a shout out more often? What stuff do you do with it?

InternetCitizen2@lemmy.world to Linux@lemmy.ml – 130 points –
136

Micro - not quite as fancy as Helix but it’s a static binary, bells and whistles included, and ready to go without config. If you’re still using nano/pico, micro is a nice step up in functionality without the complexity of vim et al.

Multiple cursors, splits and tabs, mouse support, syntax highlighting, keyboard shortcuts that are more noob-friendly / familiar, it’s great.

I don't know why Micro hasn't completely replaced Nano in the Linux world.
Wait, yes I do.
Despite believing it to be better in every way, my dumb fingers keep automatically reaching for the Nano keyboard shortcuts.

You know what the key combo is to copy a selection of text in Micro?
Ctrl C, why would it ever be anything else?
You know what the key combo is to copy a selection of text in Nano?
Fucking shift, alt, 6.
6!!

And then Ctrl U to paste. I hate that I'm used to that.

Never heard of that key combo in nano before, I've always used ctrl-K (which actually cuts, then I have to paste it back again if I want to leave that text in place).

[Edit] Looks like you only need to hit alt-6, not shift-alt-6, to copy a full line or whatever text has been highlighted.

Huh, I wonder where I got the shift from. Still kinda bonkers though.

Only thing missing is code block folding and unfolding functionality

Helix. A perfect programmer's editor you can use with almost no config.

Interesting. Have you spent any time with neovim? If so, I'm curious how they compare. I was just starting to investigate the nvim ecosystem, but it's quite daunting. Still, I like the idea of everything being open source, and using plugins to augment my workflow.

Helix was inspired by neovim. Though mostly the inbuilt LSP/tree sitter support. Its keybindings are a mix between what neovim has and kakoune, though closer to kakoune I think. The major advantage IMO that helix has over neovim is built in support for most things you need plugins for in neovim as well as sane defaults out the box. You don't need 10s of plugins and 100s of lines of config to get helix to work like a modern editor - it just does out the box. All you need to do is install the LSP server for the languages you are interested in and launch helix.

The major downside ATM is it has no plugin support at all. Which is not as bad as it sounds as it includes so much out the box that you would typically require plugins for in neovim. They are working on plugin support though so it is only a matter of time for this to be fixed. Currently I don't feel the need for any plugins when using it so IMO it is not a deal breaker for me or my workflow. But the need to manage large configs and sets of plugins had already become too cumbersome in neovim for my liking.

I thought lack of plugins was going to be a deal breaker and now I’m kind of on the “do we really need plugins at all” side.

Helix out of the box is really nice.

There are already good answers to this, so I just add that yes, I've used vim/neovim for about 20 years before starting to use helix. I'm very familiar with the editor.

I used vi and then neovim for about 20 years (like the other @pimeys). I switched to kakoune first because nvim's plugins were a mess and the LSP integration was unreliable. With all the plugins needed to get a decent dev editor, startup was starting to get slow. Kakoune had multi-select. But mainly, I switched because one necessary plugin (I think it was the LSP one) insisted on starting a nodejs server. Plugins were written in whatever, and running nvim meant spawning Ruby, Python, NodeJS, and whatever else processes; I switched because the nvim ecosystem was getting as bloated as EMACS.

I bounced from Kakoune to Helix after a couple of years, because Kakoune relies heavily on chording, and modality (pressing a key to get into a mode to do something or some things) is superficial; Helix makes much greater use of modes, often nested, and feels much more faithful to the vi philosophy to me. Also, Tree-Sitter is a disruptive technology.

Why is Tree-Sitter a disruptive technology?

Because, while many people are unaware of it or have beard of it but don't know what it does, it's a novel, well-executed, reusable solution that is incredible at what it does. Ot's disruptive in the sense that I believe it's changing how programs that need to parse code are written, and they'll become faster to write, faster to execute, and better for it.

Not big-D disruptive, as in changing the face of computer science, but little-D, as in having a quiet but disproportionate impact on a lot of software.

Oh, I thought disruptive is a negative adjective. Translator translates it to my language as a negative adjective.

Your translator is right! The word does have negative connotations, in that the status quo is being disrupted. In the context of technology, it loses that connotation. It can mean something good, but not necessarily. Google was disruptive; was it for better, or worse? Tesla was too, but in the end, probably for the better. I'd argue that e-bikes are disruptive in the US, as they're getting huge numbers of Americans who otherwise wouldn't out of their cars for small trips.

I agree. I think the fact that it’s built around multi cursor edition and a selection -> action paradigm as opposed to vim’s action -> selection is going to become the norm slowly and surely.

ay, I was going to say that. Use it on all my boxes as a vi replacement.

Helix

I'd describe it as "NeoVim for people who don't want to spend time configuring it". It has syntax highlighting (for pretty much any language you can think of) and LSP support out of the box. And the config file is just a TOML file. Here's my current config for example:

theme = "monokai_pro_spectrum"

[editor]
line-number = "relative"
middle-click-paste = false

[editor.statusline]
mode.normal = "NORMAL"
mode.insert = "INSERT"
mode.select = "SELECT"

That's it. No need to deal with Lua or VimScript

Also using commands after typing the : is easier than in NeoVim since Helix will show you a list of available commands and a description of the closest match (or the one you choose from the list with the tab key). It looks like this: Screenshot of Helix

I use Helix for quickly editing files and coding

Same, I switched to helix about a year ago, and do all my coding (except for android because of they don't make it easy to not use android studio).

I was on vim for decades, but helix is finally the one that's powerful enough to make me switch.

You can also use Intellij Ultimate, the only big missing features are project config if you have mismatched versions of Gradle/AGP/Kotlin as well as the profiler.

Another vote for hx!

Getting a productive setup for Python work is a matter of a few extra lines of TOML. The pre-release version on master also allows for multiple LSPs per language, which means I can combine pyright with ruff.

The modal key chords are verb-object instead of object-verb. It’s not a main selling point to me. However, you get multi-cursors out of the box, which I’ve always found simpler than e.g. macros. In general, keybindings are discoverable. I learn something new every week.

All in all, despite a few rough edges, it’s a nice alternative to needing to get a PhD in neovim configuration to get anywhere remotely near the cool setups other people are rocking.

I really like Helix! When the plugin system comes it will be great, because it's definitely missing some key features

Kate. Its such a brilliant foundation.

I currently have no idea of how to do it but in theory you can add any languages autocomplete, as well as huge libraries of auto-text (like in VSCode, templates for code stuff).

And its fast, unlike stupid electron VSCodium

Yes! It is beautiful and easy to work with, very much my tool of choice for coding.

I'm a new Kate convert. I had some issue on my system where GTK apps would break under Nvidia, something to do with font rendering. I tried Kate and was like "cool it works" and then I discovered how amazing and lightweight it is. Great editor.

It really is amazingly fast but also so extensible!

Kate is my togo. With a terminal panel and latex->Unicode plugin is perfect for julia. I don't need it, but you can also set up its LSP client.

I also like Kate. I use it for Python, Html/css and some other stuff. I really like it since it's light and fast but full of features. Also integrates well with my desktop.

I use Pulsar for working on my many JavaScript projects. It's a FOSS, community-maintained replacement for the canceled Atom text editor.

https://github.com/pulsar-edit/pulsar

Oh this is awesome! I really missed Atom and VSC just isn't the same.

Thank you for sharing!

Glad you found us at least :) Those were the exact reasons we wanted to keep it alive, I tried but I just can't get used to VSC having used Atom for so long.

I've been using Lapce for a bit and it's pretty cool, like VSCode but written in Rust. It's actually so much faster, like you press a key and there's instantly autocomplete suggestions and error warnings, so it feels a lot more responsive than VSCode. It also opens faster. There's still a couple weird things and missing functionality though because it's early in development so I'll probably go back to VSCode for now.

Idk if it counts as less popular, but I always thought Sublime got too much flak. The popups are annoying, but other than that it's a great editor imo. It doesn't have the bells and whistles of something like VSCode or a full IDE, but that's also why I like it, it's much more snappy and lightweight. And you can still get things like LSP working so for me at least it gives me everything I look for in an editor. I even decided to pay for a license a few years back, considering I make my salary with this thing the cost is negligible.

The original "ed" text editor, from 1969 Unix. Everyone should spend a few days trying to get some work done with it, if only to appreciate how we have nicer things now.

It is lovely on embedded devices. I sometimes bring it out for fun on my main PC instead of vim too haha

Another nice thing about ed is that it is sometimes easier to use than sed when you want to edit a file programmatically, since you can navigate lines at random (forward and backward directions), and you can still run regex find/replace like with sed. Just

printf 'i\nstring of ed commands\n.\n' | ed file-to-edit.txt

and pipe the commands into ed, although it is really an esoteric way to write scripts.

Geany. A real sleak, flexible and powerful editor.

You can use it to edit multiple lines simultaneously, perform extensive search/replace operations, etc.

It has plugins that can transform it from a humble notepad to a full IDE with code versioning support.

It often saves me from having to muck about with sed or awk in some tasks.

I came here to say geany. I love the speed, simplicity and power. Use it every day for coding and other text things.

Before I got around to learning vi, I spent a few years using joe, which seems to have fallen out of active development (the last release was in 2018). It's a terminal-based editor that bears some resemblance to old DOS editors.

https://joe-editor.sourceforge.io/

I love Joe. And even though its last update was a while ago, it’s still my preferred editor.

I use joe regularly for in-terminal editing. It's easy, lightweight and very helpful, unlike vi...

I'd argue that vi/vim is fairly light depending on how you're using it. I don't use any plug-ins and I much prefer it over GUI programs other than in exceptional circumstances

Ed Is The Standard Text Editor

I'm not saying it doesn't get a lot of shout outs, but it could always do with one more. I think the last time I used it was to automate the editing of config files on some antiquated telephony system by piping ed commands through netcat. There remains a chance that I might live long enough to find some excuse to use it again.

Using Ed on an old Unix system feels like talking about WW2 with a veteran in a home except we both have shellshock.

Ed Is The Standard Text Editor

ed, ex, and vi are all standard, required text editors in the Single Unix Specification.

I'll give you six that I haven't seen mentioned yet:

I am trying to help with vis and it is a lot of fun to use. Aside from things where I really need neovim (because of large plugins), I use vis every day. Sam and ACME (and whole Plan9 for that matter) have the biggest problem with being too GUI oriented. They are from times when we discovered a mouse and then decided we need to use it for everything. Thirty years down the line we know better: we don’t.

I think you mean st instead of dmenu here

...no, I definitely meant dmenu. sandy has keybindings that bring up (by default) various dmenu prompts as a substitute for the usual "command mode".

: or M-x to bring up a command prompt, C-\ for a "pipe to" prompt, M-\ for a sed prompt... you get the idea.

st is just the suckless terminal emulator; sandy can be run from any terminal emulator.

I like xed for coding. Simple, costumisable enough, great experience.

I use it too, since I'm on Linux Mint. But only for simple stuff. I dont use it for anything more involved than simple bash scripts. Xed is nice, just wish it as a little more powerful

Kwrite. I write a lot of text at work and I hate using word processors. I use this app for its excellent autocomplete feature. You type a word once and for next instances you can use tab to auto-complete. Very convenient.

I work mostly with Vim but when some task is easier with a GUI, Kwrite is the best. It's so quick, even with a lot of text. And that preview scroll bar they added recently, 👌

I thought KWrite was a dumbed down version of Kate?

Pretty much, but they've been the same executable for a while now.

I am a huge Vim nerd, but I do a lot of copy-paste with one-off minor formatting in between. Sometimes Vim is more efficient at this, but often it really isn't and I'm quicker to use a dumb Notepad-like.

I've previously used Gedit in Gnome 2, Pluma which is MATE's equivalent, Xed which is Linux Mint's equivalent, and currently on Mousepad which is XFCE's equivalent. That's also mostly the history of my desktop environments over the last two decades.

I've been looking for a long time for a good alternative to sublime text.

however it's not really a text editor, it's more like a full IDE at this point, I really like lapce, it does have some bugs, but it's really lightweight and fast, and I like the UI a lot

I think Zed looks really promising in that regard, although it's only on MacOS so far (but other OSes will come). It feels like sublime text, but with modern LSP, vim emulation and collaboration features built in.

it does seem neat, but also a bit overkill for what I want

Not perfectly sure what you mean. I found Zed to be not any less simple than Sublime+LSP+Terminus. Mind elaborating?

I dont need nor want an LSP, the collaboration features or any of that. just nice and simple, for all that other stuff i have the full de like lapce or vscode

I frequently use Howl

Distraction free, command autocompletion, Vim-like control is optional. I learned most of the commands by just opening the mini buffer (alt-x) then tab to watch the autocompletion list.

I like the idea of Howl, its just a shame that interest and development seem to have dried up. The use of Moonscript might put people off rather than just using Lua.

A terminal editor named Nice Editor (ne). It just makes sense. Ctrl+s saves, Ctrl+q quits. It's a suped up nano with sensible keyboard shortcuts.

But those keybindings usually control flow...

Yeah, OP, this sounds nice but what terminal are you using that doesn't capture Ctrl+S and Ctrl-Q?

  • Helix for terminal editing because I never got on well with the order you had to do things in Vim, Helix (and Kakoune) make more sense to me.
  • Lite-XL for a lightweight GUI editor. I just think its neat.
  • Pulsar for everything else (mainly because I'm involved with it, come visit us on Lemmy at !pulsaredit@lemmy.ml /shill). Literally over 10k packages for install and an awful lot of active development.

Edit: Using this to give a shout out to other projects I've come across on my travels:

  • Brackets/Phoenix - A community effort to keep the abandoned Adobe Brackets editor going, has a web version now, linux version still in the works after Adobe removed support for it.
  • CudaText - Pretty fast and supports a huge number of languages
  • eCode - Not used it in a while but is part of the eeep GUI project, lightweight and pretty interesting with lots of active development on both eCode and eeep.
  • Bitters - Very much an oddball here, inspired by the Canon CAT word processor/computer from the 80s with a really interesting "leaping" way of navigating text.
  • Aura Text - Interesting little editor written in Python

And some terminal ones:

  • Zee - an emacs-like editor written in Rust. Main repo seems to be dead but one of the Lapce devs is working on a fork of it - https://git.panekj.dev/pj/zee
  • Amp - another Rust based editor with some interesting ways to navigate text
  • dte - Just a nice terminal editor
  • moe - Vim-like editor written in Nim (not to be confused with GNU Moe)
  • Feather - Specifically for opening huge files
  • Tilde - Curses type interface, can be used with a mouse in some terminals

As someone who studied radio astronomy, thanks for telling me about Pulsar.

I've been wanting to get more and more thematic with naming things but my efforts haven't come to fruit just yet. Like we have "regular" and "rolling" releases but those are boring (although descriptive), I was proprosing something like Nebula and Quasar, you know, something that ties in with the space name.

Pulsar looked really nice until I realised it's just another electron app. But will probably give lite-xl a try

It absolutely isn't "another electron app" in that sense. Atom (and now Pulsar) literally invented Electron, it is the original Electron app to the point where even thinking about de-coupling it isn't really possible. Electron literally used to be called "Atom-shell".

pretty sure pulsar is a fork of atom, one of the og electron packages

It is indeed, we picked up where Atom left off. And yeah, not just "one of" but the og electron app.

Linux people seem to be obsessed with text editors. If I'm on windows I use notepad and on linux I use Kate or whatever the default is. What am I missing out on by not trying out different editors?

Linux users are more likely to be programmers and even if they aren't they often edit dotfiles (configuration) or write simple scripts to automate workflow. I also think Linux users just have a tendency to shop around until they settle on a favorite piece of software, even distro hopping is quite common.

Notepad is reeeally barebones, and that can be a good thing.

Check out Notepad++ if you ever need to work with text data more than just skimming a README file. You will see what these people mean.

Nothing really. Kate does a lot of stuff. If you’re not a software developer, it doesn’t really matter. Different text editors have differing levels of support for various programming languages and some people like all the key bindings so they don’t have to take their hands off the mouse.

But if you’re just editing plain text and you’re not a keyboard only kind of user, it doesn’t really matter.

What am I missing out on by not trying out different editors?

Linux and Unix systems have historically always been designed to be easily configured and controlled with human-readable text files. Most apps you use on Linux can be scripted. So the better you get at using every-day Linux/Unix apps, the more you might want to tweak them to make it easier for you to use. To do this, you need to learn a little bit about how to write configuration files, and how to write simple scripts. This also helps you to automate things on your computer more easily, since all applications can talk to all other applications using a human-readable programming language. For managing all of this, a good editor is extremely helpful.

When you take things to the extreme, you can start using Emacs, which contains an entire Lisp programming environment for manipulating text. You can replace all of your configuration and scripts with a single programming language (Emacs Lisp). And Emacs can replace almost every single app on your computer where text is involved, from simple scripting and configuration all the way up to web browsing, chat, and email.

I'm probably one of those weirdos who use VSCode, Kate, Nano, and sometimes KWrite all in their different niches.

I do most of my programming work in VSCode, but most of my shell scripting in Kate. When I edit configuration files, I'm usually using the command line and thus use Nano (sorry, I'm too stupid to use either Emacs nor Vim, let alone Vi). When I'm just looking at text files (or doing a quick edit) via my file manager, I use KWrite. With the exception of VSCode, they're all provided in my installation by default.

Having said that, trying out different editors will enable you to pick the editor that better fits your requirements. Kate is too powerful for what I use it for, but since it's already there, the additional features are nice to have. I actually had to explore a bit before I‌ settled on VSCode for my programming work, and while there's probably one that better fits my needs, my workflow has already adapted to working with what I currently have.

I'm much the same, but with micro

This one, right?‌ https://micro-editor.github.io/

Reading about it, it's to Kate what is Nano is to... hm.. Notepad? 😅 Just looking at the screenshots, I could easily confuse it with something like VSCode.

I never understood why people liked Notepad++ so much. I always just used Notepad for simple text file editing and quick notes so I didn't see the point.

But I recently switched to POP!_OS and the text editor has lots of features Notepad doesn't have (such as line numbers, indentation, and I can select the (programming) language I am writing the document in) and I found myself really liking these features.

Np++ has tabs, plus it autosaves so it can pull out old unsaved text upon reopening. Plus, it has syntaxes highlighting based on the selected coding language. And all the plug-ins for extra functionality.

Notepad is simple no frills for basic text, but np++ is great for coding (it can sometimes be even better than IDLE for Python coding).

Yeah, I now realise it could be very useful! I think Notepad in Windows 11 has tabs now but it's still super barebones.

Yeah, I use Kate for everything from quick notes to coding. Or nano. They are simple 🤷

Nothing, it's mostly just weird people being obsessed with not using anything with a gui.

Edwin

Edwin an Emacs-like editor programmed by some of the guys who maintain the MIT-Scheme programming language, which is (I think) the original implementation of the Scheme programming language developed by Gerald J. Sussman and Guy Steele (or a predecessor of it). To this day, MIT-Scheme continues to be one of the fastest Scheme implementations, producing extremely efficient binaries for a high-level language.

It is Emacs-like in nature, except instead of scripting it in Emacs Lisp, you use Scheme. Unlike Emacs, there are very few extensions available for it, so no Org-Mode, no Magit, no nice themes. The GUI version of it is so antiquated, it uses its own widget toolkit that is similar to the Athena Widget Toolkit.

Although I use Emacs for everything, I still love Edwin just because I like Scheme as a language better than Emacs Lisp. I wish I had more free time, I would like to help modernize Edwin. Although at this point it would probably easier to write a whole new Emacs-like editor using Guile Scheme instead, since there is a very active user community around Guile Scheme, especially among the Guix OS clique.

I like gedit. I like one or two of the built in themes. You can select a format on the bottom right (json, for example) and it'll highlight and change the color if certain things.

  • vis
    vim/nvim was bloated 4 my use case, but ví wasn't enough. I like minimal and suck less.

I especially like the nice and simple Lua API, multiple selections and structural regex.

For anyone in need of a more featureful but still hackable editor can extend the minimal editor with existing LUA plugins for extra functionality (LSP, spellchecking, plugin management, ...).

Haven't seen anyone mention the Zed Text Editor yet. It's only available on MacOS as of now, but I've tried it out a bit and once it's more mature (and available on other OSes), I might switch over from Sublime Text. It's got a similar speed as Sublime, but with LSP, vim emulation and collaboration features built in, whereas in Sublime I need to install packages to achieve the same. Also made by the same people who originally made Atom and Treesitter.

I also want to mention Onivim. Unfortunately, development has stopped, so it's not really a viable option anymore, but I loved the idea. The idea was to make a vscode/vim hybrid. To that extend, it's written in Reason which allowed them to support vscode extensions, thus they didn't have to create their own extension ecosystem, while still being faster than electron. As for the vim part, the entire editor could be controlled with a keyboard. They had a global shortcut to go into a "UI move mode" so to say, which allowed you to go to every single piece of UI you had on screen. Thus they were able to copy the vscode UI, but still be keyboard-only. It was a surprisingly effective idea, so I hope some people can revive it someday.

I wish gnome-builder had a better vim-mode, I would use it more often over VSCode.

Linux:

  • Kate
  • Xed

Windows:

  • Kate
  • Notepad
  • Notepad++

Notepad

.................

Lmao.

I hardly use Windows (I use Arch btw), so Notepad isn't that big of an issue.

I don't understand. Is the default text editor on Arch (btw) worse than Notepad? O_O

Nah, im just playing around with you. I don't use Arch btw... I use Kde Neon. Anyway, what I was trying to say is that I hardly ever use Windows, so as a result I barely use Notepad. Nothing wrong with Notepad... its just basic compared to Kate or xed.

1 more...
1 more...
1 more...

For terminal; micro is nano but sane and easier to use.

For GUI; Kate is so incredible at any task I need. Note taking, to scripting, to planning out a small post online, it does the work easily.

I'm using ed for small edits when I know exactly that only a certain line needs to be deleted, or a word changed.

Kate/KWrite on KDE, Xed on any GTK DE, and micro for the terminal.