I’ve been using Vim for some time and I feel that I’m finally becoming somehow ‘fluent’ with it, but some of the feature listings, videos and other stuff I’ve seen (particularly Tim Visher’s Vimgolf in Emacs series) really convinced me to give Emacs a try.
So for the past week, I’ve been using Emacs almost exclusively. I really miss some concepts I’m familiar with from Vim (mostly the action-movement style, things like ci" etc.), but one thing I really learned to love in Emacs is the way to move around a file with Isearch.
For example, if I wanted to move to a line where a function fn is called, and there were 2 other instances of ‘fn’ between the point and the position I want to move to, I’d do C-s fn C-s C-s. If I wanted to do the same in Vim, I’d have to do something like /fn <CR> n n :noh <CR>, which is nowhere as nice, so I’d probably just check the line number and do #G wwwww....
So my question is: is there a way to emulate the efficiency of Emacs’ movement with search in Vim? It doesn’t have to use search, I’m just looking for something other than the cumbersome go-to-line and forward several words I described above.
Edit: Item 4 in Effective Emacs describes nicely what I’m trying to accomplish.
You can emulate Emacs with this keymap:
cnoremap <C-s> <Cr>/<C-p>.Though Vim has better ways for moving around than searching. Have you tried ctags?
I also recommend the EasyMotion plugin for quickly moving around in the visible area of the text.