17 ms·
Batteries included with Emacs (2020)
- rStar 5y agoemacs is like a musical instrument in program form. one is only limited by their creativity.
- worik 5y agoFor me the killer aspect of Emacs (it applies even more to vi) is being able to use it in a terminal so being able to use it over a network connection. I know X can export over a network connection, but text mode Emacs is much simpler and does not require X.
- a_e_k 5y agoI once used a little netbook at a conference in Germany on a crowded wi-fi connection to edit using Emacs within a terminal SSH connection to a desktop in the western U.S. It held up surprisingly well. The Emacs terminal display system dates from the days of low-baud terminal sessions and so decouples screen updates from the editing input. I.e., it's smart enough not to try to fully update the screen on every keystroke when the terminal connection is slow -- not unlike dropping video frames to keep up. So you can type ahead with some lag and know that it will bring the screen up-to-date as efficiently as possible whenever it can.
- cbm-vic-20 5y agoEmacs is older than X11.
- clircle 5y agoBTW, the author is using the Modus Operandi theme for Emacs. It's really easy on the eyes (high contrast) and comprehensive. Oh, and it's beautiful. Shout out to Prot who maintains it.
- justinhj 5y agoI use it too, highly recommended
- NeutralForest 5y agoTrue, Prot is the man
- baby 5y agoI’m wondering if a vscode in the terminal could ever exist.
- dotancohen 5y agoThat's like wondering if elephants could ever roam the depths of the oceans. If they did, they would no longer be elephants. What specific features of vscode would you like to see in a terminal editor?
- baby 5y agoI’m not sure why not? Everything has a shortcut in vscode. And if it doesn’t you can use the command palette.
- dotancohen 5y agoYou might like VIM. In VIM everything has a shortcut as well. In fact, in VIM, everything _is_ a shortcut.
- baby 5y agoHow do you find commands if you don’t know the shortcuts though? Or if you installed a new plugin? That’s my big problem with emacs and why I don’t use it anymore.
- bitbckt 5y agoApropos: https://www.gnu.org/software/emacs/manual/html_node/emacs/Apropos.html https://www.gnu.org/software/emacs/manual/html_node/emacs/Ap...
- dotancohen 5y agoThe vimtutor tutorial is very good, though it will feel cumbersome at first. It's fine to start and stop trying the tutorial a few times. Just start each time from the beginning again. Other than that, most VIM plugins are documented very well.
- teddyh 5y agoI think many Vim users look at Emacs and go “Hmm, Emacs is a bit more clunky when I use Emacs to do the exact same things I do in Vim. Therefore, I’ll stick to Vim.”
- deleted 5y ago[deleted]
- lqet 5y agoAs a vim user, I mostly look at this article and think, "Hmm, Emacs seems to include an artists mode for drawing ASCII images. I need a text editor. Therefore, I'll stick to vim."
- User23 5y agoThen you definitely wouldn’t be interested in M-x tetris.
- marcosdumay 5y agoMaybe M-x doctor could help, but maybe not...
- Shared404 5y agoHow does that make you feel?
- dotancohen 5y agoThat's how I felt until I started using org-mode. I think that Org-mode is now the fourth piece of software on my never-gonna-give-you-up list, after VIM, GNU coreutils, and Anki. I seem to add one per decade.
- drivers99 5y agoAs a vi user, I got to artist mode and was wondering what keys you would press to draw rectangles and circles and how you would get out of it, but it doesn’t say.
- Blackthorn 5y agoOh damn, I had no idea about undo-in-region. That's so convenient and it comes with Emacs stock. Wish I knew about that years ago.
- animal_spirits 5y agoSometimes I wish I initially spent my time learning emacs. Vim has been great to me. I don't value programming workflows as much as I used to so I'm not going through that steep learning curve again
- dotancohen 5y ago> Sometimes I wish I initially spent my time learning emacs. Vim has been great to me. Try SpaceMacs, or even just Evil. I've found that Emacs (the text editor environment) and VIM (the language for interfacing with a text editor environment) skillsets are actually complimentary and together form a terrific text editor.
- srcreigh 5y agoIf spacemacs or evil seem too inauthentic or complicated, I suggest boon-mode. It's a very simple, modular, minimal modal editing package with verbs and motions. https://github.com/jyp/boon https://github.com/jyp/boon
- jb1991 5y agoAnd if you like modal editing but want to stick to a more emacs-centric interaction, there is God mode which I eventually found to be better than evil if you are working solely within emacs.
- hvgk 5y agoConversely I feel I wasted my time learning emacs and moved to vim eventually. I also only religiously use a subset of vim functionality which is fulfilled by most of the vi equivalent editors. This turned into a massive advantage for me as I spent most of my career dotting around random Unix and Linux machines doing admin work. Vi derivative is always there and the muscle memory was ready to go. One of the key things I found though is that I learned to compose tools outside of vi rather than rely on the editor functionality. This was applicable to much larger problem domains than just editing. The Unix philosophy of using lots of small well defined things to solve problems applies to editing text.
- entropie 5y agoI use emacs for over a decade now. It took like 2 years and 3 serious approaches to get into it. Now it feels like home. I didn't know about SelectiveUndo. Nice.
- justinhj 5y agoGreat to see lists like these. I’m a long time Emacs user and recently learned to use neovim. I made the same mistake many new Emacs users make in that I installed a lot of plugins at once and lost control of the editor. Only by installing packages incrementally after you have discovered a real need, can you keep mentally on top of what your editor is capable of.
- bloopernova 5y agoThis is a very good point. I first tried to jump in Emacs by using Spacemacs, and was overwhelmed trying to manage the fairly huge and complex init.el that Spacemacs produces. I also had lots of trouble before realizing that Spacemacs and vanilla Emacs package configurations should really be treated as separate and not mixed together. I'm sure if I went back to Spacemacs now, I'd understand things a whole lot better, but as a new user, it was far too much to figure out at once. So I went Vanilla, and haven't looked back. I do think that there should be some more articles out there like "so you've decided to try Emacs? Here's what to do beyond opening and saving documents". With a heavy emphasis on, as you said, incrementally adding to your configuration. Something like "here's why you split your config file into 2, with automatic changes going into one file, and manual going into another" followed by "here's use-package" and "if you want to X, here are Y packages that do it" with comparisons between each different way. But broken down into small chunks so things can be done incrementally.
- epolanski 5y agoI second this, I started with spacemacs, and then reinstalled clean emacs to get a good grasp of it.
- mlaretallack 5y agoI really respect people who can use emacs (and vim, vi etc...) they wiz around doing allsorts and make it look effortless. The only reason I have not tried is I seem to spend most of my time thinking about the change, and the time saved is easily wiped out by the time taked to re-write the line 5 times.
- reddit_clone 5y agoYou don't really have to. Try DoomEmacs or something similar, very little tinkering needed to get going.
- Kessler83 5y agoGreat article! I like the approach to focus on things that ship per default and take no time to learn! Also didn't know about undo in region!
- dylan604 5y agoBatteries may be included, but some assembly is definitely required in learning all of the commands to make it useful. I'm sure vim and emacs were great tools back when monochrome monitors were all that were available. But with modern UI IDEs and what not, I only use vim when need to make fast and dirty changes directly on the server. I do find all of things that can be done in emacs/vim quite impressive, but I'm also quite happy that it is not the tool I have to use because nothing else is available. I do find myself getting environments backwards in my head though when flipping back and forth quickly. Like typing :wq in my IDE, or cmd-s in vim when prompts my terminal to save my session.
- b3morales 5y agoThat inward-spiralling learning curve never ends. `selective-display' is my new trick for the day. Thanks!
- submeta 5y agoAfter spending endless hours in learning the ins and outs of Emacs and starting to learn Elisp, I come to realize that Emacs‘ tinkering-to-doing ratio is too high. I need tools that get out of my way. Emacs can get a hobby or an obsession. If you have nothing else to do, fine, spend your time sharpening the saw instead of cutting wood. I turned to VS Code + PyCharm for coding. And use Emacs for editing text only. And for that, it is excellent. What I love about Emacs most is the macro recorder. Whenever I have to transform text, I record my steps in Emacs‘ macro recorder and replay the steps. That’s like magic. I wouldn‘t even bother writing a Python script for these one-off transformations.
- BeetleB 5y ago> I come to realize that Emacs‘ tinkering-to-doing ratio is too high. You are in full control of how much tinkering you do, though. Strange to blame a tool for this.
- tom_ 5y agoBut most of the things you do require a certain amount of tinkering, even basic stuff like setting up C indentation, making Emacs not use tabs, and configuring keyboard shortcuts - especially in the early days, when you might not quite understand how things fit together. Compare and contrast with Visual Studio Code, which has a much smoother onboarding experience.
- BeetleB 5y agoAgreed about the onboarding experience. However, the person I was replying to seems quite well versed in Emacs.
- ordu 5y agoMuch more strange when a tool blames its users for their unsatisfying experiences. It is tool is made for user, not the other way.
- inetsee 5y agoI love emacs because of org-mode. I have sometimes wondered whether emacs can do something I have often wanted. I write poetry. If you write with pencil on paper the edit marks (line through, move text, insert) let you see the evolution of a work. It's hard to get the same effect with a text editor. After reading this web post I went searching for "emacs edit history" and I discovered "undo-tree". This is a perfect functionality for my use case, and another reason for me to love emacs.
- Mikeb85 5y agoHonestly, I never really had that much love for Emacs until relatively recently. I've always dabbled due to it generally having good support for most languages (including esoteric ones) but recently I got into it a lot more due to the fact that many of the new-ish OSS editors but Emacs has always been there and likely will always be there. A few years back I got into Atom quite a bit since it checked all the boxes: extensible, open source, and it was very nice. Then VSCode killed it. And it seems more and more that VSCode is taking over, all the while inserting more proprietary code to the point where half the 'big' plugins don't work on Codium, only the proprietary MS distribution. So I got back into Emacs but really worked on my environment. Stopped dabbling and started just forcing myself to use it. And it's honestly amazing. It checks off every box available in VSCode and more. And it's nice knowing that it'll always be there. I'm not against proprietary software per-se, but I definitely don't have a lot of trust in Microsoft.
- quotemstr 5y agoAnd thanks to recent developments in cross-editor infrastructure projects like tree-sitter and LSP, editors like VSCode, Emacs, Sublime Tex, and even public nuisances like vim can all advance at the same time and benefit from each other's development work in areas where the editors aren't differentiated. We're very close to a world in which we don't have N implementations of finding the start of a C function or figuring out what parts of a Python buffer are keywords.
- ripe 5y agoFor people who ask, "why use text-only editors like vim or Emacs, when I can use a full GUI IDE?": One of the reasons I haven't seen mentioned much is: I'm a touch typist, and I hate having to switch between mouse and keyboard! I have to take my attention off the screen. Slows me down. Disturbs my concentration. With Emacs, I can work for hours without ever having to hunt for the mouse, or without even having a mouse plugged in. That's particularly nice for using my Ubuntu laptop on a lap desk, leaning back in my armchair. The best mouse is no mouse at all. Yes, I know many IDEs have shortcut keys for some commands, but the basic assumption with GUI applications is that you have a mouse. Even if you learn the shortcuts, somehow you always end up having to use the mouse for some common task, e.g., to select a paragraph. That's why I never got to like a GUI IDE, despite having had to use Eclipse for years.
- xhevahir 5y agoI just started using VS Code a lot last weekend and I didn't find myself using my trackpad much. The Vim plugin, whatever it's called, allowed me to do the same things I do in Vim itself. I can't speak to the Emacs emulation, though, now that I think about it.
- lawn 5y agoI find it amazing how common it is for programmers to not be touch typists (I mean typing without looking at the keys). Like, isn't that something you pick up by the sheer amount of keyboard time?
- deleted 5y ago[deleted]
- BeFlatXIII 5y agoIRC chatrooms got me much more comfortable with touch-typing than programming. There is too much time spent thinking when programming to feel slowed down by looking at the keyboard. IRC chats mean you have to be fast if you don't want the conversation to have moved on before you finish your message.
- fhd2 5y ago
- stinos 5y agoPerhaps not the right thread, but: is there anything like 'follow mode' in other editors like Sublime Text/VSCode/Visual Studio editor? I'm now emulating that with e.g. 'new view into file' followed by manually scrolling. Having that autoamtic can be really handy.
- jb1991 5y agoAmazing that I have not used emacs in years but I wanted to see this artist mode with my own eyes, so I opened it and was surprised I could still remember how to get all around with the m-x commands... my muscle memory even remembered the combo to exit emacs correctly, and even as I type this, I couldn't tell you what that key combo is! It's all in my finger muscles' memory. Incredible.
- pantulis 5y agoThis is what Emacs does to your brain. Dont know if that's a good or a bad thing, mind you. My first serious Emacs engagement happened in 1996, with XEmacs. Then it became my editor of choice for basically two decades. I can confidently say that I can open your Emacs setup and manage my way around it (unless you happen to be an evil-mode infidel, that is).
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- School-Cotton 5y agoC-x C-c
- fhd2 5y agoSome cool stuff I had no idea exists! But I can't see anything I feel like picking up, I do like to keep it simple. I switched to Emacs after something like six years as a vim user, primarily for the more beginner friendly key bindings so my coworkers wouldn't get _too_ freaked out. Many of the navigation shortcuts work in most shells and even all text fields in macOS out of the box too! I did implement all kinds of funky customisations at first, but in the last years I stuck mostly to what comes with Emacs, and customize over writing Elisp. I do some work in IntelliJ and Xcode out of necessity, but there's nothing quite as productive for me as vanilla Emacs and ansi-term. It's all just text - and mastering how to deal with text doesn't take that long, and is fairly universal. One of my favourite and most trivial habits is to use forward/backward search extensively for navigating around a file.
- adriancr 5y agoThis is what I like about emacs see a few nifty things, easily add shortcuts and integrate, (selective-mode is useful for an outline of a file). Power comes from being able to customize - add a easy shortcut to show outline, add another to back to non-outlined. Then use these to jump around code.
- fermentation 5y agoI've always wanted to get into emacs, but I only have enough room in my life for a single set of keybinds, and vim has taken that spot. A lot of the emacs-for-vim-people projects are these huge distributions and when something breaks I have no idea how to fix it. Do any of you have a good resource for learning emacs from the ground up, but with vim keybinds?
- acheron9383 5y agoHonestly, to just get moving, installing Doom emacs and selecting evil mode during setup. The basic keybinds are all Vim then, works great for me with minimal headache.
- throw10920 5y agoI started using vim before switching to emacs, and my experience was that just installing evil-mode and then picking up any normal emacs tutorial was enough - I skipped all of the editing specific stuff and got the interesting stuff from the rest. You might want to try that. Actually, your question made me realize that the interesting part of vim is the modal editing interface, while the interesting part of emacs is everything but the text editing bits. So, focus on those. Does that help, or have you already tried this?
- cpach 5y agoSome pointers that might be useful: https://www.youtube.com/playlist?list=PLGP2UnPoZ7HzLGU2cyK1MXSZwXy5niFkk https://www.youtube.com/playlist?list=PLGP2UnPoZ7HzLGU2cyK1M... https://github.com/noctuid/evil-guide https://github.com/noctuid/evil-guide https://www.spacemacs.org/doc/VIMUSERS.html https://www.spacemacs.org/doc/VIMUSERS.html Best of luck!
- bloopernova 5y agoI've been using Emacs for about 4 years now, and some of the stuff on this list was news to me. Thank you, OP, for sharing this; I found it useful!
- Kototama 5y agoSame, more than 10 years and I really should have known M-\ earlier :-) (or remembered it, I think I read about it earlier). The thing is with Emacs, you can really optimize every key stroke if you want, but usually I'm too busy using it to program so I optimize the workflow only time to time.
- pama 5y agoSome of the very recently upgraded batteries in standard emacs include describe-bindings (C-h b gives a neatly organized, foldable output that greatly enhances discoverability) and emoji-insert that uses a neat selection interface.
- wrycoder 5y ago326 lines long!
- Y_Y 5y agoFor discoverability I love using helm with M-x (or SPC-SPC). I just think of a function I might like to call, like "git fetch" or "sort lines" or "render latex inline" or anything else, and pretty quickly I can figure out what it's called and what its shortcut is for next time. I take for granted that it exists.
- pama 5y agoHelm is great and I still use it occasionally even after I recently transitioned to using orderless, marginalia, consult, vertico, etc. for most things like that. C-h b has become my recent goto for inspecting the keybindings on various modes; I used to do C-h m, but the new interface of describe-bindings is neat.
- taeric 5y agoVery well done demos of some fun packages in emacs. Thanks!
- dhersz 5y agoIs there a vim/tmux feature similar to pulse? I do lose my cursor sometimes when switching panes and I'd love to try something pulse-like to see if I like it.
- azalemeth 5y agoThat text drawing mode is beautiful. Or of curiosity, entirely because my vim knowledge is far greater than that of Emacs, is there anything like it for vim, including two button mouse support?
- cfjgvjh 5y agoAs someone that has always wanted to try stock emacs, this kind of a breakdown is appreciated. I know the individual systems aren't all that complex but when you're new to almost all of them it gets overwhelming quickly.
- meken 5y agoLast time I was coding, I used vim+tmux. I found terminal emulation in emacs slow and buggy. I do always have a spacemacs window open, but I only use it for magit.
- Scarbutt 5y agoFWIW, I use emacs exclusively inside tmux, starts in ~0.3ms for me with more than 40 external packages.
- timonoko 5y agoBTW. You do not need typing skills with Emacs, because it has an autocomplete. And it is subject and writer specific. Firstly you load some text containing words you want to use in another buffer and then you bind M-X hippie-expand to some convenient key. I use (global-set-key (kbd "å") 'hippie-expand) because Swedish å is useless in Finnish keyboard. This works even better with languages with varying form and spelling. Finnish Android autocomplete gives mostly annoying and mispelled suggestions, but in Emacs you can use your own writings as the sublime storage of words.
- gjvc 5y agohttps://prelude.emacsredux.com/en/latest/ https://prelude.emacsredux.com/en/latest/ and https://github.com/ianyepan/jetbrains-darcula-emacs-theme https://github.com/ianyepan/jetbrains-darcula-emacs-theme were the two "game-changers" for me getting me comfortable in emacs.
- emodendroket 5y agoEmacs is really just a beautiful refutation of the "Unix philosophy" that programs should only ever do one specialized thing. It's a kitchen-sink tool and it's very useful, and has been for decades.
- chewxy 5y agoI'm quite annoyed. I was working on a minor-mode because I tire of having to switch to my browser for asciiflow. Reading this article, it turns out artist-mode is built in to stock emacs. And it's quite good, better than anything I could build. Discoverability problem? You don't say?
- gglitch 5y agoI agree that there are all kinds of things that are under-documented in Emacs, but isn’t Artist Mode a top-level headline in the manual?
- luxcem 5y agoI used emacs for a number of years and recently switched to doom-emacs as a base configuration. I got tired up of trying to fit together many packages and I found that doom is highly customizable but with sane and polished default. I can recommend it to anyone that tried emacs but didn't like it.
- Woodi 5y agoOk, that was best text about Emacs I read so far. Looks like new genre even. Anything I met before is about TAB key and how to configure its scripting :> Or maybe it is lack of intermediate texts about Emacs [features] ?