For the vim folks

J

John Wells

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
 
L

lasitha

[...]

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.
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 [email protected] -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.
 
J

John Wells

[...]

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.
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 ftplugi= n:
setl tags=3D./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. =A0I keep '.ctags-excludes' files in
the relevant directories and use them with:
ctags [email protected] -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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,767
Messages
2,569,570
Members
45,045
Latest member
DRCM

Latest Threads

Top