ctags taglist prompt for multiple matches not appearing by default in vi

1,430 views
Skip to first unread message

ashjas

unread,
Feb 4, 2009, 2:09:08 AM2/4/09
to vim_use
Hi,

I am using ctags for my programming needs.

when i search for a keyword which results in multiple matches,the vi
doesnot shows me the taglists for me to select which tag to go to...
it simply says like "tag 1 of 6 or more" .

i have seen this working correctly on 64bit systems and not on 32 bit
systems...though i know difference in architecture has got nothing to
do with this...

both 32bit n 64 bit use same vimrc file... im using vim version
7.0.237

any idea how to get the taglist prompt by default upon multiple keward
matches???

if this has something to do with vimrc file,then my vimrc file is
like::

###################
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set fileencodings=utf-8,latin1
endif

set nocompatible " Use Vim defaults (much better!)
set bs=indent,eol,start " allow backspacing over everything in insert
mode
"set ai " always set autoindenting on
"set backup " keep a backup file
set viminfo='20,\"50 " read/write a .viminfo file, don't store more
" than 50 lines of registers
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time

" Only do this part when compiled with support for autocommands
if has("autocmd")
" In text files, always limit the width of text to 78 characters
autocmd BufRead *.txt set tw=78
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal! g'\"" |
\ endif
endif

if has("cscope") && filereadable("/usr/bin/cscope")
set csprg=/usr/bin/cscope
set csto=0
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
endif

" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif

if &term=="xterm"
set t_Co=8
set t_Sb= [4%dm
set t_Sf= [3%dm
endif
filetype indent on
set autoindent
syntax on
set tabstop=8
set expandtab
set shiftwidth=4 " or whatever
set smarttab autoindent
nnoremap <F2> :set invpaste paste?<CR>
imap <F2> <C-O><F2>
set pastetoggle=<F2>
map <A-right> <ESC>:bn<CR>
map <A-left> <ESC>:bp<CR>

###################



Thanks n Regards.

pansz

unread,
Feb 4, 2009, 3:53:53 AM2/4/09
to vim...@googlegroups.com
ashjas 写道:

> Hi,
> I am using ctags for my programming needs.
> any idea how to get the taglist prompt by default upon multiple keward
> matches???

It depends on how you search:

for ctags:

<C-]>, :tag will not prompt for multiple matches.
g<C-]>, :tjump, will prompt for selection when there's multiple matches.
:tselect will always prompt for selection

If you're using cscope, set :cstag will automatically does :tjump for
<c-]> so it will prompt for multiple matches.

ashjas

unread,
Feb 4, 2009, 5:02:12 AM2/4/09
to vim_use
Thanks very much pansz... g<C-]> key strokes did the trick...

but is there any way of making this behaviour the default for vim???
i.e at pressing <c-]> only...

Thanks for the help...

Best Regards.

Tony Mechelynck

unread,
Feb 4, 2009, 5:52:15 AM2/4/09
to vim...@googlegroups.com
On 04/02/09 11:02, ashjas wrote:
> Thanks very much pansz... g<C-]> key strokes did the trick...
>
> but is there any way of making this behaviour the default for vim???
> i.e at pressing<c-]> only...
>
> Thanks for the help...
>
> Best Regards.

Sure:

:noremap <C-]> g<C-]>

See ":help map.txt".


Best regards,
Tony.
--
Bizarreness is the essence of the exotic

Ben Fritz

unread,
Feb 4, 2009, 8:54:21 AM2/4/09
to vim_use


On Feb 4, 4:02 am, ashjas <ash...@gmail.com> wrote:
> Thanks very much pansz... g<C-]> key strokes did the trick...
>
> but is there any way of making this behaviour the default for vim???
> i.e at pressing <c-]>  only...
>
> Thanks for the help...
>

First, please bottom post, as everyone responding to your post has
done.

Secondly, to solve your problem, see :help 'cscopetagorder' and :help
cscopetag

Specifically, I have the following to always use :cstag (i.e. prompt
if multiple matches) and search the ctags file first (because I don't
actually use cscope):

" prompt for which tag if multiple tags found (search tags first since
I don't
" even have Cscope)
set cscopetag
set cscopetagorder=1
Reply all
Reply to author
Forward
0 new messages