Re: vim scripting - using variables
- On 03/04/10 19:31, dave73 wrote:
>If you know from which directory the cscope database was built, you
> I'm trying to integrate cscope with vim. The standard method to load the
> cscope.out file is simply:
> if filereadable("cscope.out")
> cs add cscope.out
> But this requires always starting vim from the directory with the cscope.out
> file. Yuk.
> So, I've written a function that scans upward until if find the cscope.out
> file, and stores that in a variable. For example s:csfile might end up
> cs add s:csfile
> doesn't work! It is trying to actually open a file called "s:csfile". How
> do I make vim translate this variable into a literal so that "cs add" will
should add that as a second parameter in the "cscope add" command (or
else you _have_ to run all cscope commands in that directory: Yuk). For
example, I have this in my vimrc
let $VIMSRC = '/root/.build/vim/vim' . (version / 100) . (version %
command Cscope -nargs=0 cs add $VIMSRC/src/cscope.out $VIMSRC/src
Then typing :Cscope at the command-line loads my cscope database for the
current Vim source.
See also http://vim.wikia.com/wiki/Cscope
telling how I build my cscope database, and the options and
abbreviations I use to smooth my cscope use.
Now back to your question: To include the _value_ of a Vim variable
(rather than its _name_) in an ex-command, see :help :execute. The
cscope example above bypasses the problem by means of an _environment_
variable (which, however, unlike your s: variable, is not script-local
but common to all of Vim and all its child processes).
"Never be afraid to tell the world who you are."
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
To unsubscribe, reply using "remove me" as the subject.