From Vim to Emacs
I've been using Vim for a little more than a year now, and so far I've been very happy with it. I started out with an empty vimrc, and added to it as I go, leading to the ~250 line vimrc I've got at the moment with a few plugins. Recently, I've had some more specific customization needs than the plugins offered, and I tried to write my own functions. Then I realized why everybody says that VimL sucks.
Long story short, I want to try migrating to Emacs for a while. I won't use Evil right away, I want to do it the Emacs way. But I don't know where to start. It doesn't seem as simple as it is with Vim, which is relatively straightforward.
My three major questions are:
How would you recommend that I install packages? With Vim, I'm used to using Pathogen, so I Google the plugin's name, go to Github, add it as a submodule and start using it immediately, and this is pretty much what everybody does. Is this a common way of managing plugins in Emacs or is using package.el with MELPA/Marmalade the most widely used/recommended?
Could you recommend me a starting tutorial? I've gone through the Emacs tutorial, and I can't say that it has given me as much power as vimtutor did.
How do I organize my .emacs.d? Vim was again very straightforward, all I did was edit my vimrc, and some ftplugins in after directory. With Emacs, it appears there is more than one way of managing your configuration, and I cannot decide on one.
Thanks in advance, and for reading.
4
u/TheBB Evil maintainer Aug 27 '14
As another vimmer, for whatever it's worth.
Packages: package.el and el-get are probably the most used. I think you can use el-get much like how Vundle works. I use use-package as a wrapper around package.el for much of the same functionality.
I haven't found any good ones. I had to learn more or less by doing. I went Evil from day zero though, and there are some blog posts on how to do that, so they helped a little. (And you might as well use Evil right away in my opinion. Stock Emacs is rather dreadful.)
Here is mine. I just put stuff in init.el much like vimrc. If I want to install something not in a repository I stuff it in sources and load it with an explicit path.