[HN Gopher] 916 Days of Emacs ___________________________________________________________________ 916 Days of Emacs Author : d-s Score : 191 points Date : 2023-04-13 13:53 UTC (9 hours ago) (HTM) web link (sqrtminusone.xyz) (TXT) w3m dump (sqrtminusone.xyz) | leephillips wrote: | I like the idea of emacs, but I notice its warmest advocates | often make excuses for its slowness. If an editor doesn't respond | instantly I don't want to use it. | BeetleB wrote: | Use a vanilla config (i.e. no config), and it's pretty fast. | rirze wrote: | Recent releases have greatly improved performance. | | That is, unless you're talking about launching emacs each time | you want to edit a single file, then emacs won't load instantly | like vi will. | tmtvl wrote: | Eh, you can run Emacs as a daemon and starting a client is | pretty fast. | velox_neb wrote: | I'm an emacs fan but there's no excuse. It's insane that an | editor from the 1970's is perceptibly laggy on the latest | Macbook Pro. | | This is a good article about the problem | https://discourse.doomemacs.org/t/why-is-emacs-doom-slow/83/... | all2 wrote: | It's still single threaded. | pascal_wizzard wrote: | Well it really depends on what operations you expect to be | instant. Basic editing like movement, inserting, etc is | instant, but summing from 1 to 100000000000000000000000 is | where elisp would show its poor performance. | hospitalJail wrote: | This is basically why I don't use intellij. | | Work pays for everything, I just dont want to wait 10 minutes | for an environment to change. | peterashford wrote: | I use Goland at work - which is intellij. Switching between | project environments is about 2 seconds. Cold start is about | 5 seconds. | Icathian wrote: | People talk about its slowness, but I've got mine pretty damn | kitted out and it's still faster than VSCode, VStudio, and | JetBrains products. It's not as fast as vim, I'll admit, | though. | numbers wrote: | I love posts like this. It reminds me of having fun with | computers is so rewarding. Reading a post like this reminds me of | being young and diving into Vim and learning new tricks with it | every day! | sanitycheck wrote: | 282 hours of configuration! If we subtract the weekends from that | 916 days, that's an average of about 45 mins a day fiddling with | config. | | I don't even want to spend 45 mins a _month_ fiddling with | config. I really don 't understand Emacs people. | cyrialize wrote: | It's part of the fun. Once you realize how much you can do | within Emacs, it becomes really easy to fiddle. | | That being said, I'm also one of those people that break my | Emacs config often, and I have a different version on each PC I | use. | | Not every user is like this though! Many try to keep their | setup as stable as possible. | umanwizard wrote: | The whole point of emacs is that it's not "fiddling with | config", it's programming. Which is an activity a lot of people | enjoy. | | Emacs is essentially an IDE for developing emacs. | medstrom wrote: | Plus, with time it becomes more like writing programs and | less configuration. I write Elisp commands like I used to | write shell scripts. These commands do entirely new things. I | feel that can't count as mere configuration. | umanwizard wrote: | Yep. Just wrote this today to prettify all the tables in a | Markdown file: (while (not (eobp)) | (while (not (markdown-table-at-point-p)) | (forward-char 1)) (markdown-table-align) | (goto-char (markdown-table-end))) | | I'd have no idea how to do this in vim! | ParetoOptimal wrote: | A macro and a plugin installed with the markdown-table- | align equivalent? Though you could also use this approach | with emacs macros too. | outworlder wrote: | > I don't even want to spend 45 mins a month fiddling with | config. I really don't understand Emacs people. | | Some people like to customize their environment to their exact | specifications. Others will use whatever is available and never | change it. | | That is not required. Although default Emacs is pretty | barebones (from a modern interface standpoint, not features) | one can get a pretty good kickstart by using something like | Spacemacs or Doom emacs and only sprinkling a bit of | configuration here and there. | | I too had a pile of config accrued over years - mostly porting | features from other editors to Emacs. After adding Doom, I have | just a few lines, it does all the rest. | | The point is - usually on other editors you need to either wait | for someone to create a "plugin" to do what you need, or you | need to create a full blown plugin yourself, which is not a | small task. In Emacs, it's extremely easy to create functions | that will do tasks for you. And that gets addictive. | pmoriarty wrote: | When I first started using emacs I spent 10 hours a day for | many months customizing it. | layer8 wrote: | Plus the time for writing that blog post. ;) | warp wrote: | I have four commits to my .emacs in 2022 and eight in 2021, all | fairly minor. So I guess that's about 45 minutes per year on | average :) | EnigmaCurry wrote: | Its a hardly a requirement, some people just enjoy doing it. | You can just use someone else's config, lots to choose from. | peterashford wrote: | I wrote a few functions for my emacs configuration. It's simply | that I wanted the editor to work differently. And I could not | do that in literally any other editor. | markrages wrote: | In my last 20 years of using emacs, I have spent about 45 | minutes total fiddling with the config. (Before that I spent a | little more time getting it set up.) Am I missing out on | something? | spudlyo wrote: | For me, Emacs as a Lisp programming environment is just a lot | fun! I was a big fan of the iPython REPL, but always | struggled with reliably reloading modules when I made changes | to functions and classes. With Emacs Lisp, I don't worry | about any of that. Everything is so interactive and hands-on! | It's easy to change and introspect the state of the system | while it's running. The built-in debugger is pretty great | too. It's a really nice way to work. | Laaas wrote: | That's 28k dollars to configure Emacs, if we assume 100 USD / | hour... | nequo wrote: | By that argument, watching The Irishman costs 350 USD. | throwawaysalome wrote: | Odd that you chose The Irishman (2019) to evince the | opportunity cost fallacy. The toll of that schnoozer can't | adequately be measured in dollars. | Scarbutt wrote: | Where's your mercedes? | sampo wrote: | > 282 hours of configuration! If we subtract the weekends from | that 916 days, that's an average of about 45 mins a day | | It's 0.43 hours a day, which is 26 minutes, not 45. (Hint: 0.5 | hours is 30 minutes.) | sanitycheck wrote: | Superb point, I did always suspect I'm an idiot but it's | useful to have it pointed out sometimes! | light_hue_1 wrote: | There's a very good reason for it. I spend about an hour every | month. It sharpens your tool and pays back massively over time. | | When we need to quickly debug or carry out a complex operation | at work? People gather around my machine. Once you're set up | with things like org-mode, magit, lsp your productivity goes up | a lot. | throwawaysalome wrote: | Some guys look at a car as going from point A and B. Some guys | find they can get to B faster and more safely if they can | modify the car. | dwringer wrote: | Furthermore I'd say that I (presumably like most emacs users) | am probably closer to 45 minutes per month, or per year, on | general emacs config stuff, certainly not per day. It has | still made a huge difference for me in terms of convenience | and just general aesthetics. | 1066 wrote: | Right, it's an extension of your life right. Some people | find it fulfilling to kit out there house with exactly what | they think they desire. Its just a matter of processing the | stuff that makes you happy while providing _internal_ | development. | [deleted] | BeetleB wrote: | > I don't even want to spend 45 mins a month fiddling with | config. I really don't understand Emacs people. | | The problem is in the terminology: _Config_ | | Replace the word with _programming_ and it will all make sense. | People who write Javascript code to build custom tools for | their own use are doing the exact same thing as Emacs users | tweaking their config. | | These days when I have time I'm writing elisp to make it easier | for me to write math notes. One org roam node per | concept/definition/proof. However, I'm building a graph: If a | definition of a math object involves prior knowledge, I want to | link to those nodes. The default org roam interface makes this | a pain, so I want an interface that prompts me for the title, | and lets me select dependencies one by one. It then inserts the | node, with links to all those dependencies. | | Where does all this code go? | | In my config. | ddavis wrote: | Cool post! I really don't want to know how much time I've spent | configuring Emacs over the last 12 years :P The explosion of | great Emacs Lisp packages over the last few years has absolutely | made it difficult to avoid forever playing around with Emacs. | TheCondor wrote: | Have you tried any of the distributions? I have had sort of a | semi-annual ritual of re-evaluating my emacs configuration. | This last December I've tried Centaur out and while it's not | perfect, it's not too bad. Definitely an interesting place to | start from. | retrocryptid wrote: | Oh man. I'm embarrassed to say I've been using emacs for almost | 40 years and it probably accounts for 80% of my screen time. | | I wonder how many people know emacs predates gnu-emacs? I | remember being skeptical of open source until I saw what gnu | emacs could do. Then I got slightly more skeptical when I looked | at the code ;-) | superdisk wrote: | Tell us more. What were you using before GNU? | tjr wrote: | https://dspace.mit.edu/handle/1721.1/5736 | | is about pre-GNU Emacs, with history of Emacs going back to | the mid-1970s. | Y_Y wrote: | How many fingers do you have left? | lanstin wrote: | I got less enamoured of GNU when I started reading glibc. It | works and it's solving for a complex set of build constraints | and so on, but wow, it is not what I'd type. | matheusmoreira wrote: | Yeah. Thank god for musl. | Blackthorn wrote: | Software people are hilarious. Wow, I sure hate using this | amazingly working and workable product because I don't like | what the source code looks like! I'm so glad there's an | alternative that looks prettier! | comonoid wrote: | The first 916 days of Emacs are always the hardest. | pjkundert wrote: | 916 days to flatten the curve! | commandlinefan wrote: | I've been a hardcore vi user pretty much my entire life, but I | decided to force myself to spend a year using emacs a while back | just to see what all the fuss was about. When the year was over | and I "allowed" myself to return to vi, it was like a huge weight | lifted off my shoulders... to this day I still don't see what the | hype was about. On the plus side, though, I memorized the emacs | cursor movement commands, which are (for some reason) the default | cursor movement commands in most command line environments like | the Postgres CLI. | jb1991 wrote: | > the default cursor movement commands in most command line | environments like the Postgres CLI. | | and also macOS! | circuit wrote: | I had a similar experience, but came to the opposite | conclusion. I walked away replacing vim with emacs as my daily | driver. Elisp is far more extensible than vimscript and evil- | mode is pretty much at 1-1 feature parity with the real vim. I | don't care much for the emacs movement keybindings except for | the readline movement commands. | | > to this day I still don't see what the hype was about. | | Most of vim is written in C with some interfaces exposed for | scripting. Emacs is mostly written in elisp with some C code | where necessary. The latter lends itself better to | 'hackability' imo | | For my own machines, I build emacs and import my saved init.el | | On other machines, there is usually a standard vi/vim install | that I can use if I am ssh'd in somewhere where I don't have my | personalized copy of emacs. If I remember, I'll try to put | these five lines[1] in the .vimrc for some saner defaults | | [1] https://news.ycombinator.com/item?id=25410390 | outworlder wrote: | Why don't you SSH _from_ Emacs? | | If you are editing a remote file there's usually no need to | SSH and then invoke an editor. | | https://willschenk.com/howto/2020/tramp_tricks/ | [deleted] | circuit wrote: | I used to, and I probably would if I had to work with | remote files more often. But in my experience I found it | faster to just build emacs on the remote server and run it | as a daemon there, since all the machines I was working on | remotely had /home on an NFS mount. TRAMP took just a | little too long to load remote directories for my liking. | | But in case I am plopped in front of an unknown | terminal/have to do something on someone else's machine ... | at least I can rely on using the default vim to do basic | editing. | Y_Y wrote: | Does that mean you have a nice setup for running emacs as | a server on a remote machine and connecting via a local | client? I've tried this a couple of times but it seems to | be prohibitively awkward and I'm stuck with the | idiosyncrasies of Tramp or even just saying in a vterm. | I'd be very grateful if you (or anyone else) can explain | how to do this. | Scarbutt wrote: | I just run emacs on the remote server (inside tmux), | emacs works great on the terminal, in fact, I don't use | GUI emacs. code, orgmode, magit are just text. | lanstin wrote: | Yeah, this is how I do it. If it's a reasonably modern | remote image you even get color highlighting. And in a | way, it lets me segregate, "on this host, I'm working on | this project, on this host I'm on this project, all the | state/context is there when I re-activate my tmux ready | to see what's up. | | If I'm writing a lot of code or doing a refactor needing | more thought, I'll do it locally, to be sure. | LastNevadan wrote: | When I was at the university and started programming on UNIX, | the professor said we should try both emacs and vi and see | which we like better, and provided links to some tutorials. | | I tried them both and liked vi. Emacs seemed slower. In my | undergraduate wisdom, I deemed emacs to be "stupid" and went on | with my life using vi. | | After I had been programming professionally for about ten | years, I decided that my harsh judgement as an undergraduate | was often incorrect. (I had also deemed Voltaire, Spanish, | sociology, microeconomics and many other things as "stupid", | and came to understand as an adult that they weren't.) So, I | decided to give emacs another chance. | | My conclusion was this: vi is better for touch typists. Your | fingers are almost always on the home row. Emacs wants you to | hit the meta/alt key a lot, which is difficult for a touch | typist. It's much harder than hitting shift. Vi makes you hit | escape, but that only happens when you switch modes and it's | not that hard to hit. | | I noticed that _lots_ of skilled and professional engineers | never learned to touch type. That discovery itself was odd to | me: why would a professional programmer not want to invest the | time to learn to type properly: typing fast boosts your | productivity significantly. But they do. And my conclusion was | that emacs was for them, because hitting the control /alt key | isn't as much of a penalty when you're a hunt-and-peck typist. | pmoriarty wrote: | _" My conclusion was this: vi is better for touch typists. | Your fingers are almost on the home row. Emacs wants you to | hit the meta/alt key a lot, which is difficult for a touch | typist. It's much harder than hitting shift. Vi makes you hit | escape, but that only happens when you switch modes and it's | not that hard to hit."_ | | In emacs you can type exactly the same as in vi/vim if you | use something like evil, doom, or spacemacs. | archarios wrote: | Unless you use a keyboard like a Dactyl Manuform that | provides your thumbs with better access to such modifier keys | https://github.com/abstracthat/dactyl-manuform | BeetleB wrote: | > why would a professional programmer not want to invest the | time to learn to type properly: typing fast boosts your | productivity significantly. | | I have not found typing speed to correlate well with | productivity. I spend quite a lot of time thinking while | coding. | tric wrote: | > Emacs wants you to hit the meta/alt key a lot, which is | difficult for a touch typist. | | hmm.... I wonder if this is the reason Mac OS uses the option | key for things like 'kill word' (ctrl+backspace on other OSes | or ctrl+w in vi). I have a hard time typing quickly using | option/command instead of ctrl. | | I also prefer vi-like keybindings. | wrs wrote: | Original Macs didn't have a control key. | throwawaysalome wrote: | [flagged] | Blackthorn wrote: | > I noticed that lots of skilled and professional engineers | never learned to touch type. That discovery itself was odd to | me: why would a professional programmer not want to invest | the time to learn to type properly: typing fast boosts your | productivity significantly. But they do. | | This is a false dilemma. Plenty of us type quickly without | hunting and pecking, or looking at the keyboard, without | home-row touch typing. This comment was typed as such. | | There isn't anything "proper" about home row style touch | typing, it is merely one of multiple ways to type fast. | shagie wrote: | > My conclusion was this: vi is better for touch typists. | Your fingers are almost on the home row. Emacs wants you to | hit the meta/alt key a lot, which is difficult for a touch | typist. It's much harder than hitting shift. Vi makes you hit | escape, but that only happens when you switch modes and it's | not that hard to hit. | | I had been playing rogue and nethack for a bit when I started | programming. The keys hjkl for doing movement was a natural | transition to a vt-100 terminal for writing code in vi. | | I had also been coding in LPMuds for a bit and the ed command | set was firmly engrained in my mind. With vi being both "move | using rogue keys" and "do the fancy stuff with the ed | commands" there wasn't even a second thought spent on | considering emacs. | peterashford wrote: | I simply rebound the keys. | keybored wrote: | > In my undergraduate wisdom, I deemed emacs to be "stupid" | and went on with my life using vi. | | That's what we do when we're younger. Judge things on the | wrong basis. Or come up with weird theories on how people who | prefer different things do so because they're deficient in | some way-- | | > Emacs wants you to hit the meta/alt key a lot, which is | difficult for a touch typist. | | wait what... | | > And my conclusion was that emacs was for them, because | hitting the control/alt key isn't as much of a penalty when | you're a hunt-and-peck typist. | | You see that the there are Alt and Control keys on _both_ | sides of the (American[1]) keyboard. Right? Touch typing is | no harder with Control and Alt than it is with Shift. | | > And my conclusion was that emacs was for them, because | hitting the control/alt key isn't as much of a penalty when | you're a hunt-and-peck typist. | | One Year of Experience Ten Times Over: The Comment. | | [1] The keyboard (ish) that these silly programs were kind of | made for. The "European" keyboard has AltGr on the right | side. | smokel wrote: | Many people who use Emacs a lot make CapsLock an additional | Ctrl. Using your left-hand little finger makes it trivial to | use C-p, C-n, C-f, C-b as cursor keys. | cartoonfoxes wrote: | I've always just used the palm of my hand. You can work a | keyboard with more surfaces than just your fingertips. | ejolto wrote: | Lots of vim users do that too, in fact the ADM-3A terminal | vi was written on had ctrl where caps-lock is now and | escape where tab is. | lanstin wrote: | I never thought of making tab be alt/escape. Hmm. | tmtvl wrote: | That's weird, I'm a Dvorak touch typist and I find the Alt | keys to be much easier to reach than Escape. To reach Escape | I basically have to leave the home row, while to reach one of | the Alts I simply have to bend my ring finger. | weaksauce wrote: | why didn't you just use evil mode? vim is great and so is emacs | and with evil mode you get vim inside emacs. i still use emacs | for magit as it's hands down the best git gui i've seen so far. | avgcorrection wrote: | > I've been a hardcore vi user pretty much my entire life, but | I decided to force myself to spend a year using emacs a while | back just to see what all the fuss was about. | | This is like saying that you have been a mountain biker all | your life, but then decided to play the trumpet for one year. | Nonsensical conjunction. | jvanderbot wrote: | Nonsense. Emacs and vi have similar use cases, right? And | similar inputs (keyboard) and similar environments, for | similar users. | | They might be a difference of degree along a few axes, but | they aren't a difference of kind like trumpets and mountain | bikes are. | smabie wrote: | As someone who used Emacs 10yrs before ditching it.. I just | really don't think it's very good at doing much. | | I mean sure it can sorta half ass a lot of different things | but besides org-mode and magit, it's a pretty mediocre and | clunky piece of software (clunky, incredibly slow, ugly, etc) | alyandon wrote: | I had a very similar experience and at the end of the day I | switched back to vi(m) (and specialized IDEs) mostly because I | didn't have the time to constantly evolve my emacs environment | to solve the tasks at hand efficiently. I can see the appeal of | emacs though if you really have the time and energy to deep | dive and make it your own environment. | | To this day, I still swap ctrl/capslock - that is so useful | that it should just be a standard. | mtnygard wrote: | They're the default keys because a lot of programs use the GNU | readline package for line editing. | tomjakubowski wrote: | It's also possible to configure GNU readline on your system | to use vi keys. See | https://vim.fandom.com/wiki/Use_vi_shortcuts_in_terminal | | Put this in ~/.inputrc set editing-mode vi | set keymap vi-command | neilparikh wrote: | You'll also want `set show-mode-in-prompt on`. | | Note that this feature is broken when you have a PS1 with a | \n in it, in an older version of readline/bash (I am not | sure which), so if you're having this problem, just upgrade | your bash version. | pxc wrote: | > the emacs cursor movement commands, which are (for some | reason) the default cursor movement commands in most command | line environments like the Postgres CLI. | | I think this is because they're used in GNU readline. They're | also defaults in all the macOS GUIs, though, so maybe not. | commandlinefan wrote: | > GNU readline | | Interesting... I always assumed that emacs was around for a | while before anybody generalized a "readline" library, but I | guess it makes sense that readline would have come first. | cassepipe wrote: | I am personnally fan of command line vi modes. readline has one | (bash, gdb, and others), zsh and fish have (a better) one too. | I have remapped Caps Lock to Esc and it's never been easier to | just go up and down the history with j an k and to make quick | edits. | taeric wrote: | The default cursor movement commands probably predate emacs. | Such that you are used to readline defaults. | https://news.ycombinator.com/item?id=24083753 is the first post | I'm finding on that. | | That said, I'm curious what the weight of emacs was on you? If | it was that you were wanting to be in the other editor, than it | makes sense that you should stay in the other editor. But this | is no different than a lot of things. Is why some folks don't | like changing the vehicle type that they use daily. Very little | rational argument one way or the other. Such that, yes, you | should use what makes you happy. Not only does it make you | happy, but you are probably more effective because of that. | commandlinefan wrote: | > what the weight of emacs was on you | | What I've noticed about emacs lovers is that they all | customize it _heavily_ - I didn 't want to do that, since to | me the point of using a plain text editor is that it's always | available in exactly the same form wherever I happen to be. I | did start to looking into all the ways to customize it, but | at that point, I couldn't really see much benefit over just | using an IDE. | | But that's just me. | bloopernova wrote: | Yeah I _adore_ picking at my config to solve some small | issue. Or implement a cool feature or customization. | | I don't really use Emacs for the editor! It's more because | it's a very configurable language runtime/vm with an editor | interface. | | And org-mode is great too. | spear wrote: | I've been using Emacs for more than 30 years and my init | file is mostly loading and configuring extra packages, and | not customizing the editing behavior. I have no problem | working in a basic "emacs -q" session (which skips loading | the init file) when I don't want to "pollute" my main | session (eg. working with huge logs/dumps). | taeric wrote: | This has gotten easier as the years go by, as well. | Standard emacs has a lot of affordances that computers | just couldn't do without bogging down the system years | ago. | pmoriarty wrote: | _" What I've noticed about emacs lovers is that they all | customize it heavily - I didn't want to do that, since to | me the point of using a plain text editor is that it's | always available in exactly the same form wherever I happen | to be. "_ | | So you not customize vim either? | | If you don't, you're missing out 99.999% of the greatness | of both editors and doing yourself a huge disservice. | | It's like being a carpenter and limiting yourself to only | ever using a screwdriver. | commandlinefan wrote: | > you not customize vim | | No, and I have a specific reason - I ssh into remote | boxes a _lot_ , and I want the editor to work more or | less the same wherever and whenever I use it. I guess I | could customize vi to be a multi-purpose IDE but... | that's what I have IntelliJ for. | pmoriarty wrote: | If you're using vi or vim for really simple tasks, and | not using it much, you're not missing out by not | customizing it. | | But the more you use it, the more you're missing out by | just using vanilla vi or vim... and I hesitate to mention | them in the same sentence because even vanilla vim is | thousands of times more powerful than vi. | | Vim's true power, however, lies in its customization and | plugins. You're really missing out by restricting | yourself this way. | taeric wrote: | Oddly, I haven't customized mine heavily. I'd assert that | there really isn't a single "crowd" that are computer | users. All the more true for stuff as customizable as | emacs. | | Even more amusing, I'm fairly certain I had more | customization in vim before I decided I wanted to learn | lisp. What ultimately killed my customization in all | things, was I felt like I was customizing on top of a very | shaky foundation. Emacs/vim are stable enough, of course. | But building/packaging software is basically a giant | playground. | pmoriarty wrote: | What all the hype is about depends on how you use emacs, what | you add to it and how you configure it. | | I used vi and vim for 25 years before switching to emacs, and I | spent a ton of time making it very vim like. | | Now my emacs can do way more than vim ever did. Things like: | | - browse the web through emacs - read my email through emacs - | use org-mode to take notes in outline format, with hyperlinks, | tables, executable source blocks, etc - use magit, which is a | great interface to git | | All of these things and more are tightly integrated, so moving | text/data between them and editing that data is seamless. | | It's all programmed and configured in elisp, and is part of a | gigantic elisp ecosystem. Though I much prefer Scheme to elisp, | I like elisp far more than vimscript, python, lua, or pretty | much any other non-lisp language. | | Emacs has some shortcomings (like handling long lines and large | files, and certain types of regex handling that vim can do | better), and while I do occasionally still fire up vim, I've | felt no yearning to go back to it permanently. | | For me emacs does everything vim did and far, far more. | w0m wrote: | magit and org-mode are the two items that made me try emacs a | few times now. Never been able to make it stick though. | lanstin wrote: | What browser do you use? I used to use w3 but it is | unsatisfactory now. | pmoriarty wrote: | emacs-w3m | | I've also tried eww, but don't like it as much. | _a_a_a_ wrote: | > and certain types of regex handling that vim can do better | | Hi, emacs user here, can you elaborate please. | pmoriarty wrote: | See the \zs and \ze patterns in vim. | | I've asked for them to be implemented in evil, but have | been told it's not possible because evil just uses emacs' | regex engine, which can't do this. | _a_a_a_ wrote: | I think these are lookahead's in some parlance, Emacs | doesn't support them. On the rare occasions I need | something like that I just use capture brackets. Suppose | I want to delete a contiguous string of 'a' but only if | it's followed by the letter 'b', then | a+\(b\) - \1 aaaab aa | | gets you b aa <-- | unchanged cos no trailing b | | So it works with a simple case. I guess it could get | messy if you're doing anything really complex but TBH the | above is about as far as I have ever needed to go. | | Good luck vimming! | pmoriarty wrote: | A need I've had on multiple occasions is to, for example, | search for the next occurance of "abcdef" but have my | cursor land on the "d". | | In vim that's a simple abc\zsdef | | It also highlights just the "def", which is nice. | | To highlight just the "de", you could use abc\zsde\zef | | Yes, you could probably use some lisp magic to do the | same in emacs, but it's not nearly as easy or convenient. | _a_a_a_ wrote: | I guess in the next eight hours somebody will post you a | snippet of elisp which will do what you want. Emacs | people are very accommodating. Let's see anyway | softirq wrote: | I did the same experiment and came to the same conclusion. | There's really nothing killer in Emacs that makes it a huge | sell over just using vim which is a much better _editor_ unless | you just love Emacs lisp. Emacs also has some glaring issues - | tramp being a major one. It's slow and very unreliable. | | Vim is much more in line with the Unix philosophy. It's a great | editor that can be extended with fzf, ripgrep, lsps, git etc. | Emacs has three versions of every plugin and they're all | usually not as good as the thin vim wrapper around fzf etc. If | you're not editing and need email, mutt is a great email | client. Irssi is a great chat client. Emacs is very much an all | or nothing computing environment. | | I am glad I tried Emacs though, because I did love which-key | and ended up adding it to my Vim config. And Emacs is slightly | easier to quit? | | ADVICE: Try both Emacs and Vim vanilla before you do anything | else. Downloading a "distro" is really doing yourself a | disservice by not showing you just how much either can do | without the chrome. And for the love of RMS DON'T USE VSCODE. | mbork_pl wrote: | > There's really nothing killer in Emacs | | 1. Org mode 2. Magit 3. Wdired 4. Synergy between various | components (shameless plug: https://mbork.pl/2023-01-30_The_b | enefits_of_everything_being...) | goldfeld wrote: | Also related plug, a newsletter with emacs plugins to help | out with, mostly org mode and AI and emacs integration open | source tepos. | | https://generativereview.substack.com/p/tasks-open-source- | em... | 0zemp1c wrote: | I wouldn't call Magit "killer" at this point, its basically | feature competitive with other editor git integrations and | that is about it | softirq wrote: | 1. Org mode - I will admit that I'm not a fan of org mode | and find it to be oversold and another time waster for | people who are already wasting time configuring their | editors. I personally use vimwiki, there is a vim plugin | for org mode. | | 2. Magit - Tim Pope is the pope of Vim plugins and fugitive | is easily as good or better than Magit. I have never had | any issue doing any sort of complex task in git or fixing | conflicting using fugitive. | | 3. Wdired - Tim Pope again has vim-vinegar to improve | netrw. Never had a problem or thought about manipulating | directories inside of Vim. | | 4. Again, if you believe in the Unix philosophy then you | have to admit that Emacs is simply bloated and trying to do | too much and therefore is not really the best at anything. | And more importantly, if there's something that Emacs can't | do you've screwed yourself because you haven't built an | environment around many distinct tools on the command line | and it's going to be awkward to integrate. | kqr wrote: | > if you believe in the Unix philosophy then you have to | admit that Emacs is simply bloated and trying to do too | much and therefore is not really the best at anything | | On the contrary, Emacs tries to do just one thing: | provide an Elisp runtime for other applications. It does | this fairly well. | | Do not confuse Elisp applications like evil, org, calc, | magit, etc. with Emacs itself! | ragnese wrote: | Yep. If you see Emacs as a text editor with lots of | features, then it's doing lots of things. But, if you see | Emacs as a platform that comes bundled with some apps by | default, then its "one thing" is to be a text-oriented | app platform. | | The whole "do one thing" slogan is kind of vacuous | anyway; e.g., what if my "one thing" is "implement all | WWW standards to be able to use any web page"? Is that | still "one thing"? If not, then wouldn't implementing | only "one" part of WWW be useless? | gaetgu wrote: | > I will admit that I'm not a fan of org mode and find it | to be oversold and another time waster for people who are | already wasting time configuring their editors. I | personally use vimwiki, there is a vim plugin for org | mode. | | I actually use emacs _solely_ for org-mode. I find | editing single files and even larger projects to be more | of a pain that it is worth, so I just use my custom vim | to do that. | | What keeps me with org mode and emacs is mostly | bibliography management. I have emacs set up to read my | Zotero directory, and with a keybinding I can insert a | reference to a book or magazine or the such. Now, what is | really great about this is that when I export the org | file (usually to latex->pdf, but also occasionaly to | HTML), it exports the references in the style that they | need to be in (MLA, APA, Turabian, etc.) and creates a | bibliography page at the end of the export with | everything that I referenced. | | I can also add notes to any references using org-roam, so | that I have have annotated bibliographies quite easily. | | If I could have something else that does just this, I | would drop emacs in a heartbeat. But until I do find | that, emacs and org-mode it is. | Scarbutt wrote: | Same. I have try many outliners to irrationally avoid | emacs but they all suck compared to org-mode. | avgcorrection wrote: | > Again, if you believe in the Unix philosophy then you | have to admit that Emacs is simply bloated and trying to | do too much and therefore is not really the best at | anything. | | If. | pmoriarty wrote: | How do you surf the web in vim? | | How do you read email, RSS news, and usenet with vim? | | Does vim have a chat client as powerful as ERC? | | Mainly, though, is vim programmed in and extended through | a lisp, and does it have an entire lisp ecosystem built | around it? | | Don't get me wrong, I love vim, and used it and vi for 25 | years before switching to emacs. But my emacs can do far, | far more than vim ever did... and there's no way I'll be | switching back until it has all the above and more. | mr337 wrote: | I am in the same boat. Been working a lot with C++ recently | and could not get debugging working. Threw in the towel and | loaded vscode in about 2 hours had everything humming along | and being productive. | | I'm pretty sure I did the wrong thing and started with a | setup like Spacemacs where random stuff would break and | wouldn't even know where to look. Thought I can't seem to | loose the muscle memory of vim bindings so evil is a must. On | my next round will try dooms or centaur so I learn more under | the hood. I do miss magit and helm. | kqr wrote: | Huh, my experience is the other way around. The "killer" of | vim is the control scheme, and evil mode ports that over very | faithfully to emacs. Then you get the best of both worlds. | Why would you use vim other than in very barebones | environments where you cannot access your own config? | | (I also don't see how tramp is an issue -- it opens up | workflows I wouldn't even have access to without it!) | softirq wrote: | Why would I want to run an emacs layer adding more latency | to my work to turn Emacs in to Vim when, as I said, I can | do everything in Emacs I can do in Vim. | | > (I also don't see how tramp is an issue -- it opens up | workflows I wouldn't even have access to without it!) | | Because it will randomly freeze and it's single threaded, | it's slow, and it's also not novel. Vim can also edit files | over SSH, VSCode can run itself remotely. | pmoriarty wrote: | _" Emacs has three versions of every plugin and they're all | usually not as good as the thin vim wrapper around fzf etc"_ | | This is a bold claim. Not that fzf isn't good, but I'd like | to hear about some specific ways in which fzf is better. | BeetleB wrote: | The tell in your message (and those in general from vim | users), is insisting on treating Emacs as an editor, and | comparing it primarily on that benchmark. | | There are no shortage of Emacs lovers and users who will | accept that vim is a better editor. You didn't need to try | Emacs to gain that appreciation. | | The other tell (common on HN, which has a clear selection | bias), is comparing Emacs to an IDE like VS Code. Many, if | not the majority, of Emacs users are not _primarily_ using | Emacs for coding. | | > Vim is much more in line with the Unix philosophy. | | Neither follows the Unix philosophy well. And as many people | have pointed out, most of the Unix utilities are poor at | following it well.[1] The amusing thing about the Unix | philosophy is that when you stay within Emacs, the Emacs | environment is a _much better_ exemplar of the Unix | philosophy than Unix and its tools are. It is a _lot_ easier | to compose functionalities in different Emacs packages than | it is in UNIX. | | I was using a Mastodon client for Emacs and wanted to render | LaTeX formulae into rendered equations. I'm an average elisp | coder and I got this working in under an hour by composing | different Emacs packages. | | There are various ChatGPT clients out there. I wanted to | integrate it with my Emacs email client (notmuch). It's not a | lot of work. I doubt one could integrate things into mutt as | quickly/easily. | | When reading an email in Mutt, how easy is it to quickly do a | Web/network query on a selected text, perform analysis on the | result, and display the outcome _within_ Mutt? The analogue | is fairly easy in Emacs, despite the mail tool(s) there not | having any functionality to do this. | | As for Mutt in general: I used it for about a decade. While | it has a soft spot in my heart, there is a reason I switched | to an Emacs client - before I knew anything about customizing | Emacs with elisp. There were lots of gaps in Mutt that other | clients out there filled. I miss nothing from Mutt, other | than the color scheme. | | In many of these cases, there are simply _no_ quick, viable | solutions outside of Emacs. People spend a lot of time doing | these things in Emacs because it enables them to do more than | they could otherwise. Imagine someone who doesn 't know any | programming complaining about someone else who does. To them | they just see a person "wasting" all their time on another | "tool". | | [1] An example: | https://www.johndcook.com/blog/2012/05/25/unix-doesnt- | follow... | | I've had the same visceral reaction when dealing with grep | and find. Overly complex and bloated (albeit extremely | useful). | 0zemp1c wrote: | [flagged] | BeetleB wrote: | Take a look at EmacsConf talks and count how many talks | are not programming related. Start delving into the | speaker's backgrounds as well. | | Hang out at the Emacs subreddit and you'll see a similar | trend. | | Follow Sacha's weekly Emacs news and you'll see a similar | trend. | | Some of the authors of very well known Emacs packages | don't do programming for a living - in fact quite a few | learned programming just so they could improve Emacs for | their own needs. | | Protesilaos is practically a legend these days. He went | from no programming or Linux knowledge to expert level in | a very short time.[1] His background is in philosophy, | law and economics. | | The author of helm, one of the most popular and possibly | the most powerful completion package in Emacs, is a ski | instructor. | | Although I learned Emacs primarily to code, I myself did | not use it primarily for programming for the first 5 | years. I was using it for email and org mode, and did my | programming via Visual Studio. The number of people who | primarily use it for org mode is _huge_. There are plenty | of people who code in anything else (vim, VSCode), but | use Emacs just for magit. | | [1] https://protesilaos.com/codelog/2021-04-16-emacs- | moral-lesso... | 0zemp1c wrote: | everything you refer to is less than 0.5% of emacs use | | maybe 0.2% of all emacs users even know EmacsConf exists | | maybe 1% know of Sacha Chua, doubt it though, probably | 0.1% have heard of her | | easily over 99% of emacs use is for coding, actually that | is low, if you snapshotted all emacs sessions in the | world right now, more like 99.9% of them would be coding | | I'm not even sure why this is being debated | BeetleB wrote: | Simple: I'm giving you some data points, skewed as they | may be. | | You're providing no data. | | And so you're right - there is no debate. | 0zemp1c wrote: | telling me someone is a ski instructor is not "data" - | its trivia | throwawaysalome wrote: | [flagged] | brokenkebaby wrote: | Agree. Except vim cannot be better editor as emacs can be | better vim if one likes | EnigmaCurry wrote: | > some glaring issues - tramp being a major one. It's slow | and very unreliable. | | Over SSH? Did you turn on ssh connection sharing in ssh | config? | | > ControlMaster auto | | > ControlPersist yes | | > ControlPath /tmp/ssh-%u-%r@%h:%p | | massive speedup when you do this, otherwise it starts a new | connection for every operation. | spudlyo wrote: | Tramp is fast for me as well, it did take some work though. | I had to configure it to use my controlmaster options from | my ~/.ssh/config, set tramp-verbose to 0, set remote-file- | name-inhibit-locks to t, and finally set vc-handled- | backends to just Git. I'm glad I spent the effort to make | it fast though, because now it's pretty magical. | softirq wrote: | Yes, and it's not that it's just slow, it also freezes | Emacs completely when it borks (and it does bork). I also | found that none of the emacs terminals could correctly | display my prompt and I ended up writing a bunch of bash | conditionals to make my prompt dumber to work in Emacs. | Just worked out of the box with Vim's :term. | jamespo wrote: | Are you using tramp on a LAN or halfway round the world | with 200ms latency and poor bandwidth? | erksa wrote: | Use both heavily. Vim is fantastic for editing one off files. | | Emacs on the other hand is fantastic to work on a computer | for a long period of time. I do use evil mode, as I do think | it's a much better way to work in a file. Project management, | magit, org-mode, being able to edit functionality of the | editor within couple of mins to adjust for an temporary | change/or indefinitely is what keeps me coming back to emacs. | | I've tried vim variations that build in project management | and all I'm missing from emacs, but left it at some own | written telescope functions to cover base needs. | | Love for both, but to me they are not comparable. | | (Maybe because I picked up emacs at the same time a good | friend picked up vim, and it's been a parallel editor journey | for 6+ years) | softirq wrote: | Vim has terminal support, gdb support built in. We have vim | plugins maintained by the top Vim plugin specialist for git | and project management. We have vimwiki, markdown, org mode | support. We have fuzzy finding, autocomplete, lap support. | I really don't think you can reasonably tell me you can't | live in Vim, when I have had the same session open editing | the linux source tree for like two months now. | erksa wrote: | Not disputing that VIM has those things, but I am telling | you that I can't live in Vim based on your plugin setup. | But of course, I'm glad there are good crafted ext/plugin | communities on both sides so we can all can tweak it the | way we like! | schemescape wrote: | Maybe a Vim expert can help me out. I've used Vim for a | long time, but never with any plugins, and only a few | lines in my .vimrc. | | My problem is that the syntax highlighting, specifically | for TypeScript is pretty bad. I have a regular expression | (for parsing front matter) that seems to cause Vim's | syntax highlighting to go haywire (it stops and sometimes | crashes). | | Is anyone aware of a way to get more reliable syntax | highlighting in Vim, ideally with a minimum of fuss? | 0zemp1c wrote: | using lsp with typescript-language-server? | | most of the neovim setup scripts (lazyvim etc) get this | set up automatically | schemescape wrote: | Oh, my initial research (reading the Neovim docs) | indicated that setting up Neovim would require a lot of | manual configuration for getting an LSP working. I will | give it another look, thanks! | | Most blog posts I found seemed to assume you already had | a gigantic custom config, plug-in manager, etc. I | couldn't find a "how to set up better highlighting and/or | an LSP for people who know Vim but don't know anything | about configuration" guide. | sundarurfriend wrote: | An LSP seems overkill for syntax highlighting? This seems | more like a treesitter thing. | | (Mind you, I have no experience with TypeScript, just | saying this as a general remark on what those components | do.) | papaver wrote: | would definitely agree. i find tmux + vim does almost | everything i need. granted i don't try to script anything | myself. generally there are command line tools or vim plugins | that do most i want. adding to much gravy to vim also just | slows vim down which can be incredibly frustrating when one is | used to typing very fast. | | i would say just a couple of years of vim isn't enough to | really become one with the software. think it took me around 5 | years to really understand why vim is amazing. took me at least | one year just to get the hang of it properly and be highly | productive. i can't even type in a normal editor anymore as my | brain is wired to vim commands. and i still to this day learn | new commands which make my life easier. | | that being said i totally understand why people love emacs. but | i get a decent amount of the window management stuff just using | the tmux. | | and vi is installed almost everywhere as an editor which makes | editing in 90% of environments a breeze. even when in windows | gvim does pretty good. | celeritascelery wrote: | I am surprised you didn't use evil-mode to emulate the vim | keybindings. Or was this a an attempt to use "pure" Emacs | without packages and customization? | pmoriarty wrote: | It sounds like they're not even aware that it was an option. | | Many people don't realize that emacs' default keybindings can | be changed to be modal in exactly the same as vim, by using | evil. | kentosi wrote: | Sorry for the naive question, but if you're changing all | your bindings to vim, then why use emacs at all? Is there | any extra functional difference? | skydhash wrote: | Emacs is more like an ecosystem around text, so switching | keybinding does not matter much. And most people's system | is installed on a single computer, very much like | Photoshop or Visual Studio. Vim is all about editing text | and the keybinding are like a DSL for this purpose, so | changing things will make you awkward everywhere. | pmoriarty wrote: | There's a _ton_ more to both editors than just | keybindings. | | See this post[1] where I talk about some of the things | I've done with emacs -- none of which have anything to do | with bindings. | | You can do millions of other things too, as I'm not using | emacs nearly to its full capacity. Same with vim. | | Bindings in editors are like symbols in math. Yes, | they're necessary, and you can do a lot with them, but | symbols are not nearly all there is to math. | | [1] - https://news.ycombinator.com/item?id=35560107 | avgcorrection wrote: | The clue lies in the fact that you can customize the | editing experience to function like Vim. Because that's | one out of a thousand different ways you can customize | that app to function like a one-off editor, a Git client, | an email reader, and so on. | commandlinefan wrote: | > they're not even aware that it was an option | | Actually in this case I was - but my goal was to use | "vanilla" emacs just like I use "vanilla" vi(m). After all, | if I'm using vi key bindings... why not just use vi? | pmoriarty wrote: | Both vanilla emacs and vanilla vim are only a tiny | fraction as powerful as either editor enhanced with | plugins. You really missed out with this choice. | ragnese wrote: | > to this day I still don't see what the hype was about. | | As an Emacs user[1], I agree. The flexibility is really cool, | and there are a handful of Emacs applications (notice I didn't | call them "packages") that are "killer apps", like Magit, Org- | Mode, Calc, etc. | | But, even though I do use and like Emacs, I can't honestly | recommend it to anyone and I wouldn't even consider it to be a | very good programming environment unless you're specifically | working in a Lisp/Scheme (where it's awesome). | | These days, I mostly use Emacs for programming in Rust and for | using Magit as a git porcelain even when not using Emacs for | the actual code editing. | | Here are the things that suck[2] about Emacs (mostly from the | point of view of a programming text editor): | | * The UI is slow. Don't tell me that it's "only" when we have | long lines, or too much syntax highlighting or whatever. Sure, | if I turn off all of the useful programming features, the UI | updates fast enough for me to not notice any latency, but any | time I open a file that uses a LSP server or equivalent (not | just Rust- I've done Clojure, JavaScript, PHP, and C++ in | Emacs), the latency for even just moving the cursor around is | noticeable and it's distracting. | | * Tramp sucks. I don't understand how everyone says that Tramp | is awesome and magical. Every single time I've tried to use it | to do anything, it's been a bad experience. It's been a few | years since I've even tried it, but I remember having to | wrestle with ssh-agent authentication, some packages not | playing nicely with it (besides the "obvious" ones like LSP- | mode), and the whole application hanging if the Tramp session | hung for some reason. | | * It's actually really HARD to customize properly. The experts | say that Emacs is "self-documenting" and "introspectable", but | many times, I'll try to customize some behavior or a keymap or | something, and I'll read the documentation for a variable or | function and it'll say something like "takes a plist of FOO | definitions,"--well, what the heck does a "FOO" definition look | like? What are the keys for the plist? What are acceptable | values for those keys? It's very common to just have to dig | through the actual elisp code to find out. Then, you'll find | out that your customization doesn't even work correctly because | some other mode or function stomps on your code, or gets | initialized in a different logic path that isn't affected by | your change. Since every feature and every package is | different, you have little chance of just figuring out a few | conventions or any standard structure for packages. | | * Handling buffers is tedious. Sometimes buffers appear and | take over the whole frame, sometimes they split the frame and | steal focus, and sometimes they split the frame and don't steal | focus. And it's very ad-hoc and tedious to try to separate out | "background, system buffers" from "my actual work buffers". | There are tons of Emacs packages that attempt to make it easier | to manage buffers, switch between them more easily, group them | in lists, etc. | | Like I said, I _like_ Emacs. But, I also run Linux on my | personal machines and run a de-Googled AOSP ROM on my rooted | Android phone. UX, polish, and convenience are obviously not a | high priority for me. | | [1]: I've used Emacs to varying degrees and with varying levels | of dedication and hardcore-ness since 2008-ish. At a few | points, I would've said that I was pretty competent/proficient | in Elisp, and have authored some fairly elaborate functions to | help me with common tasks within Emacs. I even use to try to do | a version of "literate programming" with org-mode and org-mode | babel blocks in place of something like Jupyter notebooks for | Python. | | [2]: Yes, this is a very negative comment, but I tend to | complain loudest about the things that I love and care about. I | don't complain or criticize things that I don't like or don't | want to use. | BeetleB wrote: | > Handling buffers is tedious. | | I feel the pain. I often daydream about spending time | customizing it to my needs, and add that to the other 576 | ways I want to customize it and don't have time. | | And then I sigh and remind myself "At least it's better than | tabs!" before I return to my tasks at hand. | pmoriarty wrote: | I love emacs, but agree with many of your criticisms. | | Emacs can be slow. I don't use LSP, so can't comment on that, | but it's definitely slow on long lines with syntax | highlighting. | | I don't use TRAMP for exactly one of the reasons you | mentioned: it can hang Emacs. I want to avoid that at all | costs, because I pretty much live in Emacs. | | Emacs' default handling of windows (in emacs terminology it's | "windows", not "buffers" that you're talking about) is | painful, but you can improve that through various packages, | like popper[1] | | Depending on what problems you run in to and your skill | level, it could be tricky to debug elisp programs. However, | compare that to when you run in to some bug in VSCode... how | are you going to debug that? You'll probably have to submit a | bug report and wait for the developers to get to it (if they | ever do)... how is that better than emacs? | | Also, remember that you don't have to go it alone in | troubleshooting the issues you run in to with emacs. There's | a whole community ready and willing to help. | | Despite the downsides of emacs, I still use and love it. | Every editor has downsides, and emacs is no exception. Its | positives far, far outweigh the negatives for me. There's | just so much more that it can do than other editors, and it's | far more customizable. I very much doubt I'll ever seriously | consider switching to another. | | [1] - https://github.com/karthink/popper | ithrow wrote: | I have love/hate relationship with Emacs too, but for the | stuff I do in Emacs I hate other software more. So Emacs it | is. | juped wrote: | Emacs is an operating system, not an editor; I'm really not | sure why Stallman constantly promoted the "emacs vs. vi" meme. | | You might as well try to switch from Notepad to Linux. It's | just a type error, and you'll have a bad time. | commandlinefan wrote: | > Emacs is an operating system | | Reminds me of an old joke: "Emacs would be a great OS, if | only it came with a decent text editor..." | 0zemp1c wrote: | > Emacs is an operating system, not an editor | | what does it take for this tired and false meme to die? | Y_Y wrote: | Ok, it doesnt have a kernel full of hardware drivers or an | implementation that runs on bare metal. That said, it | covers a lot of userland and things otherwise covered by a | Desktop Environment (which are often conflated with OSes). | In terms of application hosting, window management, low- | level system control, etc. and the fact that some brave | souls have had success with running emacs as PID 1 means | that it's not a million miles away from being an OS. | | (And that's without the inevitable implementation of some | basic OS functions in elisp by various wizards) | abudabi123 wrote: | (global-set-key (kbd "M-<tab>") #'completion-at-point- | using-chatgpt) | suetoniusp91 wrote: | Making a new account to post a pithy pedantic negative | reply is usually a indicator of irl issues that need to be | addressed. The parent is not wrong in his point that | comparing vi to emacs is the proverbial apples to oranges. | They are different types of tools | eequah9L wrote: | Not an operating system, more like a desktop environment. | UI_at_80x24 wrote: | For the EMACS guru's in this thread I have a question. | | How practical is EMACS for a non-programmer? My preferred | environment is FreeBSD + i3WM. I'm a sysadmin, I have no | programming skills so anything beyond tweaking the odd | configuration file is of no interest to me. | | I know that being able to write elisp is a major component of | using emacs, but how usable is it without being able to write | your own programs? | abhayhegde wrote: | Actually, what's the fuss about Emacs being so good? I'm a | hardcore vim user to the point that I've installed Vimium for | browsers, use vim on my iPad as well. | | Someone please enlighten me with links, guides or just a comment | as to what's in Emacs that makes it productive and special. | throwawaysalome wrote: | Plenty of google-able info to answer your question. But to wax | poetic for a moment, you may think of vim as chess and emacs as | baduk. You can learn chess quickly, and the game goes as deep | as you're willing to go. Absorbing baduk takes significantly | more time, but once you get it, it's like peering into another | dimension. | sundarurfriend wrote: | > baduk | | (for people who don't know it by this name: this is | apparently the Korean name of the board game Go.) | teddyh wrote: | Start with the official Emacs Tour: | https://www.gnu.org/software/emacs/tour/ | psd1 wrote: | https://news.ycombinator.com/ | | There's a lot of non-emacs filler but it's still the best emacs | e-zine | hammyhavoc wrote: | I'd love to give it another try, but not convinced it's a good | fit for me. Love it conceptually though. | | The stumbling block I usually come to is wondering how to utilize | these data sets on my smartphone in an efficient and effective | manner. | ryukafalz wrote: | It does only work for a subset of org-mode functionality, but | for TODOs and similar I find Orgzly on Android works great. I | sync between my laptop and phone via Syncthing. | hammyhavoc wrote: | Wow! That's exactly what I hoped for. That's lovely looking. | ctur wrote: | I find the iOS app BeOrg great for mobile access to my org mode | inbox. It works well as not only a place to write quick notes | but also to, say, "share to" links from Safari and other apps | to create inbox entries as well to quickly capture URLs to view | later. | arminiusreturns wrote: | I use emacs from termux frequently, even better if I use my | bluetooth keyboard and hdmi out to a tv, but even though the | text is small in normal mode I still prefer it to any of the | fdroid emacs or org mode packages. | | For those who worry about runaway configs, I highly suggest | starting with sanemacs for a good minimal configuration you can | start with and build from a good foundation on. | xphos wrote: | How did you collect such detailed statistics of your usage that's | the crazy part in my opinion not that you actually switch but you | have the statistics to monitor the switch! | DoingIsLearning wrote: | If you've done any significant amount of contract work you get | used to logging your time for multiple clients. Arguably you | then grow wiser and charge per day. | slashdev wrote: | Why do people still use emacs and vim in this age of VS code and | intellij? | | I've heard plenty of arguments, but they kind of suck to be | honest. They're more like rationalizations for why they stick to | what they know. | | I just don't get it. Why use inferior tools? | | Both are lighter weight. Big deal, buy a faster computer. It's | nothing compared to your salary. | | Both _may_ let you type slightly faster and move around faster. | Maybe. But that's not the bottleneck anyway. | | Why? Am I missing something or is it just an irrational | attachment to software they learned long ago and prefer to stick | with rather than learn something new? | Paul-Craft wrote: | You seem to be missing that they're not actually inferior | tools. I can't think of a single thing that can't be done at | least approximately as easily with emacs than with VSCode and | the like. | slashdev wrote: | Are they really? Do you get all the same plugins, all the | lints and hover info, refactoring, jump to usages/definition, | smart auto complete, etc? | | They seem awfully limited to me by comparison. | stevenhuang wrote: | Yes. | | https://github.com/neoclide/coc.nvim | | Or | | https://github.com/neovim/nvim-lspconfig | | https://github.com/hrsh7th/nvim-cmp | | No different than installing plugins in VSCode for | completions, they all work via calling out to a LSP server | using https://microsoft.github.io/language-server-protocol/ | | When you don't understand something it's only natural to be | unaware of its capabilities, yes. | ParetoOptimal wrote: | > They seem awfully limited to me by comparison. | | Can you list your most important feature(s) in chosen your | ide or editor that you suspect emacs doesn't have or can't | easily have? | slashdev wrote: | How about the intellij inspections? It's a ton of lints | that underline bits of your code as you type, with a wavy | line, and you can hover over it to see what the problem | is, and even potentially fix it automatically. Is there | anything like that in the emacs world? | nequo wrote: | The ESS package ("Emacs Speaks Statistics") does | something like that for R without using an LSP. | | `lsp-ui` does it for Rust at the very least but probably | for other languages too. | pmoriarty wrote: | Things you can do inside emacs (and have all this be tightly | integrated so you can copy and edit data seamlessly from one | "application" to another, without leaving your editor): | | - browse the web | | - read/send/edit email, RSS news, usenet | | - chat on IRC and other chat networks/protocols | | - use org-mode to edit notes in an outline format with | hyperlinks, executable code blocks, a spreadsheet, etc | | - use magit, one of the most powerful git interfaces | | - read and edit PDFs and LaTeX with visual LaTeX symbol | substitution right in the editor | | - program and configure the editor in elisp, with a whole elisp | ecosystem used for every plugin (this alone would make me | switch away from any other editor to emacs) | | - use thousands of other scripts and plugins that are the | result of 50 years of development | | - absolutely everything customizable to the nth degree, as | emacs is more of an editor construction kit than a mere editor | anikom15 wrote: | Why waste time learning about some fad IDE that will get | replaced by something 'better' in five years? Newer text | editors don't do anything better than Vim, and they are | strictly worse when it comes to their primary function: editing | text. | | 'You can install a vi emulator.' - Waste of time. I already | have vim. | | My vimrc file still works. New machine? Just install vim and | copy my vimrc over. | | Emacs is a totally different experience. Emacs is essentially | the interface side of an operating system. There is really no | replacement for it except a UNIX command-line with a bunch of | CLI tools for things like news and email that people have | forgotten about. | lezojeda wrote: | [dead] | gshulegaard wrote: | I think I would rephrase this question as why would I stop | using emacs for VS code and intellij? Seriously, there is no | feature they have that my emacs config doesn't (AFAICT after | using Intellij and VS code each for 4+ years). But I have the | ability to work with emacs without ever touching my mouse. You | may consider that only being "slightly" faster, but every time | I use VS code, _feel_ slow because I know how fast I would have | been in emacs. | | Combine this with my tiling window manager and I pretty much | only have to use my mouse to interact with web browsers. That's | the killer feature that makes VS Code and Intellij _feel_ | inferior to me. | | Now I wouldn't go so far as to say that VSCode and Intellij are | _actually_ inferior to Emacs. I think both are great in their | own right, but after years of familiarity I have a fluency with | Emacs (because of the keyboard oriented interface) that I could | never have with them. | | To be fair, for someone without emacs fluency I would probably | steer them towards VSCode and Intellij as they are definitely | more approachable. In fact, I have done exactly that for | several of my friends and colleagues. | slashdev wrote: | The no mouse thing is one of the best arguments I've heard. | I'm not convinced it makes it worthwhile, but I'm willing to | grant it's possible. | KryDos wrote: | I don't think the fact that Vim and Emacs were created a long | time ago makes them inferior. | | They keep developing and they are up to date with many/all | programming-features. There are bunch of extensions that VScode | just doesn't have despite it's huge extension store. | | Also the main thing for me about these editors and especially | Emacs is that you can program it. Not just configure it but | actually program and do anything with it. You can hook into any | piece of the code and change it. You can read the source code | of any "extension" and patch it on the fly. I don't think I'm | aware of any other editors that allow that. | | It's huge power. | slashdev wrote: | To be clear, I'm not saying the problem is they were created | long ago. | | I'm saying (from my pov, which may be wrong) that they don't | seem to have as good of an IDE experience. Certainly the out- | of-the-box experience with emacs/vim is much worse. And the | learning investment is pretty steep. But even if you | configure everything as an expert would, the experience still | seems lacking to me. | throwawaysalome wrote: | The argument for vi is easily made. UNIX devs are constantly | diving in and out of directories, grepping, awking, and | otherwise spot checking code at the shell prompt. A terminal- | based editor emulsifies coding and such command line | activities. The argument for emacs is less easily made, and its | dwindling market share evidences that. If you're a black belt | in elisp like I am, all other editors seem unusable. But you're | right. If I hadn't already spent years mastering emacs, I'd | likely not give emacs so much as a look. | slashdev wrote: | That's another good argument. Once you've invested the time | learning everything about emacs, that's not a barrier to | using it anymore, it actually kind of locks you in, since you | won't have that level of familiarity in VS code or intellij | (and anyway, they're not as friendly to modify.) | todd8 wrote: | In grad school in the 80's I used Emacs. At home around 1984 I | got my first PC running MSDOS. For years I used a commercial | product that used Emacs keybindings (Epsilon) because Emacs | wouldn't run on my PC. | | When I went to work at IBM I was disappointed that concerns over | the Gnu license forced me to use vi for a few years, but I | discovered it to be great an editor for me. | | I eventually was drawn back to Emacs and now, many years later, I | enjoy playing with my config file every week. There is always | something new to be added. | | It's org mode and magit that make it impossible to leave Emacs. | (Right now I'm experimenting with a configuration where I've | installed the top 600 most popular add on packages at once. I'm | kind of using the wisdom of crowds approach to picking packages | this time. Next week it will be something else.) | pyrophane wrote: | > Poof I made my free-time disappear | | - Ellis Kenyo, on being called an "elisp mage" | | Haha, this is exactly what I fear if I tried to switch from | Neovim to Emacs. I have a pretty bare-bones Emacs config that I | started a while back, but haven't spent the time to really get it | going. | goldfeld wrote: | Maybe Doom Emacs can win me back, I ended up preferring the vim | emulation mode in Emacs, evil, over nvim but my dotfiles | bitrotted over the long years | codr7 wrote: | Yeah, thanks a lot, I just lost two hours setting up and | configuring EXWM. | | Very cool, makes me wonder why I didn't think of this before, | I've been using Emacs since forever. | bitwize wrote: | > As I said, I started from the point of zero experience with | Lisp. I had a degree in software engineering, but I don't feel | like it has helped me in any direct sense. At most, it exposed me | to different kinds and concepts of programming, but I am | confident that it's anything but a prerequisite, as also shown by | the story of Protesilaos. | | A reminder that back in the late 1970s, secretaries at MIT who | knew nothing about programming were using Lisp to customize | Multics Emacs to their liking and workflow -- and Emacs was far | less convenient then than it is now! | | The weird trick they used was, telling the secretaries they were | just customizing their editor, not programming it! | kaveh808 wrote: | A few random Emacs thoughts... | | One really nice feature of MacOS text widgets is the inclusion of | basic Emacs key bindings such as C-k, C-d, C-a, etc. Brought | forward from the Next days. | | I used Zmacs on Lisp Machines back at MIT in the early 80's. A | couple of my favorite Emacs-related acronyms are the editor EINE | (Eine Is Not Emacs) and its successor ZWEI (Zwei Was EINE | Initially). | | I remember at one point in the late 80's using Emacs in the shell | on SGI Irix workstations. No mouse support at that time for it. | | Today I still use Emacs/Slime for my Common Lisp 3D graphics | hacking. | camgunz wrote: | This website is a treasure trove of emacs config goodness. | Bookmarked to come back to to explore switching from vim once | again. | [deleted] | Pr0ject217 wrote: | I switched from VSCode to Doom Emacs a couple of months ago. | | I've been using ChatGPT (GPT-4) to help me write config (~1,000 | lines of elisp code so far) and it's been very interesting/fun. | I'm not going back. | bachback wrote: | very cool can you share more? | BeetleB wrote: | That's interesting. I've asked Bing Chat and ChatGPT several | times to write me elisp code, and _not once_ did it work well. | It often invents APIs. | ParetoOptimal wrote: | Hm, I've had luck with openai gpt4. I've had it make fake | APIs before, but usually when I say "fooFakeApi doesn't | exist" it corrects itself. | pmoriarty wrote: | But how well does it do on elisp? | BeetleB wrote: | When I've informed it of fake APIs, it apologizes, and | replaces it with another fake API. | newtwilly wrote: | I recently had GPT 3.5 write me a function for translating | the number under point to an ISO timestamp. It handled | whether the epoch number was milliseconds or seconds since | epoch. I kinda had to iterate on it and ask it to do some | things different, but it never wrote invalid code. | JohnMakin wrote: | the .vimrc I've been using for like 7 years has 8 lines | taw28 wrote: | My emacs config is zero lines. | Scarbutt wrote: | Respect. What do you use it for? | prashp wrote: | That's the thing, he doesn't | adamc wrote: | I've used emacs daily for maybe 15 years (and not as daily before | that). I think I have a love/hate relationship with it. It's | certainly the most customizable editor I can think of, but over | time, that can be a burden. And its age means... the APIs are | often not very intuitive. The terminology is often a bit strange. | | I dunno. I can see why folks use VSCode. | tpmx wrote: | I've used emacs for 25+ years. I was never into LISP; I just | _really_ liked the interface. And muscle memory goes deep. | | Two months ago I switched to VSCode. The "Awesome Emacs Keymap" | extension by Yuichiro Tachibana made it possible: | | https://marketplace.visualstudio.com/items?itemName=tuttieee... | | It's not 100% perfect, but close enough. I'm quite enjoying | using VSCode now. It's fantastic having a wealth of actually | user-friendly features/extensions to choose from. | | VSCode is so annoyingly cluttered/blinking/animating/popup- | infested by default though. There are a lot of things to | disable in the default config. | tpmx wrote: | The incremental search behavior still trips me up; it sorta | works but not exactly. | | Then there are a few crucial key bindings missing (like | creating and closing split windows) - that seems doable | without changing the core VSCode behavior. | cyrialize wrote: | I'm in the same boat - I've used it almost daily for 7ish years | at this point. It's so much fun to use and customize, but there | are easier options out there. | | When people find out I use Emacs I always caution them against | using it. It's taken me a long, long time to be productive in | Emacs. VSCode, JetBrains tools, etc. don't have the same | requirement and start up time to productivity. | | Buying into Emacs does give you a lot though! Emacs way of | splitting panels, going through buffers, going through files, | always feel better than other applications for me. | tpmx wrote: | > Emacs way of splitting panels, going through buffers, going | through files, always feel better than other applications for | me. | | Yes! | | Some of the people who built GNU Emacs were legit UX | geniuses. | adamc wrote: | It does. And the editor design, where almost everything of | significance is just a function you can call/advise etc. from | user code, makes it the most supple editor on earth. That's | why I'm still there. But... | | Pretty huge learning curve to adopt it. | crabbone wrote: | [flagged] | SettembreNero wrote: | > I haven't met anyone who used VSCode / MSVS / IntelliJ | products or Eclipse who was good at writing code. | | How many people have you met? ___________________________________________________________________ (page generated 2023-04-13 23:00 UTC)