DEV Community

Slick3gz
Slick3gz

Posted on

Anyone still using Emacs?

I’ve been through a few code editors & IDEs. Been using VSCode on and off for the last couple years. A few others I have used over the years include DEV-C++, Eclipse, Atom, Code Blocks, Notepad++, Visual Studio, and some others I can’t remember πŸ€”. Lately I have developed a renewed interest in Emacs. I tried it before but didn’t really invest any serious time in learning how to use it. For some reason I woke up yesterday morning and decided to hop on the Emacs πŸš‚. I know people choose up sides and are very dedicated to their code editors or IDEs. Just really wondering how many devs use Emacs consistently in their workflow?

Oldest comments (70)

Collapse
 
phallstrom profile image
Philip Hallstrom

I don't (long time vim user), but two of my colleagues use it every day and swear by it.

Collapse
 
slick3gz_ profile image
Slick3gz

What kind of things are they usually working on? Also, why did you choose vim?

Collapse
 
phallstrom profile image
Philip Hallstrom

Ruby on Rails and a lot of Clojure.

I went with vim having used vi long long ago (25 years ago), back when I was connecting to lots of different machines and you could count on vi being available everywhere. emacs had to be installed, nano wasn't even a thing then. So I just got used to it.

Thread Thread
 
slick3gz_ profile image
Slick3gz

I’ve heard of others say that vi/vim is usually available in most *nix environments.

Thread Thread
 
vatrat profile image
vatrat

At this point, the vi thing isn't even important anymore unless you're physically walking to the device (which is less of a thing now). If you have SSH access, you can use emacs without even leaving your computer. Tramp allows you to connect to the system as though you were working with files on your own computer.

Collapse
 
gavinfernandes2012 profile image
Gavin Fernandes

I've been using spacemacs for the past two years, Emacs for three maybe, that being said, I'm not a programmer by profession, but I do have a couple of hobby projects in C/C++, python, flex and bison (Emacs modes were a pain here), and Dart.

Collapse
 
slick3gz_ profile image
Slick3gz

Why did you end up choosing spacemacs over Emacs? What ultimately made you switch? Or do you use both?

Collapse
 
gavinfernandes2012 profile image
Gavin Fernandes

I like that spacemacs sets everything up automatically for me really and that most things just work. At first the slow startup did put me off, which is why I tried grapheme, but then I discovered emacsclient, aliased it to e, and now (space)Emacs "starts" instantly.

And with all the features spacemacs adds, with little to no config file maintenance, why not just use it right? (Although I bet I won't ever discover 75% of all those features)

Thread Thread
 
slick3gz_ profile image
Slick3gz

Makes sense. Sometimes it’s nice to have things just work right out of the box. Do you just prefer the navigation or text editing vs code editors like Atom, VSCode, etc? Or something else?

Thread Thread
 
gavinfernandes2012 profile image
Gavin Fernandes

Now I probably don't utilize the full potential of my editors, but one feature I miss is the multiple cursors from sublime (and I think even atom had it iirc), although there's probably some package for something similar in Emacs.

Thread Thread
 
slick3gz_ profile image
Slick3gz

I think there is, but I’m not 100% sure. I thought I also saw a recent post on emacsrocks.com about using rectangles to edit/replace multiple instances. I’m still in β€œsuper noob” mode with Emacs.

Thread Thread
 
slick3gz_ profile image
Slick3gz
Thread Thread
 
radicalzephyr profile image
Geoff Shannon

Emacs Rocks is the best. Another great similar tool is "Rectangle Editing". I find I use multiple cursors and rectangle editing quite often, even for different parts of the same task.

Collapse
 
yorodm profile image
Yoandy Rodriguez Martinez

I use Emacs and have my fair share of posts about it. If you have previous experience with it I strongly advice you to give it a try. Emacs 26 has gained quite a lot of attractive features. I'm a Python developer, but in my experience Emacs works quite well with Go, Rust and Javascript/Typescript.

Collapse
 
slick3gz_ profile image
Slick3gz

Great! I have Emacs 26.1 for MacOS right now. Been messing around with it for the past 2 days. Seems to be a lot more than I ever thought it was. Easy enough to get started, but so much to learn.

Collapse
 
yorodm profile image
Yoandy Rodriguez Martinez

You should go and set up MELPA and start installing things :D.

Thread Thread
 
slick3gz_ profile image
Slick3gz • Edited

Been following along with Mike Zamansky. He's a high school CS teacher that posts videos about CS, Emacs, and other stuff. I have Melpa setup with melpa.milkbox.net/packages. Still figuring out what everything is.

Collapse
 
frgomes profile image
Richard Gomes • Edited

I'm a long time Emacs user but I consistently use IntelliJ too. I would like to use only Emacs but the ecosystem is sparse and there's no consensus around a single and convenient user interface (read: standard key bindings) across several programming languages. It means that you have to learn multiple key bindings sets as much programming languages you use. IMHO, the big advantage of IntelliJ is that you have only one set of keybindinds which applies across the board to all programming languages.

I've done my own [little] efforts to create a sort of more or less convenient IDE for Emacs which attends my purposes. If you are interested, it's here: github.com/frgomes/.emacs.d

Cheers

Collapse
 
slick3gz_ profile image
Slick3gz

Nice. I experimented with Neotree a little bit last night. So used to seeing that tree view that I felt a little lost without it. Thanks for sharing your work.

Collapse
 
jcabraham profile image
Jim Abraham

Only since 1996. The relationship between other editors and Emacs and Vim are like Dennis Ritchie said about Unix: those who do not understand it are doomed to reimplement it -- badly.

Collapse
 
troglobit profile image
Joachim Nilsson

+1

I've used it for such a long time and I still find new things to learn about it and new features being developed for it. In particular I love Magit and Projectile.

Takes time to get to know it though, but it's really worth it. Any good editor should feel like an extension of one's self.

Collapse
 
yorodm profile image
Yoandy Rodriguez Martinez

Discovering magit was like finding beer, on Christmas, hidden in a lower counter on your uncle's house, back when you were 12.

Collapse
 
slick3gz_ profile image
Slick3gz

I’m liking tinkering with it so far. Trying to put together a decent setup for Javascript/React. Since I’ve been typing Emacs-lisp code lately I’m slightly curious about Lisp/Clojure/etc.

Collapse
 
alizand1992 profile image
Ali Zand

Yep been using it for the past 2.5 years. not using the mouse is a blessing. I do use Intelij on occasion.

Collapse
 
mmaug profile image
Bahstin Beat

I've been an Emacs user since 1990 and a maintainer since 2006. While I don't have the prettiest desktop, I frequently locate and identify issues in our tools first because the workflow is not being hidden from me. #nomagic

Collapse
 
slick3gz_ profile image
Slick3gz • Edited

I was a CS major (before I dropped out and switched to music ed) in 1997. I remember using Turbo C++ back then, but never even heard of Emacs. I mostly used Dev-C++ on Windows for a few years after that. Went through a bunch of different languages/editors/complilers over the years but just now getting to Emacs. πŸ€·β€β™‚οΈ

Collapse
 
mxjxn profile image
Max Jackson

Spacemacs was my gateway to emacs. I'm a vim user and spacemacs just provided more functionality, plus vim mode, out of the box. Plus elisp is way more approachable than vimscript!

Collapse
 
slick3gz_ profile image
Slick3gz

@gavinfernandes2012 also seems to enjoy the quick setup of Spacemacs.

E-lisp is a little different for me because of my β€œC” languages background, but it slowly starting to make sense.

Collapse
 
barjazz profile image
spence

use it every day, multiple shells, compiling, grepping, etc.

Collapse
 
slick3gz_ profile image
Slick3gz

😎 Is that you with the bass?

Collapse
 
spack971 profile image
Jimmy Thrasibule

Emacs has got the best git interface I've seen so far, magit. I'm also so used to the keyboard shortcuts and smart-tabs that I try to recreate them in the other editors I use.

Next to that, you can merely do anything within Emacs, file browser, emails, console, ...

Collapse
 
slick3gz_ profile image
Slick3gz

Nice to hear about magit. Was reading a little about it last night before bed. VC is a big part of the workflow.

I’ve read that the concept for Emacs is that you shouldn’t ever have to leave the program. 🀯

Collapse
 
medicalcodesolutions profile image
medicalcodesolutions

You bet. I just about live in it, except when using Eclipse. I do a fair amount of command line work, and shell mode allows me to search through commands and their output. I also use emacs a lot with interactive SQL. I could barely get my work done without it.

Collapse
 
slick3gz_ profile image
Slick3gz

I need to get my shell set up in Emacs. Using zsh on MacOS, but my shell comes out garbled in the shell buffer. Haven't tried out any of the shell packages yet.

Collapse
 
medicalcodesolutions profile image
medicalcodesolutions

Just do meta-x shell

Thread Thread
 
slick3gz_ profile image
Slick3gz

Yep. Was having some trouble with Iterm2 pasting codes in the shell. After I installed Iterm2 shell integration it is working great. πŸ™

Collapse
 
jjbby profile image
J • Edited

First, whoever you are, you should remap your Caps-Locks key to any other useful key. Recommended Esc or Ctrl. Should be a default IMO.

TLDR: Emacs is a very customizable working environment with time tested features and great extensiblity while also forcing an upfront learning curve that can be hard to invest in. It forces you to learn the power of the editor(environment) to use where other tools are very capable too if you dig into them. Learning Emacs can potentially save a lot of other tooling fatigue issues.

Note: I am not a writer so grant some leeway on the grammar/styling or whatever a pro writer would do that I missed, I’m trying. These are all my thoughts aggregated from various resources, experience, opinion, and probably lack of knowledge as there's so much to learn! Let me know what I missed!

Why did I write this?
I think about editors a lot. I think about efficiency and productivity way to much. Probably to the detriment of actually being productive. Having to many thoughts with no one to talk to...

This story will go through my path as a developing programmer and how I got to Emacs(Spacemacs) and my thoughts on it.

I started programming 1.5 years ago and am currently looking for a job in New Mexico after attending a coding boot camp for 6 months. I contemplated what my interests were and what I wanted to do for a long running career and have a long history using computers. So I vetted and aggregated learning resources to avoid fumbling around with what learn next at any stage of development. To test my interest in programming I went through the highly touted Harvard CS50 course and loved it! I choose to start with Python as a language.

How does this have anything to do with editors? Well, I researched editors and tried a lot of them! At one point I had Sublime Text 3, Pycharm, IDEA, Atom, VSCode, Emacs, Vim(with someone else's config setup), Geany, Notepad++(on windows dual boot), Eclipse, Brackets, and Netbeans ... all installed. I did open and get all of them running in some form or another but, admittedly, I went for high review editors hoping some vetting of good resources had been done by the community. I have put time into Atom, VSCode, Pycharm, Sublime Text 3, Vim, and Spacemacs. Currently I try to code within Spacemacs and run VSCode or PyCharm in the background for visual debugging because I am the more comfortable and productive using them for now.

So I started coding with Sublime Text 3 as it was recommended first (actually python IDLE =/ ) and had no clue what the other options, features, and differences were with editors. So off exploring I went. Most GUI editors have been mostly the same and very good with their own set of pros/cons. I looked into Vim and after getting more familiar with Python, started using it. Vim is awesome as an editor! It really opened my eyes to powerful editing that I had missed trying different GUIs(not for lack of good editing shortcuts rather no forced need to learn them). It also really sparked the questions of, β€œIf this exists, are there other eye opening tools?” Using Vim also made me notice how many things supports vims hotkeys and crave that far reaching utility.

That search invariable ends up leading to Emacs, the most non-user friendly, standoffish, long-living, and infamous tool you can find. It took a lot of digging to answer, β€œWhy learn and use Emacs?” The tipping point was this video youtube.com/watch?v=JWD1Fpdd4Pc. It left me asking to many questions that have no real answers when googled other than I would have to try Emacs myself. And here I am a month and a half later, using Spacemacs casually as I’m β…“ as productive, highly frustrated when I kill/close/lose a buffer(if that’s even what’s happening?), and turn to other tools/editors to ease into this transition that I’m so obsessed with! Thank you stubbornness?

OK, I have been lumping Emacs in with Editors and that needs clearing up. If the adage β€œEmacs is an great OS without a good editor…”(how ever the saying goes) than let me define editor and/or OS. I have almost never used an editor in isolation and always with other tooling. Vim and Tmux is common, I us VSCode with the built in terminal along with another terminal for other commands and file traversing which in turn has Midnight commander and ZSH and...(I know I can have multiple terminals in Code), and a browser is always open. My use of the word editor here is more connotative toward the entire environment that I wrap the editor in. This is important to denote for two reasons. One, it creates a better comparison. And two, you spend a lot of time learning tooling to use you editor of choice efficiently within that tooling environment. The difference is presentation and discover-ability and where that learning curve takes place.

This is where Spacemacs stepped in...eventually. Opening vanilla Emacs and going through the tutorial left me wondering how to put the pieces together and, while more familiar, guessing at the correct commands just to get started. It felt overwhelming as I sat staring at the open prompt asking myself, β€œNow what do I do?” Highlighting that feeling when you get a deck of cards with the idea your going to learn magic tricks with them and blow your own self away! I new learning everything (or anything) would be slow and incremental (did the Vim tutorial, steps 1-6, 50 times and the whole things 1 time). I just wanted to check out Org-mode and Magit, maybe figure this Tramp thing out!

Google-fu said that I needed to learn E-Lisp and install plugins/layers and just us M-x butterfly or something. I searched for some videos for a general workflow to template off of. I looked at Evil-mode, Doom-emacs, Spacemacs and Prelude and had no idea where to begin again until it became clear that I just needed to learn by doing and find an easy way to start off. Spacemacs offered an out of the box experience with visual command input guidance! Also key commands I was familiar with as well as space-bar as a default. It also had some easy documentation for adding layers(which is pretty easy without Spacemacs as it turns out!).

Hopefully I have passed some of the harder parts of getting started and have hope of learning E-lisp and building out a config of my own. It is worth noting that there is a smaller community which means less quality resources. It’s pretty easy to find all the answers to your issues in, say, Atom or even just more help since there’s way more people using it.

Overall I am still obsessed with Emacs and how/when I can get productivity out of it. Its been useful to see how configurable it is and how that translates to other software, how I come to expect more from it! What’s this a closing line with no solid conclusion? I've been using Emacs for a month and half, give me a few more years! How did I even get here?

P.S. This was wrote in google docs where all I could think about was the blasphemy of not using org-mode.

Collapse
 
slick3gz_ profile image
Slick3gz

πŸ˜‚ Thank you for sharing. There is alot to discover about Emacs for sure. Just started messing with magit about a half hour ago. I like the the informative popups. Still so much to learn. Seems worth it though.

Collapse
 
huytd profile image
Huy Tr.

I am, after 5 or 6 years with Vim, I moved to Emacs since last year, first with Spacemacs, then moving to a simple init.el, ended up ditching evil-mode for Emacs keybinding as well. Wrote some posts about it, here are the two posts reflects my journey with Emacs:

Collapse
 
sid_art profile image
Sid_art

Spacemacs ftw. I write more than I code now .. and spacemacs is even more dear to me now as a writer and not just a coder.

Collapse
 
mrbig033 profile image
mrbig033 • Edited

Yes. Emacs is my main editor for code and prose. I have been using it for a year. I'm a software-engineering student in my mid-thirties.