6 ms·
How to Learn Emacs (2012)
- jacobsenscott 3y agoThe install section is out of date, at least for macos homebrew. The emacs-plus package on homebrew (https://github.com/d12frosted/homebrew-emacs-plus https://github.com/d12frosted/homebrew-emacs-plus) is the best for macos.
- koito17 3y agoI use MacPorts, but I recall hearing the alternative Homebrew Emacs packages apply lots of patches onto the Emacs codebase itself and may cause stability issues. Users should be aware of this before deciding to use emacs-plus over the regular emacs package on Homebrew. So rather than the install section being "out of date", I would say it is more conservative and may reduce the probability of users' first Emacs experience being buggy.
- jacobsenscott 3y agoIt has been my daily driver for a few years. I don't notice any instability. It appears to only apply 4 patches, includes lots of extra app icons, and the remainder is just setting sane default compile options. Also it appears --cocoa is no longer a valid option even on the default HB emacs, so it is out of date anyway. https://github.com/d12frosted/homebrew-emacs-plus/blob/master/Formula/emacs-plus%4029.rb https://github.com/d12frosted/homebrew-emacs-plus/blob/maste...
- xenodium 3y agoLong time Emacs plus user here. It’s been solid. Great maintainer. Lately been using it with native comp. Also solid. Written about it a few times: https://xenodium.com/emacs-plus-with-native-comp https://xenodium.com/emacs-plus-with-native-comp https://xenodium.com/my-emacs-eye-candy https://xenodium.com/my-emacs-eye-candy https://xenodium.com/no-emacs-frame-refocus-on-macos https://xenodium.com/no-emacs-frame-refocus-on-macos
- cpach 3y agoHow does that dist compare to https://github.com/railwaycat/homebrew-emacsmacport https://github.com/railwaycat/homebrew-emacsmacport ?
- louistsi 3y agoFrom upgrading today from 28.2 to 29.1 on my Intel 2019 Macbook Pro on Ventura, the macport one you linked felt snappier and far less stuttery than emacs-plus installed with the --with-native-comp flag enabled.
- torcete 3y agoDoes anybody know what would it be the best way to install emacs on Mac for NIX users?
- da39a3ee 3y agoI disagree! It's railwaycats emacs because of the SVG support, unless I'm out of date.
- nvy 3y agoThe Yamamoto ("railwaycat") fork is far superior.
- dang 3y agoRelated: How to learn Emacs - https://news.ycombinator.com/item?id=3821531 https://news.ycombinator.com/item?id=3821531 - April 2012 (7 comments)
- squeegee_scream 3y agoMy learning path was 1) use vim/nvim for a couple years 2) use Doom Emacs. I was shocked at how intuitive Doom is for me. Of course not everyone would agree but it’s worth checking out
- kimoz 3y agoI learned emacs the same way.
- ktm5j 3y agoA coworker turned me on to emacs a long time ago but it wasn't until I found Spacemacs that I really started to use it heavily. Now I basically live in emacs and I love it!
- 0x38B 3y agoLooking back, the main value of super-customized Emacs distros (really) was to show me what's possible. Spacemacs blew me away, yet overwhelmed me when I tried to customize it; so I started with vanilla Emacs and then added things, package by package; magit is every bit as good as I'd heard, and Treemacs makes exploring a big source tree pleasant. More recently I've been reading the Org manual (1), which like Spacemacs opened my eyes to Org mode's capabilities: literate programming and code blocks that modify the source document captured my interest, along with table and spreadsheet capabilities. I still use nvim all the time in the terminal; vi knowledge is essential, as it's the best editor you can be sure to have on a UNIX-like system. Case in point: Today I used vi in kterm on my jailbroken Kindle Touch to edit usbnet's SSHD config (2) and I can't imagine a more efficient editor (3) for an eInk device. P.S. My favorite thing about Emacs is the help system. Being able to look up a function or what a key does with a few keypresses is fantastic! 1: https://orgmode.org/org.pdf https://orgmode.org/org.pdf 2: Now I can use `scp` or SFTP from my laptop and or iPhone to add books to my Kindle while it's connected to my iPhone hotspot 3: https://nexus.armylane.com/files/k5-kterm-and-vi.jpeg https://nexus.armylane.com/files/k5-kterm-and-vi.jpeg
- sgarland 3y agoLegitimately asking, not trying to start a holy war - what did you find lacking in vim that you found in emacs? I've been using vim for barely a year, and have yet to find anything I can't do in it that I want to do.
- andirk 3y agoIn vi (which apparently is vim by default I was told?) I know open, save, quit, go to line, go to begin/end of line, find, insert, delete line. We used emacs in college and that was the last time I used any text editor serverside besides vi. Am I missing out?
- throw10920 3y agoIf you only care about the features you listed - no, you're not missing out on anything. Emacs is a great extensible platform for writing textual applications that happens to come with a mediocre text editor. If you like automating things or enjoy having development environments that fit you like a glove, you'll want to learn Emacs - it'll pay off in a few years. (this describes me) But not everyone fits that description, and that's totally fine. I know many software engineers who have been working for decades in vanilla vim, and they're still incredibly productive. VSCode, too, comes with sane out of the box defaults and a large extension ecosystem. There's probably an analogy to be made here between flexible languages (Lisp, Haskell, C++ kind-of) and inflexible languages (Python, Java) - some people really want to develop DSLs to perfectly express their problem, but others are ok with a slightly awkward mismatch due to a rigid language, and are still incredibly productive and happy. (however, aside from practical use, I find the design of Emacs to be quite beautiful and inspiring, and encourage you to take a look at it anyway when you have some time)
- rtpg 3y agoI think Emacs is appealing to those who want to quickly write customizations to their text editor. When working on certain projects, I'll sometimes write a code snippet of elisp to handle some task I find myself doing a lot (things like "fold all fragments of this bespoke file format which includes some string"). The fact that Emacs Lisp is a "real programming language" is nice, and the way that it's very easy to inspect what a certain key command does means that you can very quickly set something up. This lower barrier to entry is nice for people who really want to make things very close to right. Things like "set up a custom error checker based on this validator command and add highlighting to the text based on it" is as simple as setting up something in flycheck and setting up some regular expressions. So I think it's interesting for people who like IDEs but want it to be easier to mold and understand, more than people who have a simple text editor but want "more".
- codemonkey-zeta 3y agoThis tutorial is painfully out of date, and I would argue a very bad way to learn emacs today. As an example, don't learn to use ETags unless you are going to specifically be working with a C project where other developers use them. You would be better served these days learning LSP and treesitter, which is now built-in. I would also strongly suggest using Doom Emacs, and working your way backward to a minimalist configuration once you are comfortable. There are so many useful packages excluded from default emacs that any beginner learning emacs would walk away with the impression that emacs is old outdated software, and not useful for real work. That couldn't be farther from the truth, but if you follow tutorials from 2012 you wouldn't necessarily figure it out.
- bigdict 3y ago> don't learn to use ETags > You would be better served these days using LSP and treesitter Could you elaborate? How do I transition from etags to treesitter? Suppose I'm working on a dynamic C or C++ project where I might need to regenerate the tags daily.
- codemonkey-zeta 3y agoI meant to say "learning", not "using", that's my mistake. > Suppose I'm working on a dynamic C or C++ project Most beginners are not, that's my point. Those technologies are fine if you need them, but the vast majority of beginners are working in dynamic languages like JavaScript and Python. Any modern tutorial using Emacs for code should be about programming in those languages (and elisp). Honestly the best way to learn to use Emacs today is probably not using it for code at all, but org-mode and plaintext editing. That way you can learn the editor and not get bogged down in creating/configuring IDE features.
- nvy 3y agoI've been using emacs for years, and I use org to write latex documents because writing actual latex is awful, but I don't really see what drives such org mode fanaticism. You're at a bbq and someone invites you to a ski trip in 5 months, you need to check your schedule so you whip out your laptop to check the org calendar? I just don't get how people can function putting "everything" into org.
- pedrodelfino 3y agoI wish I had read this article in 2012. Unfortunately, I was introduced to Emacs in 2016 and only started using it in 2021. I lost 9 years! It is my favorite piece of software :) This article has an interesting perspective. But, beyond Emacs built-in documentation, my favorite content to learn Emacs is the book Mastering Emacs and the System Crafters' YouTube Channel.
- Roark66 3y ago>System Crafters' YouTube Channel. Oh my. I really genuinely tried to watch it... But it's impossible for me to not fall asleep after 20min. The guy on the channel really should invest in some person that could cut 10 min of content out of each of his 2h live shows and make a short snappy video. Like what the primagen is doing. I think he would get 10x the audience. The actual content he has is very interesting, but the barrier is the length of it.
- drumhead 3y agoIts great that Emacs is still with us and long may it last. Its incredibly powerful and flexible, but it also really hard trying to sell it to a new user. Most of them will just download and use VS Code. Is is still possible to popularise its use? Most people just want to get up and running straight away, something which Code lets them do, they dont have the time or patience to learn how to use Emacs. It comes from that RTFM era where you were expected to learn to use something however steep the learning curve, and people will just give software like that a miss. I dont want to see it die out an I really hope someone does come up with a tutorial that can draw novices in or at least can show them the real power of Emacs and get them excited enough to want to learn to use it.
- hyperhopper 3y agoSpacemacs tries to be pretty close to that. Unless you want a lot of custom integrations, spacemacs gives me everything I want out of the box. https://spacemacs.org https://spacemacs.org
- checkyoursudo 3y agoWhat is the coolest thing you can do with emacs? I tried emacs a few years ago, but I didn't stick with emacs for more than a couple weeks, if even. I had already been using vim for many years before that without pain, so I could not find a compelling reason to switch.
- G3rn0ti 3y agoI am programming SQL exploratorily in org mode. It renders server responses using org mode’s built-in spreadsheet engine. At the end of the day I mark the better queries for „tangling“ to create the schema changeset for me. In find that quite convenient. Last time I was really impressed I had two remote dired buffers open (using tramp mode: „C-x f“: ssh:user@server.com:/foo/bar), one on server A and one on server B. Then I selected some files to copy (using „m“) and then hit „C“. Emacs then recommended the server B location automatically, I hit enter and it copied the files from A to B. Nice. You need „ dired-dwim-target“ (Do What I Mean target) set to true for this to work. But I use this trick regularly two run test queries on production machines.
- G3rn0ti 3y agoWhat I also love is the built-in „compilation mode“. I‘ve bound „C-c l“ to „compile“ and „C-c r“ to „recompile“. We have different tests in different directories so I‘ve sprinkled a couple of “.dir-locals.el” in all the relevant places populating all the right default “compilation commands” for me. So when I want to run or create a new test I hit “C-c l” once, select the right default and then recompile after every iteration using “C-c r”. This boosts my turn over so much as any errors are also captured in separate buffer. The tests may even run remotely transparently by leveraging “ssh”. So you don’t even need a complex configuration for easing many of your daily routines.
- tmtvl 3y agoIn the menubar I can click on Help->Describe->Describe Key or Mouse Operation... and then click on Tools->Compile Project to get information about what Tools->Compile Project does. It's easy to learn about the various tools available to me in a way that I find severely lacking elsewhere. Is it the coolest thing you can do in Emacs? Probably not, but it's something I really appreciate.
- ivzhh 3y agoI picked up Emacs this summer (together with neovim). The motivation was simple, I was an early adopter of VSCode and SSH remote, but I noticed that sometimes, the session history (bash history, etc.) was not restored after network issue. I don't get along well with tmux thus I need a solution. I found Emacsclient is a perfect match to my situation and I simply started from empty init.el. It was annoying in the first a few days to set up LSP, counsel, org-mode. But after about 3 days, everything became very natural and I have been using Emacs ever since. I made a lot of elisp in my init.el to set layout, do automatic actions, etc. I am not a long time user yet so I can speak for the "learn" part: just use it and you will pick the skill up.