Some developers cling to their bloated IDE’s because they erroneously believe thats the only way to get extended code navigation. Wrong. It’s easy to do the same thing in Emacs. All you need is ctags. Here’s how to set it up for a Ruby project on a Mac. This example will run ctags automatically when you navigate to your project if you are using RVM. First install exuberant ctags
brew install ctags-exuberant
Then add the following to your project .rvmrc
ctags -e -a -R --languages=Ruby .
Now, M-. will jump to definitions of symbols in your code.