Monday, August 2, 2010

Re: need help with tags

Tony,

Thanks for the reply.

Actually, I'm not talking specifically about C tags, since I'm writing in perl.
Years ago I wrote a program called ptags that will create a valid tags file
from a bunch of perl scripts, and I use that to navigate around in my
Perl source.

I actually PREFER running vim in vi compatibility mode, because I really dislike
all the features in vim -- they really make my life difficult, as vim often does
surprising things that I don't expect because of all the "features".
Vi is quite
powerful enough. For example, if I want to edit two files at the same time, I
just open TWO xterms. Novel, eh? Accidentally hitting :N instead of :n in vi
doesn't do anything surprising, but in VIM, I get an annoying split
screen. Ugh.

But I digress. Absent in your email was an answer to my question. WHY won't
vim read the tags file when any other user runs it (and they DON'T HAVE my
EXINIT string). When I do ":set tags" (as either myself of another user), I get
the same answer: "tags=./tags,./TAGS,tags,TAGS". So that isn't the problem.

So I'll ask again.

Is there ANYWAY for me to get vim to TELL ME why it cannot find a tag, that is
plainly there, that tag file is in the cwd, the source is in the cwd,
and there is NO
special .vimrc file or EXINIT string?

Thanks to anybody who can shed some light on this.

Bill Dudley

P.S. At one time, I got so annoyed at vim's incompatibie "compatiblity
mode" that
I compiled the source code to OLD vi and ran that for several years,
until it went
away during a machine upgrade.


On 7/30/10, Tony Mechelynck <antoine.mechelynck@gmail.com> wrote:
> On 30/07/10 22:24, dud wrote:
>> Hi,
>>
>> I'm running version 7.2.245 on an Ubuntu server.
>>
>> I've been a vi user since the 1980's and use the tags feature
>> extensively.
>>
>> My coworker cannot get tags to work in vim. Any tag he tries returns:
>>
>> E426: tag not found:<subroutine name here>
>>
>> I can reproduce this by logging in as a different user than myself.
>> Something
>> is magical about my environment that allows tags to work for me but no
>> one
>> else.
>>
>> The conditions are:
>>
>> I'm "in" the directory where the source is, as well as where the tags
>> file is.
>>
>> The tags file is 644, read by world.
>>
>> The source files are 644, read by world.
>>
>> How can I debug what the problem is?
>>
>> Why can't vim find the tag even though it's right there in the tags
>> file?
>>
>> How can I ask vim what it's "path" is for finding the tags file? I
>> can't find that in the help.
>> :set all doesn't show anything like a list of locations to search for
>> tags.
>> If I set verbose to 99, I see vim trying all kinds of stupid places
>> for the tags file,
>> except the current directory.
>>
>> I do not have a .vimrc or .exrc, just this in my .profile:
>>
>> EXINIT="set ai sm magic ic sw=4 cedit= export EXINIT
>>
>> Thanks,
>> Bill Dudley
>>
>
> I suppose you mean C tags. For them to work, the tags file must have
> been created (preferably by Exuberant ctags) and Vim must be able to
> find it.
>
> By default, Vim looks for the tags file in the current directory (which
> will be shown in answer to the :pwd command) and in the directory of the
> current file. If you want to search other locations (such as the parent
> directories of the current file's directory) you will have to tweak the
> 'tags' option yourself.
>
> Note also that if your coworker has 'autochdir' set (which I don't
> recommend) the current directory will always be changed to the directory
> of the current file, which means that only one of the two "typical"
> locations of the tags file will be searched.
>
> With only an EXINIT environment variable, there are many nice features
> of Vim which you won't see. In particular, it will put you in
> 'compatible' mode, some plugins will simply not work, and with the
> values you have set, you won't even get filetype-specific behaviour. I
> recommend to remove that EXINIT variable and to write the following into
> a file named ~/.vimrc
>
> runtime vimrc_example.vim
> set autoindent
> set ignorecase showmatch
> set magic
> set shiftwidth=4
>
> If later you want more customizations, you will add them to this file,
> usually after the call to vimrc_example.vim (but if you want to change
> the menu and messages language, you must do it before instead). For
> instance, to be able to edit files containing any kind of weird
> characters you might add
>
> if has('multi_byte')
> " if the required capabilities are not available,
> " we cannot use them
> " is the OS locale already Unicode?
> " if not, prepare to change
> if &encoding !~? '^u'
> " but first, avoid jamming keyboard input
> if &termencoding == ""
> let &termencoding = &encoding
> endif
> set encoding=utf-8
> endif
> " set a «reasonable» heuristic to determine
> " the 'fileencoding of existing files
> set fileencodings=ucs-bom,utf-8,default,latin1
> " the following two settings are optional
> " create new files in UTF-8
> setglobal fileencoding=utf-8
> " create new Unicode files with Byte-Order mark
> setglobal bomb
> " Note: certain files, including anything starting #!
> " must have 'nobomb' instead (using :setlocal),
> " or be created in some non-Unicode 'fileencoding'
> " such as e.g. Latin1.
> endif
>
> or to use a font of your choice in gvim (the GUI version of Vim) you
> would add something like what is shown under :help setting-guifont
>
>
> Best regards,
> Tony.
> --
> Proposed Additions to the PDP-11 Instruction Set:
>
> PI Punch Invalid
> POPI Punch Operator Immediately
> PVLC Punch Variable Length Card
> RASC Read And Shred Card
> RPM Read Programmers Mind
> RSSC reduce speed, step carefully (for improved accuracy)
> RTAB Rewind tape and break
> RWDSK rewind disk
> RWOC Read Writing On Card
> SCRBL scribble to disk - faster than a write
> SLC Search for Lost Chord
> SPSW Scramble Program Status Word
> SRSD Seek Record and Scar Disk
> STROM Store in Read Only Memory
> TDB Transfer and Drop Bit
> WBT Water Binary Tree
>

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments:

Post a Comment