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.
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.
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.
(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.)
Esc :q for closing if you didn’t modify anything, :!q for closing and discarding any changes you made and:wq for closing and writing the changes to the file.
Ctrl-C absolutely should not exit. There's plenty of times you want it in vim to interrupt something in the editor.
As others have said, it's on the screen if you open vim without a file. Otherwise, it's a tool for people that bother to learn how to use it. As someone who has been using it daily for the last 10 years, I would find it incredibly obnoxious to have a bunch of useless screen clutter telling me basic things that are easily learned.
If you had read the other rssponse about basically the same thing you would know that the last time when I accidentally went into vim it didn't show it for me and infact it probably was vim-tiny. I am sorry for sounding condesending.
It's a tool with a medium-high skill floor and incredibly high skill ceiling. It rewards investment and is something that is able to accommodate one's growth in skills rather than holding them back with limitations like typical editors do. Its built-in scripting is a big part of that and is something that really sets it apart from editors like vscode. And it's much, much faster and lighter weight/less memory-intensive than other editors.
Here here. vim with syntax highlighting on an 80x20 tty with monospace font... I don't know If I'm more productive than the next guy, and I don't care. This is my happy place.
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.
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.
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.
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.
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).
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.
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! ;)
Actually, one of the reasons that vim "won" over many of the other vi-like editor clones back in the day is that it tried to behave like vi as closely as possible, whereas many of the others didn't.
111 Comments
eager_eagle@lemmy.world · 78 pts · 287d
emacs ofc. I'm sure there's an emacs implementation of heaven
leo85811nardo@lemmy.world · 41 pts · 287d
More like heaven implementation within emacs, so you don't even leave emacs in your second life
NaibofTabr@infosec.pub · 16 pts · 287d
There are definitely at least 9 circles of emacs filled with tormented souls.
sepi@piefed.social · 3 pts · 287d
They only know vi and don't know about evil mode.
eager_eagle@lemmy.world · 15 pts · 287d
that's what I mean
This2ShallPass@lemmy.world · 5 pts · 287d
M-x god-mode?
morrowind@lemmy.ml · 2 pts · 287d
Counterpoint, heaven probably has lots of Emacs
cnlwhs@lemmy.blahaj.zone · 1 pts · 264d
heaven.elAssassassin@lemmy.dbzer0.com · 42 pts · 287d
Just give me nano, I can't be bothered to fuck with emacs or vim.
eager_eagle@lemmy.world · 29 pts · 287d
use micro, it's 1000x better
Assassassin@lemmy.dbzer0.com · 32 pts · 287d
Thanks, I'll check it out
Edit: did I just fall for an si prefix joke?
palordrolap@fedia.io · 38 pts · 287d
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.
Truscape@lemmy.blahaj.zone · 5 pts · 287d
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
eager_eagle@lemmy.world · 17 pts · 287d
It's a joke, but it's a real editor
callyral@pawb.social · 4 pts · 287d
yes, but actually no
palordrolap@fedia.io · 6 pts · 287d
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?
drosophila@lemmy.blahaj.zone · 3 pts · 287d
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:
Does Micro work anything like that?
flamingos@feddit.uk · 3 pts · 287d
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.
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'.
drosophila@lemmy.blahaj.zone · 1 pts · 287d
I see
moseschrute@lemmy.world · 1 pts · 287d
DmMacniel@feddit.org · 5 pts · 287d
One thing that irks me a lot is that you save in nano with ^O why!? How does O relates to saving?
b34k@lemmy.world · 5 pts · 287d
I want push my updates from volatile memory out to long term storage.
I always saw the O as output.
cepelinas@sopuli.xyz · 4 pts · 287d
I just save ny exiting ctrl+x
FalschgeldFurkan@lemmy.world · 3 pts · 287d
It makes the previous version obsolete
Assassassin@lemmy.dbzer0.com · 1 pts · 287d
Yeah, that is probably my biggest gripe with nano as well.
Jankatarch@lemmy.world · 3 pts · 287d
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.
tuckerm@feddit.online · 23 pts · 287d
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.)
paranoid@lemmy.world · 23 pts · 287d
vim for the win!
Strider@lemmy.world · 5 pts · 287d
Vim missing in the picture is insulting
lmmarsano@lemmynsfw.com · 5 pts · 287d
Nope:
edlike in the picture.GissaMittJobb@lemmy.ml · 19 pts · 287d
Ed is the standard text editor
halvar@lemy.lol · 13 pts · 287d
ed(1) is the standard text editor.
kittenzrulz123@lemmy.blahaj.zone · 18 pts · 287d
Im going to vim heaven :3
Dialectical_Specialist@quokk.au · 13 pts · 287d
I'll try emacs as soon as I find something that isn't already perfect with vi
Dave@lemmy.nz · 13 pts · 287d
Well surely vi could be improved, otherwise we wouldn't have vim?
Dialectical_Specialist@quokk.au · 7 pts · 287d
Then the question becomes, "did neovim go to far?" :D
BeigeAgenda@lemmy.ca · 6 pts · 287d
Neovim is on the path of enlightenment to become Emacs so everything is alright.
msage@programming.dev · 3 pts · 287d
Helix
Jumuta@sh.itjust.works · 2 pts · 287d
!! helix mentioned !!
loweffortname@lemmy.blahaj.zone · 3 pts · 287d
I mean...has anyone really been far even as decided to use even go want to do look more like?
Dialectical_Specialist@quokk.au · 3 pts · 287d
You can't really use go want to do look more like until you've first been far even as decided to even go. It's a prerequisite🤣
rozodru@pie.andmc.ca · 1 pts · 287d
Doom Emacs. made me switch from Vim/Neovim to it. Love it.
gandalf_der_12te@discuss.tchncs.de · 13 pts · 287d
saw someone unironically use vim the other day. i thought people actually using vim was a joke.
DmMacniel@feddit.org · 19 pts · 287d
Why wouldn't one use vim? It's a great editor that works under any circumstance.
cepelinas@sopuli.xyz · 4 pts · 287d
Unless you want to exit it xD
mostlikelyaperson@lemmy.world · 5 pts · 287d
Esc :q for closing if you didn’t modify anything, :!q for closing and discarding any changes you made and:wq for closing and writing the changes to the file.
cepelinas@sopuli.xyz · 1 pts · 287d
I was joking I know how to exit because of sudoedit it just feels like it should be on the main screen like nano or atleast ctrl+c should exit.
expr@programming.dev · 5 pts · 287d
Ctrl-Cabsolutely should not exit. There's plenty of times you want it in vim to interrupt something in the editor.As others have said, it's on the screen if you open vim without a file. Otherwise, it's a tool for people that bother to learn how to use it. As someone who has been using it daily for the last 10 years, I would find it incredibly obnoxious to have a bunch of useless screen clutter telling me basic things that are easily learned.
cepelinas@sopuli.xyz · 0 pts · 287d
Sorry, I forgot that vim has extensions.
expr@programming.dev · 4 pts · 287d
Vim has an entire dedicated scripting language built right into the editor and accessible while editing.
Even without plugins, sometimes certain things can be too slow and you want to stop them.
ewenak@jlai.lu · 3 pts · 287d
If you start vim without opening a file it's written on the screen in the beginning. It disappears as soon as you start writing something though.
cepelinas@sopuli.xyz · 1 pts · 287d
I didn't notice thanks!
DmMacniel@feddit.org · 4 pts · 287d
Also, when you want to Quit by hitting CTRL+C, VIM will tell you to use !q instead.
not_IO@lemmy.blahaj.zone · 1 pts · 286d
nowadays, if you ctrl+c, vim tells you how to exit
cepelinas@sopuli.xyz · 1 pts · 286d
If you had read the other rssponse about basically the same thing you would know that the last time when I accidentally went into vim it didn't show it for me and infact it probably was vim-tiny. I am sorry for sounding condesending.
Devjavu@lemmy.dbzer0.com · 2 pts · 286d
The likes are the vim users with humor, the dislikes the ones without.
gandalf_der_12te@discuss.tchncs.de · 1 pts · 287d
idk it just seems complicated, with all the keybindings and i think it even has scripting inside the text editor ... i never bothered to learn it.
expr@programming.dev · 3 pts · 286d
It's a tool with a medium-high skill floor and incredibly high skill ceiling. It rewards investment and is something that is able to accommodate one's growth in skills rather than holding them back with limitations like typical editors do. Its built-in scripting is a big part of that and is something that really sets it apart from editors like vscode. And it's much, much faster and lighter weight/less memory-intensive than other editors.
expr@programming.dev · 13 pts · 287d
Been using it for all of my software development for the last 10 years. It's fantastic.
Neverclear@lemmy.dbzer0.com · 11 pts · 287d
Here here. vim with syntax highlighting on an 80x20 tty with monospace font... I don't know If I'm more productive than the next guy, and I don't care. This is my happy place.
martinb@lemmy.sdf.org · 8 pts · 287d
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 😄
gandalf_der_12te@discuss.tchncs.de · 2 pts · 287d
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.
expr@programming.dev · 1 pts · 286d
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.
418_im_a_teapot@sh.itjust.works · 1 pts · 286d
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.
Jumuta@sh.itjust.works · 1 pts · 287d
bro how do you comfortably use $, ^ and 0 for navigation??
expr@programming.dev · 7 pts · 287d
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.
pmk@lemmy.sdf.org · 1 pts · 287d
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.
418_im_a_teapot@sh.itjust.works · 1 pts · 286d
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.
expr@programming.dev · 2 pts · 286d
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.
Jumuta@sh.itjust.works · 1 pts · 287d
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?
expr@programming.dev · 2 pts · 287d
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).
martinb@lemmy.sdf.org · 3 pts · 287d
Much easier than pressing arrow keys like a maniac 😄
jerkface@lemmy.ca · 2 pts · 287d
(scoffs:) Arrow keys.
You're not talking to Notepad users.
Jumuta@sh.itjust.works · 0 pts · 287d
who even uses arrow keys these days?
martinb@lemmy.sdf.org · 1 pts · 286d
I have a colleague who I have to watch when he is editing code or in the terminal. Very frustrating to watch
rain_worl@lemmy.world · 0 pts · 245d
hrhm are the vim games in the editor itself?? hrrhhm ,':) ',:) ,':)
embed_me@programming.dev · 2 pts · 287d
goto editor for C programming. (Pun intended)
peacepath@lemmy.world · 8 pts · 287d
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 !
CubitOom@infosec.pub · 7 pts · 287d
Evil
circuitfarmer@lemmy.world · 7 pts · 287d
bulwark@lemmy.world · 6 pts · 287d
Well I guess I'm Doomed then.
Bluewing@lemmy.world · 6 pts · 287d
Ain't no heaven without Emacs.
AnnaFrankfurter@lemmy.ml · 5 pts · 287d
There's a hell below Emacs called neovim I'm going there.
Sxan@piefed.zip · 5 pts · 287d
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.
malware@lemmy.zip · 8 pts · 287d
By chance, do you know why neovim feels ten times more smooth in a TTY than in a graphic environment?
Sxan@piefed.zip · 2 pts · 287d
Nope. But IME it's common for GUIs to be slower and to use more memory þan þeir TUI counterparts.
XTL@sopuli.xyz · 1 pts · 287d
Everything generally is.
prime_number_314159@lemmy.world · 5 pts · 286d
I'm destined to go to heavim forever.
Sunflier@lemmy.world · 4 pts · 287d
What the hell is an EMACS?
seggturkasz@lemmy.world · 13 pts · 287d
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! ;)
FEIN@lemmy.world · 5 pts · 287d
this deserves a literary award and a spot on everyone's bookshelf
HeyThisIsntTheYMCA@lemmy.world · 5 pts · 286d
wait, what if you're at end stage emacs but you've never used the damn thing
Devjavu@lemmy.dbzer0.com · 4 pts · 286d
Microsoft Word over wine.
Though I prefer to use it OOTB, no change settins, makes setup easier. I use a script to remove formatting.
NeatNit@discuss.tchncs.de · 7 pts · 286d
Police, this guy right here.
Devjavu@lemmy.dbzer0.com · 4 pts · 286d
You'll never catch me alive
frantically hacks a car with excel on my phone
Treczoks@lemmy.world · 4 pts · 287d
Looks like Kate is heaven. Or Notepad++.
callyral@pawb.social · 4 pts · 287d
I have Neovim, Helix and Emacs installed on my system...
Natanox@discuss.tchncs.de · 3 pts · 287d
Didn't know John mentioned a telephone number. Learning new things every day.
HouseWolf@pawb.social · 3 pts · 287d
Kate & Micro >:3
kreskin@lemmy.world · 3 pts · 286d
This is what happens whens when rich nerds get too much money.
OldChicoAle@lemmy.world · 2 pts · 287d
Yes we are
1985MustangCobra@lemmy.ca · 2 pts · 286d
heaven because i use vim
sfxrlz@lemmy.dbzer0.com · 2 pts · 285d
Im going to spacemacs
Tiger_Man_@szmer.info · 2 pts · 287d
No love for kakoune?
sol6_vi@lemmy.makearmy.io · 1 pts · 286d
Emacs is fucking awesome but I won't get anything done once I fall in. I get more done in Vim.
Fontasia@feddit.nl · 1 pts · 286d
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
potatoguy@lemmy.eco.br · 1 pts · 287d
tangonov@lemmy.ca · 1 pts · 287d
Hell is fine if the alternative is an actual line editor
pewgar_seemsimandroid@lemmy.blahaj.zone · 1 pts · 286d
vi > vim
the "improvements" make the program worse.
toddestan@lemmy.world · 2 pts · 286d
You can always just use
set compatible.Actually, one of the reasons that vim "won" over many of the other vi-like editor clones back in the day is that it tried to behave like vi as closely as possible, whereas many of the others didn't.
ptolemai@lemmy.world · 1 pts · 286d
Makes sense, considering the best text editor on emacs is evil-mode.
udc@lemmy.world · 1 pts · 286d
I'm a neovim convert