emacs ofc. I'm sure there's an emacs implementation of heaven
post
Emacs is real whether you like it or not.
(Also I go past one of these billboards about once a week, and I've always been so curious about how many calls they get. Or what they say when you call. I should get a Google voice number and check it out.)
vim for the win!
Just give me nano, I can't be bothered to fuck with emacs or vim.
use micro, it's 1000x better
Thanks, I'll check it out
Edit: did I just fall for an si prefix joke?
The SI prefix thing stems from a joke anyway. Allow me to trot out the etymology again:
Once upon a time in the 1980s, there was created a program for reading ELectronic Mail called Elm.
Someone created a rival mail reader called Pine, which followed both the tree pun as well as the fact it was a recursive acronym: "Pine is not Elm".
Pine had an editor called the Pine Composer or Pico for short. Pico is both a typographical term as well as an SI unit. They may have been going for both. Too perfect a pun to pass up, perhaps.
Due to licensing uncertainty, someone else created a from-scratch clone of Pico called Nano, cementing the continuation of puns, but in the SI direction.
And then apparently someone else has decided to get on the bandwagon with Micro.
There's a similar trend in the emulator world, it's great. Usually a result of forks though: https://emulation.gametechwiki.com/index.php/Main_Page
At the risk of invoking the ire of two communities, why shouldn't we think of Micro as Emacs but with Lua instead of Lisp?
I don't know how Micro works, and I don't actually use emacs day to day, but as I understand it emacs works a bit like:
- When you press a key in emacs it invokes a Lisp function that takes as arguments the text buffer that has focus, the parameters of the 'window' into that buffer, and the cursor position in that window.
- This is the case for any key you press in any context, even for typing normal letters.
- A 'mode' in emacs is a set of bindings which associate specific keys with specific functions.
- 'modes' can be stacked on top of each other, with higher modes being able to intercept key presses before they reach lower modes, and changes / manipulate lower modes (I think?)
- All of the editor's functionality, such as 'search' or 'undo', is implemented in that way.
- All of this is completely customizable, so pressing a key combo can be made to do virtually anything or manipulate the rest of the editor's systems in any way.
Does Micro work anything like that?
A βmodeβ in emacs is a set of bindings which associate specific keys with specific functions.
Not quite, a mode is basically a lisp function defined with a different macro that integrates it into the various systems (like showing up in the modeline when active). It can do basically anything, including setting keybinds.
βmodesβ can be stacked on top of each other, with higher modes being able to intercept key presses before they reach lower modes, and changes / manipulate lower modes (I think?)
No, a keybind can only run one function and what that function is is whatever last defined a binding for that key. Like, if one mode defines a key to be something and you activate another that also binds that key, the latter takes over.
Emacs does have something like you describe, where functions can be 'advised'.
On one hand autocompletion is nice when I want to use a language instead of learning it.
On the other hand I am in the middle of my learning phase.
I'll try emacs as soon as I find something that isn't already perfect with vi
Well surely vi could be improved, otherwise we wouldn't have vim?
Then the question becomes, "did neovim go to far?" :D
Some unspecified promises of confort later, or freedom now and forever? Of course I do not go anywhere but remain at that holly Gnu Emacs !
Microsoft Word over wine.
Though I prefer to use it OOTB, no change settins, makes setup easier. I use a script to remove formatting.
What the hell is an EMACS?
If you want a short answers it is a text editor. If you want the long answer i might not be the best person for it but here it goes: You start using it as a text editor but it is a bottomless pit of freedom and practicality, where you put 100s of keyboard shortcuts into muscles memory, and one day you will find your self replacing your terminal with emacs. Then you forgot that GUIs exist all together. You will feel an urge to make fun of vim users. Somewhere along the way you'll start waching videos of Stallman, and form a desire to overthrow the proprietary overlords. Turn back now! ;)
saw someone unironically use vim the other day. i thought people actually using vim was a joke.
Been using it for all of my software development for the last 10 years. It's fantastic.
It's my go to editor wherever possible.
Learn the keybindings, play a few vim games and install an opinionated suite of plugins like lazyvim.
Before you know it, you too will curse every other editor in existence which doesn't at least offer vim keybindings π
the problem with custom keybindings i have is i work on a lot of different machines (i used 3 different desktop computers yesterday) and keybindings presumably only work on my machine.
That's why vim is so great: it has a ton of power built right into it without customizations, and it's already installed on basically any unix-like system. Unlike, say, vscode, it can do a ton of stuff out of the box without any plugins at all.
Just push your settings to a public github repo or gist and you can wget them. Hell, if you have a domain just setup an easy-to-remember page that redirects to the github link β¦ domain.com/configs. There are so many options for handling this situation.
bro how do you comfortably use $, ^ and 0 for navigation??
It's simply muscle memory. You think of the action and your fingers do it faster than you can consciously think of where they need to go. But I also use a split ergonomic keyboard (the Iris) and have symbols accessible from home row behind a layer. Though I can switch to a standard keyboard as needed too.
oh that's cool, how do you do home row modifiers like that?
do you use that for normal typing as well or is it just for symbols?
A lot of mechanical keyboards these days are programmable using QMK Firmware. I actually use https://www.caniusevia.com/ instead though, which uses (a subset of) QMK under the hood but allows programming the keyboard via a Web app on the fly.
For my layout, I have the standard QWERTY layout for the unmodified layer (layer 0, holding no keys). Then I can hold down a thumb key for switching to a different layer, which has things like symbols, F1-F12, Home, End, etc. The layout I use isn't too far off the default Iris layout, just a few tweaks here and there (like one that allows me to hold a key for control, or tap that key for escape).
Iβve long wanted a keyboard like that as someone who just writes code all day everyday. But my fear is that Iβll get stuck on a regular keyboard, like when Iβm traveling, and just be completely helpless having forgotten how to type normally.
It's not as big of a deal as you might think. You still have a lot of your muscle memory from regular keyboards. It might take a little while to adjust when switching between the two, but it's not that bad.
If you switch between the two enough, you can actually type on both equally well.
I have a swedish keyboard because I am swedish, we have three extra letters compared to the english alphabet. Which means that the standard swedish keyboard layout had to tuck away some symbols into very awkward places using AltGr to type. Programming and using Vim is a bad experience with a swedish keyboard imho.
Much easier than pressing arrow keys like a maniac π
hrhm are the vim games in the editor itself?? hrrhhm ,':) ',:) ,':)
Didn't know John mentioned a telephone number. Learning new things every day.
Hell doesn't change, but which is Heaven now? "There are more editors in Heaven and Earth, Horatio, than are dreamt of in your philosophy." vim is ΓΎe old stand-by, and is still a king among editors, but now we have Helix, Kakoune, and even a resurgence of interest in ed and edline. You can't swing a teddy bear wiΓΎout hitting a new editor, half of ΓΎem written in Rust, ΓΎe rest in a grab bag of Go, zig, V, or Nim. And ΓΎat's just ΓΎe TUIs.
Hell... Hell is for hell... Hell is for hell... Hell is for emacs.
By chance, do you know why neovim feels ten times more smooth in a TTY than in a graphic environment?
vi > vim
the "improvements" make the program worse.
Everyone would live edit in nano if they weren't cowards
oh but it doesn't have macros
You will use your $1000 keyboard and you will like it
top 87 comments