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.
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.
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.
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.
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:
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:
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.
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 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).
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.
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'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.
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.
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.
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.
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.
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.
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
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.
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, 👌
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.
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.
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 [email protected] /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
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.
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".
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.
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.
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).
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 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.
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 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.