20 ms·
Use GNU Emacs
- morjom 4y agoI haven't stepped into the Emacs or Vim world yet (hopefully this year as I ditch Windows as my daily driver). Currently I just run VSCodium
- amir734jj 4y agoWhat is VSCodium?
- morjom 4y agoIn their own words: "binary releases of VS Code without MS branding/telemetry/licensing" https://github.com/VSCodium/vscodium https://github.com/VSCodium/vscodium or alternatively: "VSCodium is a community-driven, freely-licensed binary distribution of Microsoft’s editor VS Code." https://vscodium.com/ https://vscodium.com/
- tmtvl 4y agoI always find it odd that their main README says all the telemetry is out, but then their DOCS* says that: > Microsoft will still track usage by default. * https://github.com/VSCodium/vscodium/blob/master/DOCS.md https://github.com/VSCodium/vscodium/blob/master/DOCS.md
- deleted 4y ago[deleted]
- sposeray 4y ago[dead]
- kqr 4y agoThe Ingebrigtsen quote is meaningful. One should think of "using Emacs" not like "using Vim" but like "using the JVM." Emacs is a powerful platform for building hackable, command-and-ui driven applications. You may not like the text editor that ships with a default Emacs install, but you don't have to use it! There are others (e.g. evil.) There are also other applications. Some of my favourites are - calc (desktop RPN calculator with advanced functionality) - magit (context-aware git UI that interacts seamlessly with the git command line) - sunrise commander (orthodox file manager that thanks to TRAMP can visit remote filesystems as if they were local) - ediff (diff reconciliation between files) and my train is coming now so this is where the list stops but it could go on for a long time.
- b0afc375b5 4y agoOne other notable application is gud (realgud?), although for some reason I'm having a hard time getting used to it. Must be my vim bindings.
- loloquwowndueo 4y agoGit gud? :)
- xlii 4y agoI recommend calc, I fell in love with RPN and can’t use normal calculators anymore. Never heard about sunrise commander though.
- gpderetta 4y agoI occasionally need a calculator, but I just evaluate elisp expressions in *scratch*. What am I missing by not using calc?
- seanw444 4y agoSame here. I knew about RPN before Calc, and knew there were calculators that used it, but it seemed bizarre to me. Once I started using Emacs, I decided to see what Calc was all about, and finally realized how slick it feels. It's really cool to need to do some math while coding or writing, hit a quick keybind, and have a full-fledged calculator right in my editor. And the cool part is you can do things algebraically, too. Even solve for variables. Really crazy program.
- gwatch 4y ago[dead]
- VMG 4y agoWarning: the page is huge and managed to freeze my Chromium
- Karto 4y agoIt didn't freeze the Emacs of the guy writing it :-D 1 point for Emacs !
- favaq 4y agoI wish I could but the Windows version of Emacs sucks ass.
- cauthon 4y agouse GNU not windows :)
- favaq 4y agoSee, that's the kind of argument that is making vscode win over every other alternative.
- cauthon 4y agoIt was a play on “GNU not Unix” I use vscode as my primary editor
- mlatu 4y agohow can u live with it using the gpu so much? thats actually my reason for switching away from vscode as im mostly working on machines without a discrete gpu AND utilize the gpu in my projects.. i cant have my code editor use 30% of gpu just to scroll text up and down (without any plugins installed) it's just silly XD
- zvmaz 4y agoI abandoned Emacs for a couple of years and tried various "modern" tools (VS Code, Logseq, etc.). The "out of the box" experience never felt comfortable to me. Yes, Emacs can be a hassle to configure, but I can't help going back to it. I now use Emacs again with Meow mode, and my old configuration. I guess I'll use it for the decades to come...
- imp0cat 4y agoHe does not recommend custom distributions, but for me, Spacemacs (with evil mode) has been a gamechanger.
- wardedVibe 4y agoSame, but with doom instead. It has a sensible set of defaults and easy ways of installing packages. I haven't declared config bankruptcy since moving to doom.
- lmedinas 4y agoI tried Doom but I didn’t liked the fact Vi keybindings where enabled by default and the workflow tries to mimic modern Neovim setups. As an old an old Emacs user it felt atrocious to me.
- pritambaral 4y ago1. The initial setup lets you choose if you want vim keybindings or emacs. 2. The workflow does not mimic "modern neovim setups". It defaults to hlissner's preferred style, which predates neovim, but is extremely customisable. I mean, it's emacs, after all. 3. Hating on "neovim style" as an emacs user is something you and I better than. We are both old emacs users; we can customise emacs however we like. 4. I was an emacs user before Doom Emacs. I still found it a great as a starting point and ported over my customisations on to it. You don't have to use Doom, but you can, if you want to, and still have your emacs how you like it.
- worldsayshi 4y agoI used Emacs for a while and now I use Intellij. Now I don't understand the appeal of customizing the editor to such degree. I'm not that unique. I just want stuff that works. Give me the same setup as everyone else so that when issues arise everyone will push for them to get fixed and everyone can help each other.
- adastra22 4y agoI use Visual Studio Code now for pretty much this exact reason. The only configuration I need to do is to install the right language server extensions for the code I develop, but even this is mostly handled by the "It looks like you're writing Rust code. Do you want to install the extension to handle this file type?" dialog that pops up on first use. Everything is auto-updated, settings synchronized across devices, and default settings are mostly ideal. Reaping the benefit of everyone else's hard work at improving vscode is awesome. It just gets better over time without me having to do anything except occasionally read about new features in the release notes. Spending hours twiddling in emacs lisp to get things configured just right is just wasting my limited time.
- thom 4y agoYou also get the benefit of everyone else’s hard work with Emacs. One of the differences is that it’s such an established ecosystem, that instead of individual extensions just getting better, with Emacs they’ve yielded shared abstractions that make _new_ extensions trivial and much more consistent than with VSCode (which is nevertheless still an excellent editor these days). I also don’t understand why people think spending time on the tools they use to do work is wasted. You either believe software creates value or you don’t. If your time is so limited, eliminating toil seems essential.
- Scuds 4y agoI think my time is better spent improving my build and deployment environments instead of something like customizing my text editor. More of my work is in tying command line utilities together Maybe I don’t know what hardcore emacs use is like.
- jpe90 4y agoI came back to Emacs after trying alternatives for a while. I ripped out most of my config and found it much more pleasant to run close to stock. I'm having better luck using my web browser for email, sublime merge for Git, debuggers in external programs, etc. If I need to do some edits with multiple selections I open up Kakoune, and if I have a burning need for LSP I switch to VS code.
- Barrin92 4y agoWhat sets Emacs apart for me is that it, unlike a lot of "unix philosophy" tools, it deliberately takes a sort of systems approach. The often used analogy is that an architect never just designs rooms in isolation, but only changes a room in the context of the house. It's the whole arrangement that matters, not its parts. And you can't infer the performance of the former from the latter. The minimal approach to have 'one tool do one thing' ignores that all the complexity is in the interactions. People praise magit so much I think because like all other tools for Emacs, it's designed with Emacs and the common interface and language in mind. It's implicit in every extension people build. When people today struggle how to combine all their dozens of tools from notetaking to developing, to file search to git and struggle to fit it all together I think the strength of learning Emacs comes through. My guess is that this is also one of the reasons for the popularity of VsCode as it takes a similar approach.
- sbuk 4y agoIn short, it’s the antithesis of the UNIX philosophy.
- adastra22 4y agoI’d just like to interject for a moment. What you’re refering to as UNIX, is in fact, Emacs/UNIX, or as I’ve recently taken to calling it, Emacs plus UNIX. UNIX is not an operating environment unto itself, but rather another free component of a fully functioning Emacs system made useful by the Emacs lisp interpreter, shell utilities and vital system components comprising a editor, mail reader, and other necessary user interface components.
- sbuk 4y agoVery drôle! Made a professional grump smile on a dreary Friday morning, post school run.
- yaantc 4y agoIt's not so simple. With UNIX, the integration platform is the shell, hooking simple specialized tools through pipes and the shell language. With Emacs, the integration platform is a Lisp environment, hooking specialized Lisp tools and Unix tools through Emacs buffers (or buffers regions) using the Elisp language. So it's an extra layer, but if you look at it in this way you can see similarities: an environment that makes it easy to compose elementary functions into an integrated whole. In both cases, it's most suited for people who are ready and willing to build their own specialized environment on top of a powerful platform. Although many users don't and stick to the basics too.
- charcircuit 4y agoEmacs is software from the 80s that failed to adapt to the current times. It failed to innovate and address UX issues so its market share devoured.
- mlatu 4y agoit still has its place and it is the best customizable software tool i have encountered so far
- medo-bear 4y agomarket share seems like a wrong term for a product that doesnt seem to give an f about it. nor does it seem to care about some mean reversing ui. what it does seem to care about is the users that keep using and loving it ;)
- charcircuit 4y ago>product that doesnt seem to give an f about it. They should care about it. Losing market share means people are finding more value in other editors. Do the developers not want Emacs to give the most value as possible to users?
- medo-bear 4y ago> Losing market share means people are finding more value in other editors. some people just dont get it. emacs is not an editor :)
- bigbillheck 4y ago> Do the developers not want Emacs to give the most value as possible to users? They clearly do not.
- tmtvl 4y agoI disagree that Emacs losing market share necessarily means that people find more value in various editors. While that could be the cause, there are various other possibilities: more people are being mandated the use of various of those editors, those editors may have better marketing, the systems people are using may come standard with editors that are "good enough",...
- tzhenghao 4y agoI'm more of a vim guy, but "I get it". I started using these "serious" editors back in college and eventually settled with vim over emacs. I don't wanna get into the whole editor wars - it's like picking a Pokemon at the start of the game. I went through the whole phase of adding a bunch of plugins, custom macros and have a huge .vimrc file that, once in a while, would break if I was using the wrong vim variant {vi, vim, nvim}. For the sake of this argument, emacs users face some form of the same too. It got to a point where all my hardcore configurations made my editor experience diverge even further away from the promised "out of the box" experience, and not on par with autocomplete functionalities available in modern IDEs like VSCode. So now I'm on VSCode. A M1 MacBook can handle it, so I told myself to quit being a masochist, and that itself saves me hours especially navigating a big and complex codebase. But I remember how to use vim, and that comes in handy if I have to SSH into some remote machine and make some tweaks to scripts.
- shaunsingh 4y ago> it's like picking a Pokemon at the start of the game I haven't heard that before, but I feel like that's the best way to decribe it. ~~emacs~~ water type pokemon are the best clearly.
- geysersam 4y agoI'd love to use VSCode for the completion and other polished conveniences that just work. I detest having to manually configure anything. But vim moves and keybinds are just too good. If there was a combination that actually worked well, I'd switch in a heartbeat. But so far I haven't encountered an option with all of: * vim bindings (no compromises) * great completion / IDE experience * no configuration Currently my "pick 2 out of 3" is low config nvim, with bad completion as a result...
- zelos 4y agoI don't use it much, but VSCode's vim plugin seems pretty good these days. I know everyone has a different subset of vim commands they consider essential, but everything I use regularly seems to work: change list, '/' for incremental search, f, marks, macros, split windows etc. Actually, I may have just talked myself into using VSCode over MacVim...
- lmedinas 4y agoI love Emacs. I did a ton of things with it: - Organizer - git client - search tool - rough notes - Terminal - file management - Code editor! Pretty much everything. But sometime ago I realized I was adding so many customized code lines to my .emacs to reassemble the modern editors that it made me think I was using it wrong. Then I decided to take a break and start using Neovim, which imo borrows some nice stuff from EMacs like the Terminal and the lua interface.
- ParetoOptimal 4y ago> adding so many customized code lines to my .emacs to reassemble the modern editors I feel like trying to recreate vscode in emacs could be a suboptimal approach to say "add a directory sidebar and lsp-mode, but get used to emacs buffer and tab handling"
- crabbone 4y agoWhy would anyone want to recreate VSCode in Emacs? It's like asking a philharmonic orchestra to play Country Roads... Yeah, they probably can do a very good job at it, but they are there to play some more interesting music, wouldn't you think? > get used to emacs buffer and tab handling This clearly shows you've never used the program you are so confidently talking about... What tabs?
- ParetoOptimal 4y ago> This clearly shows you've never used the program you are so confidently talking about... What tabs? lol, quick to go for the jab mister crab. https://www.gnu.org/software/emacs/manual/html_node/emacs/Tab-Bars.html https://www.gnu.org/software/emacs/manual/html_node/emacs/Ta... Specifically I use https://github.com/mclear-tools/tabspaces https://github.com/mclear-tools/tabspaces
- crabbone 4y agoWhat's the connection? There are plenty of ways of managing multiple buffers, and tabs is... just one of them, and, it's just not good... Complaining about it just means you don't understand how to use the editor you are complaining about. These tabs are for people who come from another editor and think they need tabs. Similar to how you can have scrollbars or panels with buttons to do things in Emacs, but they aren't there to improve editing experience, they are there to help the inexperienced to transfer their experience from other editors onto the new one.
- xlii 4y agoI’ve been using Emacs for ~15 years right now, but I don’t recommend it for the last few. I love it, it’s great, and as many others, I tried to move out of it but there was something I couldn’t do I KNEW I could get in Emacs and it frustrated me so much I kept going back. But I don’t think it brings a lot of added value. There are many very very powerful IDEs and editors which offer out of the box great UX and feature discoverability. Hell, probably if IntelliJ toolset would allow me to customize it deeper with Lua/Lisp/JS/whatever I’d probably switch in a jiffy. I compare Emacs to vinyls or paper books. It requires investment, in many cases it is worse than competition and requires more energy to just be on par. But it is absolutely lovable. Vinyl record comparison - they are expensive, heavy, require a lot of maintenance but for specific type of people it makes their heart skip a beat when they take it from the sleeve. That’s why people are constantly talking about their Emacs. Same with vim or nvim. I rarely hear people talking with excitement about WebStorm or VS code. So yeah, if you’re not into it just keep in mind that like some freak who spend their weekend on polishing rims of dream come true 1959 Fiat 500, some of us spend their time with Emacs. Don’t get bullied into it, don’t get FOMO about it, but please don’t spoil our fun. You’re always welcome to join in.
- SeqDesign 4y agoI disagree 100%. Emacs is the best. I do not hesitate to recommend it. Will it work for you? I don't know. Might it be exactly what you were looking for? Yep! That's how it was for me: it gave me everything I ever wanted and more. Period.
- mlatu 4y agoi get that, though i would rather compare it with chopsticks than vinyl records. you use emacs to do stuff, you dont just listen to/watch it do its thing. chopsticks might not seem like a good metaphor at first glance, as they are much more simple, but they are highly compatible with a lot of tasks and can be utilized in many ways that a fork, spoon, spork or colander just wouldnt handle as well. to my mind, the simple thing hidden in emacs' complexity is that it is a closeted lisp machine
- oliverbennett 4y ago
- sn41 4y agoOK. Here's a usecase where I found emacs to be wonderful. I had to email the grades, together with totals, and class averages to many students in a class. I tried fiddling with Excel and Google spreadsheets and scripted mail merges. Then I realized I could do it emacs. Export the gradesheet into csv, and convert to an org table. Carefully record a macro where you copy paste the name of the student the mark columns into a mail window (I used gnus), copy paste them into a calc window, do the calculation, copy the result onto the mail, and email the student. Go to the org buffer, and go to the next line. This took about 12 minutes to get right. Keep pressing f4. Sending individual mails to 125 students took <5 minutes. Maybe this is overkill, and I am sure excel wizards can do it in a few minutes. Nevertheless, I was surprised - if you spend time carefully recording the macro, the Emacs ecosystem (org+gnus+keyboard macros) is insanely powerful.
- kreetx 4y agoIt's overkill if you ever only needed to do it once, but should the situation come up again the investment in time and effort will likely pay off.
- miroljub 4y agoIt's not an overkill. He spent 12 minutes developing the solution and then 5 more minutes for actual sending of 125 emails. That's 17 minutes in total. I assume doing the same task manually would take him at least a day or two, with the possibility of making numerous mistakes by doing it.
- tmtvl 4y agoYou can do C-u 125 C-x e (or C-1 C-2 C-5 F4) to repeat a macro 125 times.
- axytol 4y agoOr if you're confident enough in your macro definition you can do C-u 0 C-x e to repeat until it reaches the end of the buffer.
- 4y ago
- vineyardmike 4y agoI started using emacs on and off in the last few years. I’m probably a younger developer than most emacs users, but I’ve always been drawn to the customization and extensibility of it - it seems a generation ago was rich with ways to build unique and customized tools (eg emacs, hyper card). I’ve always liked the idea of living out of the terminal- it basically acts the same locally and over SSH so it’s perfect for working in a highly mobile or portable way. But I’ve slowly realized that it’s basically what a browser is now - just far less extensible and customizable but with far more “modern” and easy to use tools. I wish the browser was the rich and hackable sandbox the next generation of computer users have been missing.
- ews 4y agohave you looked at nyx? (https://nyxt.atlas.engineer/ https://nyxt.atlas.engineer/)
- vineyardmike 4y agoYou know I haven’t seen it before. I always assumed that my qualms with the web was the inconsistency (and constant change) of webpages made UI customization impractical. Now I wonder if a different browser would be better at unlocking customization…
- dnh44 4y agoIf you haven’t yet developed your emacs muscle memory I would suggest remapping your keyboard to swap the left-control and caps-lock keys. Your pinky will thank you. In macOS you can do this by going to Settings->Keyboard->Keyboard Shortcuts->Modifier Keys.
- eequah9L 4y agoIf you haven’t yet developed your Emacs muscle memory, consider taking a look at Evil. I switched about 7 years ago after well over a decade of using the default Emacs text editor. It was the right move. VIM IMHO just is a better editor. Emacs is the better everything else, but thanks to Evil, you can both eat this cake and have it, too. For me, a good stepping stone to Evil was God mode. It strips away the need to mash modifier keys, but retains all the Emacs keyboard bindings. It gives you a glimpse of what using a modal editor is like, roughly, with a tiny cognitive effort investment.
- ParetoOptimal 4y agoBe aware of evil-collection or be ready to design vim keybindings for some modes There is also the emacs keybind friendly modal solution meow.
- teddyh 4y agoGah, yet another instance of people treating Emacs like it’s a terminal application. It can run in the terminal, if a terminal is all you have, but you don’t want to do that. Use its default, graphical mode: https://www.gnu.org/software/emacs/tour/ https://www.gnu.org/software/emacs/tour/ You get not only graphics and colors, but also better keybindings which aren’t limited to 1970’s ASCII control codes.
- celeritascelery 4y agoReminds me of this article titled “don’t use terminal Emacs” https://blog.aaronbieber.com/2016/12/29/don-t-use-terminal-emacs.html https://blog.aaronbieber.com/2016/12/29/don-t-use-terminal-e...
- Narishma 4y agoThe first point in that link trying to show that it supports different languages has a screenshot with broken Arabic rendering...
- teddyh 4y agoI think that the image there is old; it looks different when I show that screen. Try it yourself by starting (a graphical) Emacs and selecting Options → Multilingual Environment → Show Multilingual Sample Text
- neilv 4y agoEmacs is great, but I don't advocate it anymore, even though it still has some great merits. The main reason is that I'm concerned that we've lost ground on some very important ideas, for which we should've done a better job onboarding new techies in the last decade or two: open standards, open source, libre software, privacy, information security, etc. There's vague stereotypes that I've seen newbies use to dismiss those ideas, bundling concern about those ideas in with "tells you that you should use Emacs" (or Vim). Which then discredits the whole basket at once. So I'll just say it: The typical techie will probably be happier using an editor/IDE other than Emacs. But it's important for our field and broader society that most techies learn and care about those other ideas. (Disclosure: https://www.neilvandyke.org/emacs/ https://www.neilvandyke.org/emacs/ )
- jamespo 4y agoOne feature I particularly like in emacs is "chord mode". You can bind double keystrokes to features, eg I have @@ to save file. I haven't noticed this available in other editors.
- yunruse 4y agoVS Code has this built in. I personally have a set of ⌘N and ⌘W chords [0] for various creations and deletions. ⌘W S to close all saved files is a particular favourite; I don't really pay particular attention to my tabs anymore (just open on the filespace), which is one less thing to think about when coding. [0] https://github.com/yunruse/.config/blob/zsh/vscode/keybindings.json https://github.com/yunruse/.config/blob/zsh/vscode/keybindin...
- crabbone 4y agoVSCode doesn't have chords. I have no idea why would you link your config to this... Chords are sequences of keys (i.e. this includes releasing keys). Vi(m) do have chords for example though. I.e. a navigation command is usually a sequence of commands that is send to execution after the whole sequence have been entered. This means that the key-binding has a prefix (or multiple prefixes) and will be continued with the suffix. For example, in Vi "dw" is "delete" followed by "move one word forward", where "d" is the prefix and "w" is the suffix. But, "d" may be followed by many other things, all of which will be interpreted as deleting whatever's covered by the movement command. VSCode keyboard interaction simply doesn't work like that. It waits for the single keyboard event (which may involve modifier keys) and then dispatches it to the handler code. The later results in some feedback to the user rather than accumulation of command sequence for later processing.
- djvdq 4y agoIn Vim you can do the same with key mapping. Like below, you have it for three different modes (normal, visual and insert): nnoremap @@ :update<cr> vnoremap @@ <c-c>:update<cr>gv inoremap @@ <c-o>:update<cr>
- abdellah123 4y agoI switched (over 7 years) from Sublime to Atom to VSCode to vim to neovim, to VSCode and back to neovim and even tried Helix before settling onto (Doom) Emacs a couple of weeks ago (lol) Seriously, it feels unproductive a bit at first. But the productivity potential is 10x higher than any other tool or editor out there. With org-mode, Magit, Projectile and dired, I already feel more productive than in VSCode or neovim. And more importantly, I feel like I'm shaping reflexes around the editor and thus creating my own workflow. And evil-mode is the best emulation out there. I tried neovim inside VSCode but it's not yet there. So as a vim lover, I have two options (Neovim or Emacs). The deal breaker was org-mode, It made me switch ... My organization skills are quite poor and I tend to forget everything all the time. But org-mode is a magical tool that's probably the best piece of software written to date !! And org-babel is quite cool too! Anyway, the key takeaway is that my relationship with emacs is two-way shaping ... Meaning I can configure it to my liking with no barriers (other than elisp, I ask ChatGPT for help) and Emacs helps me shape my workflow and improve it. It's not for everyone. It's not for most people. But it was a match for me :)
- zelphirkalt 4y agoIf you want to combine note taking for future self, learning, coding, and org-mode, I recommend another rabbithole: Literate Programming in org-mode. The features supported are very comprehensive.
- abdellah123 4y agoyeah, I'm there as well ^^' org-babel is quite powerful, although async support is limited (at least I couldn't figure it out)
- ParetoOptimal 4y agotry ob-async
- submeta 4y agoI have been a faithful Emacs user for more than fifteen years now, even using a version of Emacs on my Amiga back in the 80s when I was just a kid. Over time, I have ported almost every aspect of my computational life to Emacs, including my editor, IDE, git-client, writing, documenting, and workflow automation. While I love the tool and enjoy tinkering with it, I have come to realize that there are dedicated tools out there that offer a much better user experience with less effort. For example, when it comes to emailing, MailMate is an excellent tool that I have found to be much more effective. And for programming, VS Code is unbeatable for the overall experience. When it comes to my personal wiki, I find that Obsidian is simply too good to use Emacs + Orgmode. And for quickly capturing ideas, the Drafts app with its javascript extensibility is sweet, and a big plus: it's also available on my mobile phone. Ultimately, I have come to realize that tinkering is a luxury that not everyone can afford. While I still use Emacs extensively as an editor with macros for transforming text, I find that those who want to focus on the task at hand cannot afford to spend more time tinkering than doing the job. In conclusion, Emacs will always have a special place in my heart, but I have learned to recognize the value of specialized tools that offer a superior user experience with less effort. However, I should note that when it comes to regex-replace across files, BBEdit is the only thing that can beat Emacs.
- blackpill0w 4y agoI can think of only two types of people who use emacs (same thing for vim) . 1. Old folks who are used to working with them and don't bother switching. 2. Young fellas who spend a significant amount of time tinkering and playing with config files. VScode (VScodium really :) offers everything that emacs or vim has to offer (as far as editing file is concerned) with much less time spent in the config files. With that in mind, I still use emacs bacause I belong to that second category.
- deleted 4y ago[deleted]
- crabbone 4y ago> VS Code is unbeatable for the overall experience. What is this shilling for VSCode? It's awful. But, somehow everyone who says positive things about it either turns out to not know how those things work, or just saying something vague, never pointing at any concrete feature that makes it better than something else... But, the reality of it is that all there is to it is a crappy CUA text editor with nothing special going on for it. There were dozens like it before. So far, over the years of working with other people using this average-at-best editor the only remarkable thing I found about it is that it has a plugin that allows some Jenkins integration, which may be useful if you are in DevOps, but... I can live without it, not a deal-breaker, not by a long shot. The awfully lacking text editing abilities of this editor completely erase any benefit I could get from that plugin. Stuff like modal windows, mouse-only navigation, missing most useful commands of structured text navigation and proprietary nature make this tool a complete non-starter for me.
- ziotom78 4y agoFor code, I use JetBrains IDEs (CLion, IntelliJ IDEA, PyCharm, Rider). They are incomparably better than any editor on Earth. To edit large text files, I use Vim, as it is one of the fastest editors I've ever tried. For anything else, I use Emacs: scripts, programs written in languages with no good IDE support, personal notes (Org mode is awesome!), handling of Git repositories (Magit is better than JetBrains IDEs), email (Notmuch). If only it could be made faster when editing large files…
- crabbone 4y agoYou remind me of that anecdote by, I think, Tyson (the astrophysicist), who gave an example of a person going to the ocean shore with a cup, poring some ocean water into it and swiftly concluding that there aren't any whales in the ocean based on what they saw in the cup. I mean, you are in no position to judge about good editors on Earth... you haven't worked with good editors yet. This is evidenced by your gripes about editing large files. Emacs may be configured to be used as a pager for Christ's sake! It can work with whatever file size you have. If you don't know how to do that, that's a you problem, not the editor's problem...
- dustfinger 4y agoI have been using emacs since around 2005. If you are looking to immerse yourself in emacs, then I highly recommend switching your windows manager to EXWM [1]. If you are looking to get over the learning curve, then I recommend buying the book Mastering Emacs [2]. If you are interested in learning new and creative ways to use emacs, then I recommend attending the next emacs conference [3]. Also, please join #emacs on librechat [4]. For IRC on emacs I really love erc-mode [5]. [1]: https://github.com/ch11ng/exwm/wiki https://github.com/ch11ng/exwm/wiki [2]: https://www.masteringemacs.org/ https://www.masteringemacs.org/ [3]: https://emacsconf.org/ https://emacsconf.org/ [4]: https://libera.chat/ https://libera.chat/ [5]: https://www.gnu.org/software/emacs/manual/html_mono/erc.html https://www.gnu.org/software/emacs/manual/html_mono/erc.html
- satvikpendem 4y agoA bit off topic but a few years ago you posted about a calendar API, did you ever find a good one [0]? I was looking to use one too so was wondering if you wanted to discuss more about it and what your use case was. [0] https://news.ycombinator.com/item?id=16593119 https://news.ycombinator.com/item?id=16593119
- globular-toast 4y agoEmacs is the only software I've ever loved. People use the word love a lot, but I really mean it. You know it's love when you can't stop thinking about it. You're so excited you want to tell everyone about it, but you can't really articulate what exactly it is that makes you feel that way.
- spit2wind 4y agoAgreed. It's because Emacs truly respects the user. It is the embodiment of Free Software ideals. Those ideals center around community. Emacs helps us understand how capable we are.
- AlanYx 4y agoIt's also personal computing in the truly personal sense. No cloud, no silos, something that you can make work the way you want and grows with you over your career and eventually becomes like a well-worn glove.
- Lyngbakr 4y agoI love Emacs & it's my go-to editor, but I struggle to offer a solid, logical reason why. I only use a handful of packages, a smidge of Org mode, minimal customisation, & run Emacs in the terminal, so switching to something more modern should surely give me everything I need & many more features in spades. But nothing else scratches the itch despite my best efforts to move to something else. Perhaps for me Emacs is like an old pair of slippers: comfy, familiar, does what I need it to without fuss. I can't say whether it's a good choice for anyone else, but this grey beard engineer likes it.
- crabbone 4y agoI'll help you with the reason: people who make Emacs are professionals at editing text. They understand what tools a good professional needs when working with text. The only editor that can complete with that is Vim. IntelliJ / MS / Eclipse products don't hold a candle to that, their authors simply don't know how to edit text well, and consequently don't know how to make tools to that end. It's the same reason why anyone would buy Hasselblad camera over, say, Canon. Canon is fine for a person who simply wants to take pictures of things they want to remember. Maybe even for a student in photography class. But, if you are going to earn your money as a photographer... well, you want a tool that you can rely on. If you go to the Moon and want your camera to work, you'll choose Hasselblad etc.
- jmclnx 4y agoI find Emacs is great for development and documentation. I tend to use vim only when I need to do a lot of column editing. I was almost 100% vim with a smattering of Emacs. But as time went on I now use Emacs (GUI) much more than vim. I really cannot explain why :) But I can say git, RCS, etc integration in Emacs is easy and a pleasure to use. I tried some IDEs a while ago, and they are way to busy for me and required heavy use of the mouse. All I really need for development is tag files, and I was able to find some lisp code that makes Emacs tag handling quite similar to vi/vim. The only real complaint I have on Emacs is handling of tabs when editing flat text data files. But I get around that by having this: (fset 'my-expand [?\C-u ?\M-| ?e ?x ?p ?a ?n ?d return])
- yaantc 4y agoM-x untabify ? ;)
- rbc 4y agoI think this might be one of my favorite quotes from the article: "I’m using Linux. A library that Emacs uses to communicate with Intel hardware. — Erwin, #emacs, Freenode"
- cfiggers 4y agoAutoHotkey enables Emacs-like extensibility at the OS level rather than the application level. Some of my macros and shortcuts apply in every text field I interact with, even this comment field on Hacker News. Whether I'm editing in VS Code or vim or Microsoft freakin' Notepad, my macros travel with me. I like that a lot better than being locked into any specific editor and unable to get comfortable outside of it.
- ParetoOptimal 4y ago> AutoHotkey enables Emacs-like extensibility at the OS level rather than the application level. emacs is my OS though :)
- scroot 4y agoLots of talk about "fiddling with configs" here, but in my experience it's like a slow evolution over time: you adjust things here and there as you need them. That's a malleable system. It's not a constant tinkering, but a willingness and ability to adjust as you go.
- ok123456 4y agoI use emacs only for org-mode.
- ParetoOptimal 4y agoDid any non-emacs users read part of the book? What are your thoughts?
- Zurrrrr 4y agoI can't ever imagine switching from vi at this point. It's what I know and matches the unix philosophy of do one thing and do it well. I can easily run shell commands as I need to without it interrupting my work flow. Why would I switch to something that does everything and has an entirely different workflow? If emacs works for people, good for them, but it isn't for everybody.
- seanw444 4y agoWhich is totally fair. I kind of despise the Emacs vs Vi(m) flamewars. I like them both. If I don't want to launch a several hundred megabyte program to edit a quick config or something, I'll launch any of Micro, Neovim, or Helix (yes, I like to experiment - side note, I recommend Helix a lot) and that does the job more than adequately. But if I want to work on a big project, take notes, write a blog post or article or document, track todos, check RSS feeds... I personally prefer Emacs.
- bitwize 4y agoEmacs lost the editor wars ~15 years ago. Use an IDE, you filthy barbarians. There is no substitute for a real IDE when it comes to seamless transition between writing code with full autocomplete support and using the debugger to step through and examine the behavior of that code. And yes, God damn it, you need a debugger. You need edit and continue. You really need structured editing and it's a crime that this isn't available for every programming language, everywhere, in 2023. Modern IDEs give you all these things except for maybe the last in a smooth integrated fashion, and this has been the case for decades now. Using anything else when this is available is like breaking your legs in preparation for the 50m dash. For God's sake, Visual Studio got you 90% of the way to a Lisp machine type dev experience. In the early 2000s, for C++ and other languages people actually use. And Unix weenies still insisted on their stone-knives-and-bearskins tooling, to all our collective detriment. For languages without robust IDE support, Visual Studio Code will get you most of the way there with the click of a button. Releasing VSCode support including LSP for your language is now table stakes if you want to introduce a new language people will actually use.
- atahanacar 4y agoYou don't need a "real" IDE to use a debugger. A debugger is a debugger, an editor is an editor, a compiler is a compiler. Taping dumbed down versions good tools together and calling it "integration" only ends up with you needing another tool that is not integrated anyways, or you having bunch of tools that you will never use hogging your resources, both computer and brain.
- cmkrnl 4y agoMany good comments in this thread. I'll just leave a note of my experience and opinion. I've used vim since about the year 2000. Before having access to a computer running a Unix, I'd read books about the Unix environment and fell a little in love with ed commands. Their power, yes, but also the immediacy of the user experience. It's just there, all the time, in vi. Having coded a decent amount of vimscript... Eh. vim is not great (I'll likely never switch to neovim either.) Perhaps the best part about vim is the manual. There are so many features, some of which depend on/affect other features in various ways. I use vim for taking freeform notes, transcribing long form texts mostly - the auto formatting that can hard wrap at textwidth, without any extra command or keypress to trigger the formatting) is a feature I use a lot. The ability to quickly pipe text through Unix filters (mostly `par' in my case) is also great. All this is easily done in emacs too, but I feel there's more immediacy in vi (and vimscript). I salivate at the better unicode support in emacs, and the ability to have frames - separate GUI windows of the same emacs process. I would use these all the time. (g)vim likely won't get better in these areas within my lifetime. Availability on mobile devices: I use an iPhone - it's from work, I have it with me all the time. I do not want to carry along any other device. A recent-enough version of vim is available in the AppStore as iVim. This has become the only note-taking app I can bear to use. It can write to text files on iCloud and access them later from other devices. On vi clones - I wish Thomas Dickey's editor (vile) had become popular, instead of vim. Proper lexing and parsing for syntax highlighting (instead of regexp soup) - Imagine! I started out on computing with Red Hat Linux, where vim was installed by default - and most documentation, online resources, might have mentioned vim instead of any other clone, leading to vim gaining mindshare.
- kickaha 4y agoThere are a million things to say here, and many have said them better than I can. But there's an important generational aspect to the discussion. I learned Emacs in 1988 or so. Only a couple years before, I had traded my Commodore 64---on which I did real work, like writing term papers---for an IBM PC XT clone. WordPerfect. Hobbyist BBSer, but networking was in the future. When I got to college, Unix and Emacs were a revelation. This is how it's supposed to work! And the background ASSUMPTION that you could understand everything, and control everything, was something nobody at the time would have questioned. With hindsight it turns out that understanding everything was a mirage and controlling everything was the gateway drug to possibly literal addictive behaviors, but that was the ethos. I left CS after only a couple semesters, and my career has completely diverged from it. So it's a TOTAL FLUKE that today I can comprehend---god, the whole model! of a Lisp machine! of Lisp at all! For a young person starting with modern tools? Maybe we can agree that we all see the big chasm.... But I will never give it up.
- shams93 4y agoWhat makes it unique is being able to have fully interactive debugging etc in the terminal.
- fxbois 4y agoI’ve started to use emacs in my computer sciences school 30 years ago (EPITA in Paris). The Lab was surrounded by Mips, Sun, Alpha, … great time. The only weakness of Emacs (according to me) was the lack of a good major mode (module) to edit web template : imagine editing a php block inside a javascript part embedded inside html. After testing many modes, I started to develop web-mode (http://web-mode.org http://web-mode.org) that is now compatible with about thirty template engines. What a wondeful trip it was to discover the power of Lisp and what a pleasure it is everyday to know exactly what happens when I hit a key while editing an html file. I am the only Emacs user in my company (kernix.com) but nothing would make me switch. I can not imagine using an editor that would not open in less than a second (or that would eat hundreds of Mo of RAM) I Hope Emacs will see a usage surge with the inclusion of tree sitter… editing in emacs will be even faster and more robust. Not sure tree sitter is suitted for multi languages files … but for this you have web-mode ;)
- BeetleB 4y agoThanks for your work! I use web mode on occasion - really like that it handles Jinja/Django templates!
- zelphirkalt 4y agoI'm not even sure about the state of this in other editors: Emacs allows syntax highlighting of different languages to be used correctly in nested regions. For example in org-mode you can have source blocks of any other language and you can see them syntax highlighted correctly. Maybe some other editors manage this for markdown's tripple backtick syntax, but do they add syntax highlighting of various mainstream languages to their markdown "modes", or do they actually have that use their separate "mode" for that language, possibly recursively? Would be great, if anyone could comment on that. I think Emacs using Elisp has natural potential to do it recursively and therefore easily correctly, instead of cramming other modes with syntax, that does not belong there.
- pxc 4y ago> [Emacs is] a Lisp Machine with several compatible user interface modalities. Which is just amazingly helpful to [blind] people like me […] who are typically forgotten about these days. […] Emacs is a shining beacon in a dark age of canvases and decorative user interface design. This. Even with my fairly correctable visual impairments, the way Emacs' text-driven interfaces and amazing search capabilities spare me from having to do any visual scanning is a blessing. I can always bring everything I need to see right in front of me, the whole interface scales perfectly, and I can easily ensure high contrast on everything I need to read, even with limited color vision. The way that buffers can just live in the background and projects can simply be inferred from version control directories similarly free me from the entire spatial metaphor for open files, windows, projects, etc. No matter what window I'm in, I have the option to just list some open buffers, fuzzy filter as I type, and bring them directly into view. I run Emacs as a daemon so I can super easily pull up old buffers, complete with their contexts and undo histories and everything even if I close the Emacs frame (the application window) entirely. I never have to scan or squint or interpret some tiny, inscrutable hieroglyph with Emacs. Every damn thing is searchable and filterable. And when I need documentation on some function or keybinding, it's the same story. I don't have to switch to another app and mouse around or toggle a browser extension to fix some dumbass website's choice of gray-on-gray text. It's just right there in my editor, clean and searchable and resizable/reflowable in the exact same way as my own code, in the fonts that I've chosen because I find them readable and pretty. Emacs spares me from so much navigation effort while I'm editing, even without using any truly fancy features. It's also a comfort knowing that if I should go blind before I reach old age, as is common in my family, I will still have access to that power and convenience through Emacspeak. I'd better start practicing!
- pvaldes 4y agoLink to a book named "Use GNU Emacs" to be more precise. The title in those cases could benefit of including a "[book]" tag at the end like in: "Use GNU Emacs [book]".
- srhtftw 4y agoI occasionally use VSCode/VSCodium when I want to use a particular plugin like XState but for most of my command-line work nothing works as well for me as emacs shell-mode. I especially like it allows me to search and copy details from command output as easily as I would any other file or data. But in the past few years I've noticed more and more nodejs and python programs insist on providing "enhanced" output which do not work well in shell-mode. Things like little multi-line progress bars with colors, checkboxes, weird unicode spinners, etc. Most of those depend on cursor motion and ANSI sequences not supported in shell-mode so when I run those I often end up with junk. Setting various recommended environment variables to prevent this rarely works. For example here's what I get if I run a node app that uses a vorpal.js-based REPL in a shell-mode buffer: myapp$ ^[[7D^[[7Chelp ^[[1000Dmyapp$ h^[[8D^[[8C^[[1000Dmyapp$ he^[[9D^[[9C^[[1000Dmyapp$ hel^[[10D^[[10C^[[1000D myapp$ help^[[11D^[[11C^[[1000Dmyapp$ help^[[11D^[[11C Here vorpal's attempt to enhance my terminal experience by colorizing the command I typed effectively ruined my ability to use it in shell-mode. Having to shift out of emacs shell-mode to run these commands is a huge pain but I haven't found a very good solution for this. The ansi terminal emulation emacs provides with things like vterm partially address his but they have their own problems and don't provide the search features shell-mode does. I suspect few enhanced output terminal CLI developers care about emacs shell-mode users, but I'm hopeful some of them might read this and take a little time to read https://no-color.org https://no-color.org and ensure their programs honor things like NO_COLOR, npm config set color false, TERM=dumb, INSIDE_EMACS etc.
- 10000truths 4y agoDoes piping to cat help? That’s one of the first things I do when I run a command that insists on interactive output and I can’t be bothered to figure out what flag to set to turn it off.
- srhtftw 4y agoI occasionally try that as well and it sometimes helps but not for things like node apps that use https://vorpal.js.org https://vorpal.js.org REPLs. They just aren't usable in shell-mode.
- 70rd 4y agoRemember to contribute money/time if you love and use emacs! Microsoft recently cancelled PayPal for Github sponsors and Tarsius lost significant amounts of income (that was already below minimum wage)[1]. A small contribution, the price of a coffee a week, which for successful developers is very little, goes a long way in supporting open source that doesn't have extensive corporate support like chromium/linux/docker. https://magit.vc/donate/ https://magit.vc/donate/ https://liberapay.com/hlissner/donate https://liberapay.com/hlissner/donate https://liberapay.com/bzg/ https://liberapay.com/bzg/ (org-mode maintainer) https://www.patreon.com/sanityinc https://www.patreon.com/sanityinc (MELPA) https://github.com/freetonik/support-emacs-community-devs https://github.com/freetonik/support-emacs-community-devs (other good list) [1]: https://www.reddit.com/r/emacs/comments/11cezoq/magit_maintainer_tarsius_is_losing_donators_at/ https://www.reddit.com/r/emacs/comments/11cezoq/magit_mainta...
- steponlego 4y agoThese days what Emacs doesn’t have can be as important as what it does have. It doesn’t have Chrome bloat. And it has no telemetry whatsoever. Telemetry should be de-normalized. It’s an affront.