It is difficult to even describe a productive hand tuned to fit the individual Emails setup compared to standard.<p>Here are some of my favorite Emacs things:<p>Helm + Projectile. Helm will fuzzy complete almost anything in Emacs. Projectile is project management. Together get to any Git repo and file there in very quick. Helm is an option to compare to IDO. I rarely use IDO due to Helm.<p>Magit, widely regarded as a good Git UI. Using is believing. Better than command line or most GUIs for me.<p>Various editing nodes are good enough (Python, Lisp of course, Markdown).<p>Org mode is it's own beast, but if you like outlines and productivity tools Org is very nice. I use it, not extensively. It holds my todos and meeting notes and makes it easy to ha e very complex notes in one doc.<p>Basic text editing. I think Vi has some things it does better than Emacs here, but it is still very powerful and rewards learning the finer details.<p>Realizing you are in a Lisp machine. A calculator is no further than your Emacs window. Learning to hack Lisp and elisp is its own reward.<p>I think the time spent learning it is worth it. I think the math checks out in terms of efficiency. I also know Emacs is not going anywhere. Same with Vi.<p>There is much more to it all, but these are things off the top of my head. There are many smaller things that connect up how I work via Emacs... But there is a lot to it.
The first time I got introduced to Emacs, I hated it. Who would like to read email inside a text editor with non-standard keybindings?<p>I got it all wrong. It's not an editor, it's a text-mode virtual Lisp machine.<p>The Emacs ecosystem has matured a lot lately. It has two applications I adore. Org, something impossible to describe in a few words, and Magit, the perfect Git porcelain.<p>Plus it has 3 pretty darn good email clients (Notmuch, Gnus and Mu4e). And some great extras: Dired, Calc, Eshell, Erc, PDF Tools...<p>Everything is really well integrated. And if something doesn't suit your needs, changing it is a few ELisp lines away.<p>My computer setup has become very simple: a tiling WM (XMonad), Emacs, Firefox, and a terminal (Urxvt).
I only really enjoyed Emacs once I learned some ELisp (I think I had tried is 2 or 3 times before that). Honestly I find these guides pretty useless b/c you can copy configs and hack together something without really understanding what you're doing but you'll eventually end up extremely frustrated and unable to work around the quirks and conflicts between configurations.<p>I know the people behind Emacs like to think the system as usable out-of-the-box but I think selling it like that is ultimately a disservice b/c people end up underwhelmed and frustrated - never taking the time to learn ELisp. (the Emacs intro/tutorial is just a "welcome to this nano with annoying keybindings") I actually would challenge anyone to find someone who loves emacs and doesn't know a bit of ELisp :)<p>Ultimately ELisp is really not <i>that</i> much work to learn - but the root issue seems to me that ELisp isn't really a general purpose programming language and who wants to invest in learning a language you can't use outside of your editor? It's basically a DSL for a managing text and buffers.. It'd be way sexier to learn if it was a Racket or something<p>I also wrote a little annotated config intro (these are kinda more personal notes for my org/git/C++ workflow). It's a little terse and to the point and isn't trying to sell Emacs, but unlike most guides I tried to document what each lines in the config really means and help the reader learn how Emacs helps you discover more of Elisp as you go. <a href="https://geokon-gh.github.io/.emacs.d/" rel="nofollow">https://geokon-gh.github.io/.emacs.d/</a> Maybe someone will find it useful! (I'm by no means an emacs expert or Lisp guru.. so if there are problems, let me know please :) )
Author here. In reading this thread, I'm struck that most of the objections to emacs are both legitimate (as are the arguments for it) and focused on programmer-specific issues. Back when I wrote the original post, I was experimenting with using emacs as a CEO who writes little code these days, but was dealing with a maelstrom of disparate information and interruption. It's been a very successful experiment, which I'll document in a follow up post soon. Glad that it got some good conversations going!
I'm mostly a C developer that spend most of my time inside Emacs.<p>I use ivy-mode instead of ido-mode, and avy instead of ace-jump. My setup includes yasnippet, flycheck, company, and ggtags mostly.<p>I have issues using the number keys. So I use a custom vi like mode, but heavily customized: Pressing spacebar results in "_" ("-" in #include), but intelligently. Double space results in "->", ".." results in (|) (where | is the cursor or point) and ",," results in "=".<p>Pressing spacebar after "(" results in "&", then "*" (also "!" if just after "if" or "while"). And my capslock key is just another control key.<p>All the examples above are to be assumed without quotes.
It took me a few years to undertand this, but Emacs is not really a text editor. It is a development and runtime environment for a programming language that is especially useful for building text editors - and more generally, text-related, interactive programs -, and it happens to come bundled with a variety of such programs. But there are many, many more to discover out there on the Internet. In fact, in recent versions, this, too has gotten easier, since Emacs now comes with a package manager. But it can also be an IRC client, an audio player, a web browser, a database frontend, ... the possibilities are practically endless.<p>And this is why I love Emacs. There are other editors out there that are good, too. Very good. But to me, Emacs takes the prize because it is so much more than an editor.
The tripping block that always gets me out of the emacs flow is integrating org-mode with things my co-workers use to communicate (lately that's and Asana, Jira, and Quip, tomorrow who knows, it's hard for me to dictate choice of issue trackers or wiki based on what integrates with my admittedly nutso setup).<p>Even if I were to get everything working, then if I were to ever switch jobs suddenly I'm back at square one again.<p>Emacs and org-mode are perfect, _if_ you don't have to collaborate with anybody.
I started off with Emacs and a month a later tried Vi. I found Vi to be a better fit for me than Emacs and haven't looked back since.
I have huge respect for both editors, they both are much older than me :) I wish I could write something that people would find useful for years to come.
Having said that, I love to jab(friendly) at Emacs users in my circle of friends and colleagues. Makes the conversation even more colourful with a bit of booze inside ;)
In addition to all the other things mentioned (helm, projectile, magit, org), I've found org-ref and interleave great for managing my notes when I read papers or articles. Roughly, I save the PDF to disk and create an org node for it, then add the metadata like file location and bibtex info. Then I have emacs open the PDF and as I'm reading it I can press 'i' to open a note on that page, and then close the note and keep reading.
"You can recognize emacs by the 'mode line' near the bottom of the screen. If you see anybody using it, fire them immediately - they may be a good programmer but they're going to cause more trouble than they are worth."
This is a great article, not least because of the tangential comments (e.g. that impact test of bicycle-style tubing was weirdly fascinating). All that's said about Emacs is true. I loved it for decades. And then my hand started cramping up because of the key chords. So I tried vim, and hated it for a few days, disliked it for a few more, and then started to like it. I'd never go back, now. Vim is certainly not as powerful as Emacs, and its macro language is disgusting, but for everyday work it's fine. And I really like Vim's "grammar" approach to describing complex actions, which makes semi-complex tasks into puzzles and not memory exercises. (For really complex tasks, though, there's nothing quite so wonderful as Emacs with elisp ... so this comment may say more about the work I'm doing lately than these two editors.)
If you write a small pre-processor (simple to do) you can store your emacs configuration file in a markdown file - allowing you to document all the settings neatly.<p>As I was reading this piece I was imagining that is what the author had done, as it is what I did too:<p><a href="https://github.com/skx/dotfiles/blob/master/.emacs.d/init.md" rel="nofollow">https://github.com/skx/dotfiles/blob/master/.emacs.d/init.md</a>
The pyramids were built with emacs. Everything else is drywall to me now. More work? Yes. Worth it though.<p>I like to say gnu+emacs is my OS, and linux is simply my kernel.<p>Org-mode alone would be worth it.
Seems like lots of people here are sharing their experience with #emacs. I like it a lot, and think that it would be part of the ideal #workingset for me. However, I have never found a nice 'jump-to-definition that worked for most languages I edit on emacs. I tried ggtags, ctags, pygments. I think I had trouble setting all of these up, and they would not work for many languages I was using. I have not found a good resource on how to get a nice 'jump-to-definition set-up, and did look within the last 6 months. Maybe something new popped up?<p>Edit: I think I had trouble with Javascript, React and/or Ruby.
Has anyone got any experience using Emacs with one of those mail tools and gmail with 2FA? I started playing with notmuch half-heartedly but it seemed to expect a local mail store, which is fine but I found myself bouncing between setup instructions for several different tools and I quickly gave up.<p>I would like to get it working; Apple Mail client is a bit slow on my laptop with a high volume, and I'm all about plaintext and keyboards. I'd happily use Emacs.
Has anybody quantified the efficiency gains from using emacs to do work rather than conventional means? Are there certain areas (e.g. Mail, todo, notes,calendar,scheduling) that gains more efficiency than others?
I use org-mode and emacs (spacemacs) extensively at my job. I start my day by creating org-mode headers as todos, breaking down the tasks that I think will take longer than an hour, and later taking notes in outline mode as I do the tasks. I like planning a few days and checking in with my manager that I'm focusing my energy on the right things. I also use it to take excellent meeting notes and turn those notes into actionable tasks. People are impressed with my nicely formatted word docs that are just org files exported using pandoc.
When I tried emacs a few years ago I found the learning curve to be far more steep than vim at the time. After trying out <a href="https://vim-adventures.com/" rel="nofollow">https://vim-adventures.com/</a> (no affiliation, just thought it was useful) I learned it in about 15 minutes.<p>Is there any equivalent for emacs? I'd love to get it another shot.
> ... I also set Emacs to full screen. I'd like to do this on Windows as well, but Windows and Emacs don't really love each other and it always ends up in some wonky state when I try this<p><pre><code> (add-to-list 'default-frame-alist '(fullscreen . maximized))
</code></pre>
Seems to work fine for me<p><a href="https://emacs.stackexchange.com/a/3008" rel="nofollow">https://emacs.stackexchange.com/a/3008</a>
I use ivy instead of helm and ido (tried both of them).
Swiper and counsel are awesome for text search.
company, rtags, anaconda are awesome for autocompletion and code navigation in C++ and Python.
I use projectile for project management.
gud is not very useful for running a debugger, so I use realgud which is much nicer.<p>Viva Emacs!
personally this article would work way better for me with a set of animated gifs instead of turning into a wall of text. And I'd love to see his workflows for what he puts in his different orgs to help with context switching. as I get more senior I'm switching tasks even more and more.
Would you advise me to get a try to EMACS? i mostly program in python (django), using docker, kubernetes and so on. I'm using an IDE.<p>On server i use vim (took me a while to understand the commands, but now i found it insanely clever on some comands)
Does anyone use it to type in languages that require an IME or specialized keyboard usage? I tried Emacs a while ago, but I was disappointed I couldn't use my normal OS functionality for typing Japanese, Chinese, Korean, etc.
I primarily use vim for writing code. While I use a lot of standard plugins, I find many things that is not correct with them. I know it's kind of a subjective question, but is moving to spacemacs worth it? Any experiences?
> I keep my calendar, email, etc., on
> another desktop in OS X, which is hidden
> while I'm in Emacs,<p>Meh. To use his bicycle analogy, this is like someone putting Campagnolo components on a Trek CF frame.
Emacs is like Chinese to me, and truthfully to most developers I know. Is there a gentle intro somewhere? Most of what I've seen is just people throwing out package names with no real explanation.
I've never been able to get into graphical emacs, but emacs-nox has been my terminal editor of choice since college. Coming from a Windows background, vi(m) was too weird to get used to.
Emacs is great, but is nearing its end. The package ecosystem is too fragile and lack of any kind of support leads to constant breaking and having to dig through elisp code/config at inopportune times.<p>Core tools like a text editor need to be rock solid and depending on volunteer packages is generally not going to cut it vs. paying a small amount towards a supported product.<p>Full disclosure I recently gave up on Emacs/Spacemacs after several years of using it for Python development (use Pycharm now), Org-mode (Use taskwarrior), and Magit (just use git + some aliases).