作者freakguy (:))
看板Linux
标题[问题] 请问vim与cscope.out位置的问题
时间Wed Dec 16 20:56:00 2009
请教大家
我在 linux/ 目录下建立cscope.out
但我不一定每次编辑档案都从 linux 目录下开始
例如 我有可能位於 linux/drivers/mmc/card 下 vim block.c
此时 vim 并不会找到位於 linux 目录下的cscope.out
於是 我必须手动下:cs add ../../../cscope.out ../../../
cscope资料库才建立起来
为了解决这个问题,
我在 cscope_maps.vim 修改了
让一开始会一直往上一层目录找 cscope.out 档案
摘录如下
if has("cscope")
略
let PATH_DB_CSCOPE = findfile("cscope.out", ".;")
let DIR_DB_CSCOPE = finddir("linux", ".;")
" add any cscope database in current directory
if filereadable("cscope.out")
cs add cscope.out
" Searches from the directory of the current file upwards
elseif !(empty(PATH_DB_CSCOPE))
execute "cs add " . PATH_DB_CSCOPE . " " . DIR_DB_CSCOPE
" else add the database pointed to by environment variable
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
请问 我有办法把 PATH_DB_CSCOPE 变数 滤掉档案名cscope.out
存入 DIR_DB_CSCOPE 吗? 查了一下 vim 好像没有这样功能的function
如果用shell 下的 dirname,又不知如何在vim script下呼叫
请问有什麽比较好的解法呢?
感谢看完这篇冗长文章的人
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.66.17.92
1F:推 powentan:可以试试看fnamemodify(PATH_DB_CSCOPE, ":h") 12/16 22:27
2F:→ freakguy:谢谢p大的提示,问题已解决。 12/16 23:12