如何将cscope与包含空格的路径一起使用

时间:2010-07-07 16:19:29

标签: vim cscope

有些文件夹包含空格,因此无法使用cscope对这些文件夹编制索引。

我可以请你帮忙解决这个问题或任何建议。

感谢 朱利


感谢您的回复。

我使用cscope的步骤如下

  • 找到。 -name'* .scala'> cscope.files
  • cscope -b
    在这一步。我看到消息表明无法找到文件:
    cscope:找不到文件/工作/项目/复制
    cscope:找不到文件 cscope:找不到文件fp / src / main / jav ....
    实际上fp的副本是一个文件夹。所以我认为cscope无法识别该文件夹包含空格。

当我尝试将vim与cscope一起使用时,我遇到了这个问题。我需要将此问题移到其他标签上。

4 个答案:

答案 0 :(得分:7)

你可以至少使用GNU find来做,你可以使用-printf-fprintf选项:

find . -type f -fprintf cscope.files '"%p"\n'

答案 1 :(得分:4)

pydave的回答很慢。这种方式耗时0.10秒,其中pydave的回答为14秒:

find . -name "*.scala" | awk '{print "\""$0"\""}' > cscope.files

答案 2 :(得分:2)

您可以使用find的-exec强制输出的引号:

find . -name "*.scala" -exec echo \"{}\" \; > cscope.files

如果您是从脚本执行此操作,则可能需要使用引用/转义。

答案 3 :(得分:0)

双引号文件名在cygwin中有效,而反斜杠则没有。

$ find $PWD -name "*.scala" | sed -e 's/^/"/g' -e 's/$/"/g' > cscope.files