It was a few months before I started editing my config files, first to get rid of the start up message, then to handle some org exports, then to do a little python programming.
Your config file grows as your use of emacs expands. I now use it for programming, task management, email, calendar, accessing remote files, git, and occasionally a little note taking.
The worst thing you can do with emacs, when starting, is to look at other peoples .emacs files. It's just intimidating
Just open emacs with no customizations.
You can do everything with a tiny handful of commands, many of which you already know: c-F for forward char, c-B for backwards char, c-P for previous line, c-N for next line. It's modeless so if you type you'll see your keystrokes. Run the tutorial to learn a few more (c-H t -- c-H is "help").
One difference in emacs compared to many other editors is that search is so lightweight that it's trivial to use search to move the cursor around. So actual "cursor movement" is less common.
I was pair programming with a colleague who's been using Emacs about as long as I have (since 1978) and the other day he learned a new command. "I can't believe I survived with this command", he said, but really, he had done just fine.
For the fellow Vimmer, I suggest Doom Emacs. I'm using it to type this message now! Yes, it's a distribution with many batteries included, but you can eliminate what you don't need. It's quite flexible, and the dev is very responsive.
I recently dropped Vim and going with vanilla Emacs. I reconfigured my current Emacs/evil-mode config and took out everything evil related.
For the next few days I painstakingly worked through the keys. By the end of the week, I had enough. I felt too slow and my hands started aching ironically. My current Linux environment relies on me to easily switch between windows with HJKL and other shortcuts I've instituted over the years. Also, I work on two different keyboards. Both work fine with evil-mode, but one required some serious rebinding just to use vanilla Emacs.
I returned to evil mode and feel right at home. I did take some things with me, such as C-a/e for moving to the beginning and end of a line and C-d and C-k for deleting characters and lines, respectively.
I'd love to hear from Vim and Emacs users on why they preferred Emacs' bindings over Vim's, if that ever happened.
Org mode is good, but most Emacs mail clients are pretty meh. The primary advantage is getting to use the same interface to everything and being able to customize everything easily. With the relatively small volume of email that I process, it's just too much work to keep all of the configuration working for mail in Emacs. Magit is cool, I think you'll enjoy it.
If you happen to be using bash, "set -o vi" was a godsend for me.
bind 'set show-mode-in-prompt on'If you intend to do a lot of customization to your editor, or expect IDE-like features, I feel that emacs is the superior choice.
elisp is a OK scripting language. Rather quickly I could read and understand the internals of emacs packages (and of some of the emacs internals itself!), despite having basically no experience with lisp. Self-documentation and explorability is truly incredible.
I never really looked into VimL, but my understanding is that it is really not as good.
I still prefer vim bindings, so I use evil-mode on my "vanilla" emacs and vim bindings in spacemacs (well, "hybrid" bindings to be exact).
So my personal take:
- vim for sysadmin, being able to run a fast minimal editor behaving the same on multiple machines
- emacs for development, where having a "tailor-made" editor with lot of config/customization is important
Have you tried TRAMP? It's not just something that lets you have your Emacs config on remote machines: it brings the remote filesystem to your machine. (It's a little like sshfs except more powerful and much more convenient.)
There's highly recommended pre-configured packages like Spacemacs or Doom-Emacs that ship with vi-key support enabled by default, allowing you to keep much of your muscle memory.
- Get used to type "emacs file.txt" instead of "vim file.txt" in your console.
- Have a function in emacs that opens the current file in vim for those moments where you just want your trusted environment. Writing it by yourself is a good focused learning experience.
This way you'll decide (and balance) how much you want to learn every day, and little by little you'll find yourself using that function less and less.
Overcoming 20 years of vi muscle memory is hard. You just have to go 100% emacs and eat the reduction in productivity for a few days/weeks.
I'm getting there...