5 ms·
Emacs is weird. I think it changed something in my brain. Before Emacs, I never thought I would ever try controlling video playback from my editor. "Just why?"
by iLemming 1y ago
Emacs is weird. I think it changed something in my brain. Before Emacs, I never thought I would ever try controlling video playback from my editor. "Just why?" I probably would've said. I never thought I'd be trying to get the text from the active tab in my browser. Or search through my browser history. Or OCR the content of my clipboard, or control my WM. Dang, before Emacs, it didn't even occur to me to try to type just about any text in my text editor - which now makes absolute sense - why would I ever bother typing in my browser window, Slack, Zoom, or email client?
In Emacs, I have all the tools I need for dealing with text - thesaurus, spell-checking, definition and etymology lookup, search engines, translation, LLMs, etc. Why, oh why, wouldn't I ever try typing anything longer than two words in anything else?
Like, for example, while typing this very comment, I may come across a thought: "I think I already made a similar comment some time ago, let me find it..." What would a regular user do? They'd switch to the browser, navigate to HN, scroll to the bottom, type search query, lookup on the page, jump to the next, keep paging until they find it, copy, switch back, paste... What would an experienced Emacs user do? They'd search for it without ever leaving their editor, grab the stuff from the buffer and paste it - all within just a few keystrokes. Or if I need to find a url in my browser history - I'd just search for it and insert in-place - two keystrokes+search query.
It's not just faster - it is profoundly satisfying and liberating. It gives you the feeling of being in control. You don't have to deal with the quirks of specialized apps; you don't need to memorize tons of their specific keybindings; it gives you a straight path to extracting or injecting plain text.
That's why those who never made a wholehearted attempt to use Emacs just never get it. And those who have, never can understand why others don't even try to recognize the value.
- qiine 1y agothis is inspiring, I am slowly getting to that same conclusion but in neovim... if I write text I want all my nvim fancyness... because oh boy is it fancy!
- iLemming 1y agoYup, Neovim is very awesome, I use it myself pretty much every day whenever I need to ssh to a remote host. There are many reasons though for why it is unlikely to dethrone Emacs as my main driver. Just like Emacs could never fully replace my photo-editing app. It saddens me how people of Emacs often reject vim navigation outright, just as the broader programming community tends to dismiss the fundamental ideas that drive Emacs. Neither represents a dogmatic religion, nor do they embody fundamental, conflicting truths about computing. No one needs to choose one and commit to it exclusively - they are simply tools, built upon some brilliant foundational concepts. Understanding and utilizing the ideas behind them may literally transform your life in mind-blowingly positive ways. I wish more people contemplated this profound truth, instead of thinking they have to stick with one, particular way of things.
- slowmovintarget 1y agoEmbracing Evil has been totally worth it. My cursor now teleports around the buffer at the speed of thought.
- iLemming 1y agoEvil mode is fantastic. Not only am I fascinated by how nicely it works, I'm just impressed that it's never been a built-in feature of Emacs. It definitely doesn't feel that way. It feels like a baked-in, first-class thing. Here's one thing about vim-navigation. Gary Bernhardt (the WAT talk guy) once said: "There's no vim-mode there's only Vim" and he was right - to a certain degree. All the different extensions and attempts to bring vim-navigation to non-vim editors have glaring deficiencies - all of them - VSCode doesn't fully vim, IntelliJ doesn't do it comprehensively, Sublime can't properly vim, etc. With one notable exception. Emacs actually vims better than vim/gvim/neovim. I'm saying this with the full-blown confidence of a die-hard vimmer. The way Emacs implements Evil-mode and its extensions is the ultimate compliment to its design. If there's a model of a plane that can perform a vertical landing, yet never actually needs to use it, I would still love that model over any other planes, even if the feature is purely accidental. The fact that it can do so alone would be great evidence of amazing engineering. Evil-mode is absolutely one of the most celebrated achievements of Emacs, complementing other remarkable packages like Org, Magit and many others.
- tmtvl 1y agoI used Vim for 5 years before I eventually made the switch to Emacs. The reason I switched was because I needed an alternative to stop my hands from hurting all the time. Because having to slam every key at full force (because a missed input can wreak absolute havoc) was really taking its toll on both my hands. The combination of using standard Emacs bindings and the Dvorak keyboard layout have improved things significantly.
- iLemming 1y agoI think your case is an outlier - I think most people go the opposite direction specifically to escape issues with their wrists, but I suppose it is all very personal - depends on too many factors. Great thing is that Emacs is so flexible, it doesn't really care how you use your keyboard.
- Zobat 1y agoI do like having access to stuff while doing similar stuff. Perhaps I'm just a little too lazy to learn that stuff while still getting paid to know other stuff. And I do have just about every tool/feature you mentioned, just not in a single user interface. I guess the path to Emacs was more of a possibility/probability earlier in my career and I might find it later but for now I'll alt+tab to the browser and/or open a new tab when I need to look up any etymology and stick to navigating around Visual Studio like a pro while they still pay me to do it.
- vector_spaces 1y agoThe nice thing with emacs is that you can do as much or as little as you want with it. For me it started with basic text editing, then doing some git stuff with magit, then realizing emacs has wonderful capabilities around notetaking and to-do management in org-mode. Like you, though, I work in orgs that are very Windows heavy, so I tend to use it more for my personal stuff rather than in my day job
- Karrot_Kream 1y agoYeah I know some folks who only really use it for basic text editing and org-mode notetaking. I know writers who only use it to write. I know coders who only use it to code. etc.
- iLemming 1y ago> I do have just about every tool/feature you mentioned, just not in a single user interface. Well, just like I said - you're not getting it, we're talking past each other. It isn't about a "single interface" - not about cramming everything into one window, it's rather about seamless workflow integration. It's like having a command center that orchestrates your existing tools, rather than replacing them. The power isn't in the interface - it's in the programmable glue between your tools. You say: "I'd open a new tab if I need etymology..." Sure, on the surface it feels like a fair point. However, when you have the ability to request something from any tool or service "at-point", right in the middle of typing a sentence or solving a specific task - it simplifes so many things, and you tend to use those tools more. It's basic psychological phenomenon called 'convenience effect'. But that's the only half story of it. Here's the practical example I often use as an evidence. I use Google Translate, alright? On its own there's nothing special about it - other editors and IDEs, also probably have integrations like that if not even nicer with GTranslate or some other translating service, right? Yet check this out. I'm learning Spanish, and when I want to translate something like "Colonel was born in 1968", what would GTranslate do? It would translate the text leaving the numbers intact, and that's totally expected. But guess what? I am trying to gain better familiarity with numbers in Spanish, I really do need to see them in their written form. How long do you think it took me to solve that little personal discomfort? No longer than fifteen minutes. First, I needed to find out what actually was sending the payload to GTtranslate endpoints. I launched Emacs' built-in profiler and performed a task of translation. I found the function. Then I advised it. Advising is an Emacs Lisp mechanism to prepend, append or override the behavior of any given function - built-in or third-party. So, I figured that if I convert the numbers to text first, then send the payload with that text instead of numbers, it will work exactly as I wanted. I couldn't even find an implementation of numbers-to-word in Elisp, and I didn't want to spend any time trying to write one. So I delegated the task to an npm package. Now, my advising function adjusts the behavior of 'translate' function (that sends the payload) by detecting the numbers in the text and then runs nodejs, changing the payload, so GTranslate spits out: "Coronel nació en mil novecientos sesenta y ocho" Did I have to write my own browser extension for that? Nope. Did I have to figure out how GTranslate endpoints work? Nope - I didn't even have to open their documentation page. Did I have to re-implement the entire command that sends the payload? Nope - I just needed to tweak one, specific aspect of it, with extreme granularity - the body of the function is ten lines long. If that's not some blackmagickfuckery, I don't know what that is. Maaaan, I wish someone has showed me some shit like that when I was much younger. > Perhaps I'm just a little too lazy to learn that stuff Here's a thing about ideas - and don't consider Emacs as a concrete tool, a mere editor, but think of the fundamental idea behind it. You don't need to "learn" ideas. You just have to cultivate some level of curiosity about them. Sure, you may later have to spend considerable time learning the concrete tools behind those ideas, but absorbing the idea is the first step. And grokking basic fundamentals about the idea of Lisp is pretty trivial - one just needs to learn mainly two things - structural editing and REPL-driven development. Some may argue that even those are not specifically necessary to begin the journey. You know how the "do" in Taekwondo, Judo, Aikido, Karate-do stands for "path" or "way"? There's no truly "learning" Aikido, you either practice it or you don't. It's a lifelong practice rather than something you "master" or "complete." The idea of Lisp is similar - it's not really something you "learn" in the traditional sense and then move on from. You practice thinking in Lisp. The fundamental principles of Lisp - code as data, the power of the REPL, recursive thinking, functional approaches - these aren't just techniques you acquire. They become a way of approaching problems, a mindset you cultivate through practice. The practice never really ends - it just deepens. I haven't done any martial arts, so I'm just spitting words here, but I bet, if I ask anyone who practiced Aikido for a long time if it makes their lives any better, I bet they'd tell me some koans about zen master pouring tea or some other shit that I'd immediately dismiss as complete bullshit, so I wouldn't blame you if you take my words the same way. > I guess the path to Emacs was more of a possibility/probability earlier in my career Just like Aikido welcomes practitioners at any age or stage of life, Lisp is always ready for new practitioners. The fundamental principles align here in more ways than one could imagine - "the journey is the destination", "wisdom over athleticism", etc. Many people discover their deepest appreciation for Lisp (or Aikido) later in life, when they have the patience and perspective to appreciate the subtleties. The best time to start is always now.
- bfors 1y agoHow are you integrating with things like HN or your browser history?
- bowmessage 1y agoPer the comment, he doesn’t have to, all prior written text is nicely stored in a file (probably an org file), already open in emacs.
- iLemming 1y agoNo, I don't do that. I don't store my own comments. I just browse and search HN directly in Emacs.
- iLemming 1y agoI'm glad you asked: https://www.youtube.com/watch?v=ud3Gmxg5UZg https://www.youtube.com/watch?v=ud3Gmxg5UZg - Browsing Reddit and HackerNews In Emacs (7 minutes). If you don't want to watch it: https://github.com/thanhvg/emacs-hnreader https://github.com/thanhvg/emacs-hnreader - for browsing HN. https://github.com/thanhvg/emacs-reddigg https://github.com/thanhvg/emacs-reddigg - for browsing Reddit. https://github.com/agzam/consult-hn https://github.com/agzam/consult-hn - for searching through HN. https://github.com/agzam/browser-hist.el https://github.com/agzam/browser-hist.el - for browser history.
- sexyman48 1y agoPfft, you call that an emacs-HN integration? Something tells me you had to bring in the browser at some point, either when reading this message, or writing your reply. I am using nnhackernews. Now that's a real emacs-HN integration.
- iLemming 1y agoSure, that's just another package I forgot existed. Guess what? You can still use all of them together in the same instance of Emacs and they probably wouldn't even complain about it.
- Waterluvian 1y agoI hear stories like this and I can kind of see the proposition. But I’d be more eager to, somehow, see a long-running example of it all at work. I think I’m not so skeptical about what it can do, but somewhat skeptical that it’s actually as much of a paradigm shift as some describe it to be. I wonder if oftentimes it falls in the enjoyable hobby category of, “I just really enjoy upgrading my workshop.”
- deleted 1y ago[deleted]
- iLemming 1y agoIt is indisputably not a hobby, at least for me, personally it ain't. I've been coding long enough to see a difference between "oh, what a nice gimmick" and "how the fuck would I even do that, if I didn't know this way existed...". Long. My first programming language was Sinclair BASIC. The second PL I learned was Pascal. I picked up a few more over the years. I'm not trying to show off, nor am I claiming to be an outstanding programmer - I'm neither great nor terrible. I'm just saying I've been doing this shit for a long time, that's all. It isn't a hobby, because Vim and Emacs allow me to perform in a way that I consider far more enjoyable, productive and satisfactory than I ever had before them. That is of course on a personal empirical basis - I cannot promise them having the same effect on anyone else. In my opinion, after many years using many different tools, techniques, ideas and methodologies, frameworks, approaches, systems, platforms, workflows, philosophies, paradigms, strategies, practices, concepts, models, theories, and experiments, I personally find these two to be exactly the paradigm shift — in comparison to my prior experience when I didn't have them. But let me be more specific - the paradigm shift I see is not in Emacs or Neovim as tools themselves. The paradigm shift I sense is in the grand ideas behind these tools - modal navigation and Lisp. I honestly don't know why more people don't gravitate towards these ideas. Perhaps, because these ideas are kind of like 'meditation' - people say one can only experience the mind shift after practicing it for some time. I wouldn't know - I never practiced mediation for long. And that time required to see the shift can differ for every person - some may grok it quickly, for some, it may take decades without ever even clicking. Also, you're wrong about "upgrading one's workshop" - it's a misconception that longtime Emacs users constantly have to tweak their configs. My config for example is pretty stable; I often make changes to it not because I have no choice, but because the task at hand calls for it. I write a lot of Lisp because it's an instrument for achieving specific goals and solving specific puzzles - work for which I get paid real amounts of real money. I get paid to use Emacs, not the opposite. So, no: definitely not a hobby.
- dehrmann 1y agoEmacs is the WeChat of Gnu/Linux.
- deleted 1y ago[deleted]
- isbwkisbakadqv 1y agoI really want to learn eMacs but most of my work is in Jupiter notebooks in terra.bio - can eMacs interact with that?
- eadmund 1y agohttps://github.com/emacs-jupyter/jupyter https://github.com/emacs-jupyter/jupyter exists. No idea if it’s awesome or terrible. FWIW, Org Mode is what a native Emacs user might reach for as alternative to Jupyter notebooks: https://michaelneuper.com/posts/replace-jupyter-notebook-with-emacs-org-mode/ https://michaelneuper.com/posts/replace-jupyter-notebook-wit... That doesn’t imply that you should both try Emacs and replace Jupyter! Just be aware that if either you are using Jupyter for your own reasons or working with like-minded team there is an alternative which may be preferable for your use-case.
- disgruntledphd2 1y agoJupyter support in Emacs is pretty bad, tbh. I keep trying every once in a while (as lots of companies prefer notebooks) and it basically never works. You could probably get it working locally for yourself but in corporate environments it can be annoyingly hard. org-mode is a better choice, but note that it's not specialised for Python (which is good and bad) so you may need to wire up some stuff (I mostly use R for personal stuff and that works very well).
- NDxTreme 1y agoThe emacs everywhere package and a browser extension allow you to edit text live in the browser from emacs, every keystroke, copy/paste etc is mirrored in the browser. I haven't used terra.bio, but this works for any text box, so should just work. Of course, emacs has modes for Jupiter and other notebooks, as well a Org Mode and a way to run code from Org Mode to function similarly to such notebooks, just you can execute code in any language, not just python, and can then immediately use the results in the rest of your file, including tables. You can even reference tables in your code blocks.