5 ms·
Can you give the n00b's any tips on how to master emacs while keeping it interesting?
by emacsvimlover 8y ago
Can you give the n00b's any tips on how to master emacs while keeping it interesting?
- jes 8y agoFor me it's been helpful to sometimes take some time, look at the key bindings for a particular mode, and practice them. With some periodic investment in committing them to memory, I think your Emacs productivity will improve.
- heartofgold 8y agoFor me personally: - I started out just learning navigation. How to move around within buffers, how to open multiple buffers and move around between buffers. Then I learned several built in commands. Years later I learned clojure, a lisp dialect. After learning it, and then looking back at emacs lisp (elisp), and a light bulb went on for me. You can write any elisp function you want, which has functions to manipulate text within buffers and much more. Using it you can create any kind of specialized editor function you can dream of, and you can call that function with "M-x function-name". If use use the function lots, then you can bind that function to a keystroke. (For example, if you wanted a completely custom function... to delete the current block of code, you could write an elisp function to go to move the point to the blocks beginning brace, set the mark, move to the matching brace, and then delete the region.) There are several "modes" that define how buffers behave. A clojure mode will know how to highlight code and navigate around parenthesis. Magit-mode knows all kinds of commands for operating a git project, and org-mode knows commands to help facilitate note-taking.
- alexhutcheson 8y agoThe built-in tour (C-h t) is pretty good and doesn't take too long. Learn the various built-in help features, and use them. C-h C-h describes all the various help features. Beyond that - force yourself to navigate via the keyboard only (no mouse, no arrow keys). You'll get more efficient and pick up shortcuts as you go.
- kwoff 8y agoIf you can find someone who's mastered emacs to show you around, I think that would be a good start. I was fortunate in the mid-90's that such a person sat with me in a computer lab and showed me how much more powerful emacs was than I'd understood till that point.
- vector_spaces 8y agoFellow n00b here, but maybe a little further along in my emacs journey. I started with Emacs as my first editor when I first was learning how to code a few years ago. I played with it for about a year, then left it for VSCode when I got a job as the projects at the time were heavily JS/TypeScript based, then slowly went back to Emacs as I started to feel frustrated at how painful it was to do certain things on VSCode that I knew would be lower-friction on an editor like Emacs or Vim. This second time around it has helped me a lot to not feel like I need to rush to master it, taking time instead to focus on committing one or two commands to muscle memory every 10 days or so, and looking at other people's configuration files for inspiration. Studying these configs in particular [0], [1] helped me quite a bit, as they're nicely commented, big enough to have some useful stuff in them and get real work done, but small enough to understand fairly quickly. I also make it a point to not add stuff to my config that I don't understand and try to follow good practices around commenting and code organization Being OK with navigating inefficiently but making a conscious effort to learn one or two commands to handle stuff that feels painful (kill line, jump to beginning of file, jump to end of file, jump to end of line, back-to-indentation) then modifying anything that doesn't feel natural. Learning to find help inside emacs: C-h b to list all bindings in the current buffer, or discover-my-major [2] for a friendlier interface, or [3] (highly recommended) for displaying and filtering available bindings as you type them. Cheatsheet [4] for creating your own cheatsheets to note and recall commands you're working on learning. Finally, taking advantage of the fact that you don't need to leave Emacs for certain things. For example, at work we use Trello, and I love being able to check Trello from inside Emacs via org-trello-mode. It's very nice to not have to context switch when coding. Not to mention Magit (super powerful git gui inside emacs) and Tramp mode (for editing files over ssh from the comfort of emacs). Also, I've generally found people to be extremely helpful on #emacs on freenode IRC. I've learned a lot thru osmosis just observing conversation there :) [0] https://github.com/jsks/dotfiles/tree/master/emacs/.emacs.d https://github.com/jsks/dotfiles/tree/master/emacs/.emacs.d [1] https://github.com/flyingmachine/emacs-for-clojure/ https://github.com/flyingmachine/emacs-for-clojure/ [2] https://framagit.org/steckerhalter/discover-my-major https://framagit.org/steckerhalter/discover-my-major [3] https://github.com/justbur/emacs-which-key https://github.com/justbur/emacs-which-key [4] https://melpa.org/#/cheatsheet https://melpa.org/#/cheatsheet
- laughingman2 8y agoFor me, I knew touch typing (not a master but enough to not see the keyboard while typing), that combined with little experience in vim bindings (basic navigation hjkl, v) etc was enough to become really comfortable with spacemacs. Spacemacs's mnemonic bindings will make it easy for you to start having a muscle memory of bindings to do stuff like opening file tree, moving between windows, switching layouts, killing buffers (all essential for a good workflow in emacs).
- grey-sunshine 8y agoTry helm.
- franee 8y agoBeen a user for ~10years and I use emacs mainly as just as an editor. Here's all the actual commands (very few) I use day to day --> https://gist.github.com/franee/5d188ce36f6c24181707907614d2c52d https://gist.github.com/franee/5d188ce36f6c24181707907614d2c... I use mainly the emacs starter kit and build from there. I swapped Ctrl & Caps Lock two years ago due to wrist pain when doing development in a laptop.