4 ms·
What is the best way to actually learn emacs? I'm a vim guy who is curious enough to switch but I'd rather just hack the introductory process and get to the fu
by allending 12y ago
What is the best way to actually learn emacs? I'm a vim guy who is curious enough to switch but I'd rather just hack the introductory process and get to the fun bits.
- reitanqild 12y agoI read the built in help and the recommended parts didn't take too long (30 - 90 minutes somewhere I guess). Used the GUI version (the menus are usueful for reference when I started) but learned the new copy / paste keys instead of using Windows standard and generally try to pick up every shortcut. I've tried a few "distros" and found one I liked. I also spent a little (too much?) time on implementing org-mode, mostly according to http://doc.norang.ca/org-mode.html http://doc.norang.ca/org-mode.html Wouldn't use it for window manager though for roughly the same reasons I wouldn't use the tractor to go shopping with the family. (Background: I've used vim for configuration for the last few years and ST2/3 + Netbeans for developement, never touched emacs before last fall except by accident.)
- mjhoy 12y agoI was a heavy Vim user, and what worked for me was forcing myself to use emacs for a project. Other people use evil-mode, but I kept the standard key bindings. Use the help as much as you can, and learn about functions like C-h k and C-h m. I stayed with emacs for org-mode, for buffer management, and then for projectile, magit, flycheck, mu4e, etc etc...
- RBerenguel 12y agoI'm a self-considered emacs user, but I like evil-mode. But I'd also recommend sticking to just emacs when switching (I think 20-30 days of "only emacs keybindings" may be enough) to learn a little about its normal keybindings. It's important to know where you are moving, even if then you change the furniture ;)
- mjhoy 12y agoI've never tried evil-mode, but I always thought it would confuse me when using things like helm and magit and org-mode that (sometimes) use emacs-like bindings for their controls. Do you run into any problems with this?
- cturner 12y agoSomething waiting to be done: a /Handmade Hero/-style webcast by a vim fan who wants to create vim usage within emacs, from scratch. The warm-up week could be a guide to lisp.
- VLM 12y agoThe most interesting cultural observation thats not often talked about is bare emacs and bare vi are equivalent-ish, but all the "cool" stuff in emacs is in the addons. If you just use bare emacs you'll think its pretty boring and not see any productivity gains. If you use a pre-packaged set for emacs, you'll be utterly overwhelmed trying to learn a million things at once. There are no pre-pack sets with just systemic improvements. Another cultural thing is there's addons for emacs that improve everything (like helm) and addons that provide one nifty feature (like magit) and addons that are affinity specific (like clojure-mode thats of interest to clojure coders but not likely other coders). So we call them all the same thing, addon or extension or whatever, but there's 3 classes of thing with that name that differ in how you interact with them and they interact with you. So ... my advice is install your vanilla emacs, put in the stereotypical system wide addons maybe just helm, and then add one package at a time figuring out what they do. Aggressive-indent rather forcefully indents your code as it sees fit, which some like, others hate. Maybe a good place to start? So projectile and helm-projectile makes opening files in the same project simple. It understands your git repos and you can open any file in that repo and a lot of other repo related stuff. And perspective lets to segregate multiple project buffers so however unwise it is, you can work on multiple separate real world projects at the same time. And flycheck does on the fly highlighting of errors in your code. And magit does git inside emacs sorta rainbow-* does colorful syntax highlighting (or drives people nuts) yasnippet adds tab completion (so "i" "f" "tab" give you a whole if-then stanza ready for editing, depending on your language) Trying to add all that at once would drive you nuts, so one package at a time till you feel OK with it. I still don't entirely feel OK with magit, whatever. There's also language specific packages although cider and clojure-mode will be quite useless unless you code clojure, etc.
- TeMPOraL 12y agoI very much second this comment. Learning Emacs is a very interactive process (much as Emacs itself). It's best to introduce new extensions one by one as you need them, and spending some time using them. I consider myself a noob Emacs user (having been using it exclusively for the last 4+ years), and here's a trick I use if I feel overwhelmed/annoyed by some extension: I decide to spend 30-60 minutes (to the clock; personally I measure it in pomodoros) practicing the mode itself. Such focused learning gives wonderful results. For instance, I spent 30 minutes on learning multiple-cursors.el and now I can't imagine living without it. Or I was always confused by Paredit, but it took about one hour of practicing it to become proficient in it. Again, I now can't imagine working in Lisp without Paredit. Discovering interesting modes can be a task in itself; I suggest browsing through at least Emacs Rocks short videos[0], they introduce many a handy utility. [0] - http://emacsrocks.com/ http://emacsrocks.com/