Forum: Ruby For the vim folks

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F8fd54072606eaf5603484e756672034?d=identicon&s=25 John Wells (Guest)
on 2009-03-25 01:58
(Received via mailing list)
I've been using vi/vim since '97 for various quick edits and
administration tasks, but have only recently considered using it to
replace Netbeans as my ruby editor of choice. One thing I find
extremely useful in both Netbeans and Eclipse is the Ctrl+Click "Go to
definition" feature, where you can ctrl+click on a class or method and
it will take you to the definition.

Now, I've played with exuberant ctags and rails.vim, and it's close,
but no cigar. Here's what I want: by default in Netbeans and Eclipse,
you can ctrl+click a local method or class in your local rails
project, but you can also ctrl+click on things defined in gems or in
the system libraries that are coded in Ruby. Netbeans for example
parses all ruby files in the default system paths and makes them
navigable for you. If there are multiple files that define a method,
it will present you with a list and allow you to choose between them.

How can one accomplish this within vim? If it can be done, I may be
able to make the jump full time.

Thanks,
John
E16e84e861c1815ce11ba7bd851c857d?d=identicon&s=25 lasitha (Guest)
on 2009-03-25 09:43
(Received via mailing list)
On Wed, Mar 25, 2009 at 6:24 AM, John Wells
<lists@sourceillustrated.com> wrote:
>
> How can one accomplish this within vim? If it can be done, I may be
> able to make the jump full time.
>
Hello John,

Take a look at the 'tags' option in vim:
:h tags-option

It lets you define a set of tag files vim will use for tag lookups
(Ctrl-]).
So you could define something similiar to the following in a ruby
ftplugin:
setl tags=./tags;/Users/lasitha,/usr/local/ruby1.9/lib/tags

The semicolons define un upward search. ':h path' for more on the
syntax.

The key to solving your problem though is to add some absolute paths
to global tag files for the ruby source (not shown above) and gems.

When generating these tag files, it helps to use an excludes file to
weed out things like rdoc files.  I keep '.ctags-excludes' files in
the relevant directories and use them with:
ctags --exclude=@.ctags-excludes -R .

And lastly i use some bash aliases for gem install and update to make
sure the tag files are immediately regenerated.

Hope that helps you get converted (it's worth it :).

Oh, btw - a vim-on-rails ML was created recently:
http://groups.google.com/group/vim-on-rails

solidarity,
lasitha.
F8fd54072606eaf5603484e756672034?d=identicon&s=25 John Wells (Guest)
on 2009-03-25 16:57
(Received via mailing list)
On Wed, Mar 25, 2009 at 4:39 AM, lasitha <lasitha.ranatunga@gmail.com>
wrote:
>> it will present you with a list and allow you to choose between them.
> So you could define something similiar to the following in a ruby ftplugin:
> ctags --exclude=@.ctags-excludes -R .
>
> And lastly i use some bash aliases for gem install and update to make
> sure the tag files are immediately regenerated.
>
> Hope that helps you get converted (it's worth it :).
>
> Oh, btw - a vim-on-rails ML was created recently:
> http://groups.google.com/group/vim-on-rails

Thanks very much...this should get me going in the right direction. I
appreciate the help!

John
This topic is locked and can not be replied to.