Ad blocker interference detected!
Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers
Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.
created 2007 · complexity basic · author Shotaro Aoyama · version n/a
When you want to jump to a definition of a variable, what do you do? Use
C-] finds only global variables (and functions; ctags extracts only global objects).
On the other hand,
gd detects only local variables.
I think it's a bit complicated to choose between them. So I wrote this function:
function! GoDefinition() let l:pos = getpos('.') normal! gd if getpos('.') == l:pos execute 'tag' expand('<cword>') endif endfunction nnoremap <C-]> :<C-U>call GoDefinition()<CR>
This function first does
gd to try to find a local definition of a variable under the cursor, and if it failed then probably the variable is a global variable, so it tries
This way, you can jump to the definition of both local and global variables with the same key.