| My 2cents on how I picked up emacs: Keep using your 'main' editor for coding for now. Get a shell/terminal that you can open/close with a hotkey (iTerm2 on Mac or something like yakuake on linux) Run the editor you want to learn (I recommend emacs) in your hotkey terminal (basically you want an 'always there' emacs that you can just pop open at the press of a shortcut key) Spend 5 minutes learning the basic commands. +) Move the cursor around. +) Open a file. +) Save a file. +) Switch between buffers/files Now while coding in your existing editor, use the hotkey window with the new editor as your 'scratchpad' or diary. Note down ideas, todo items, thoughts about the code your are writing etc. Google commands as you need them and you'll pick things up bit by bit. You don't see the productivity drop because you're not using the editor for your main task of coding, but you'll be using it 'little and often' which is a great way to pick things up. I made the full switch when after a year or so at work I found myself pseudo-coding and stubbing out methods in my scratch file in emacs and copying them to my IDE. YMMV but hope that helps :) |
I personally found myself using vim a lot as, uh, some sort of poor man's one-shot data analysis/text reformatting tool among other things. What I mean is, quite often I paste in some semi-formatted text like logfile snippet (or open some data that is quite hard to process using shell and extensive piping if turning into csv/tsv and is painful to manipulate via dragging-and-dropping-and-cutting-and-pasting in spreadsheet software afterwards) to do all sorts of manipulations: I can use :s to replace things, or use macros with conventional actions like n3w2de, or bail out to :!awk, :!grep, :!cut, :!paste, :!column -t, :sort (or :!sort -nk123) if I need to format, filter, cut out some columns, sum over columns/rows etc. (I can even do |xargs!), or I can (rarely albeit quite ineffectively) use Ctrl-v to merge lines (if :!paste is not enough), or 'Ctrl-v I' to quickly type in something on multiple lines at the same position before processing any further -- all of that in any combination and with any selection. And I'm pretty sure I forgot something while writing all these things down before sleep.
I doubt if any other text editor or IDE could be as useful as vim in tasks like these, and now I also see this as a great opportunity to learn vim through googling for things one does not do every day (and does not know how to do) in any other editor, as these quite often will turn to be benefitial for everyday vim (or shell, or both) users. (However, it is also quite hard to me to imagine vast amounts of people with similar use cases, let alone people that would even consider vim as a tool that would solve their problems even with some time invested in it.)