繁体   English   中英

在Vimrc中使用空格设置Pathvariable

[英]Set a Pathvariable in vimrc with whitespace

我尝试将Vim设置为使用omnicppcomplete。

我按照结构c ++代码完成的步骤逐步安装它。 首先,我总是收到错误“找不到全完成(^ 0 ^ N ^ P)模式”。 很难弄清楚,但现在我知道为什么它不起作用了。 这是因为我的vimrc中的以下行

“设置标签+ = C:\\ Program \\ Files \\(x86)\\ Vim \\ vim74 \\ tags \\ cpp”

Vim不能处理路径中的空格,但是我不知道如何使它工作,除非将标记文件复制到另一个目录(我尝试并成功了)。 我尝试了这些选项,但没有任何效果:

  • C:\\ Program \\\\ Files \\\\(x86)\\ Vim \\ vim74 \\ tags \\ cpp
  • C:/程序\\文件\\(x86)/ Vim / vim74 /标签/ cpp
  • C:\\ Program \\ <空间>文件<空间>(x86)\\ Vim \\ vim74 \\ tags \\ cpp
  • C:\\ Program \\ sFiles \\ s(x86)\\ Vim \\ vim74 \\ tags \\ cpp
  • C:\\ Program \\\\ sFiles \\\\ s(x86)\\ Vim \\ vim74 \\ tags \\ cpp
  • C:\\ Program / \\ sFiles / \\ s(x86)\\ Vim \\ vim74 \\ tags \\ cpp

我该如何写路径,以便omnicppcomplete可以使用标签?

参见:help option-backslash 使用:set命令时,需要转义每个反斜杠每个空格字符,因此需要三个反斜杠来设置带空格的路径! set tags+=C:\\\\Program\\\\\\ Files\\\\\\ (x86)\\\\Vim\\\\vim74\\\\tags\\\\cpp

有时,更好的方法是使用:let命令,以便可以使用单引号引起来的字符串,而不必进行太多转义。 例如:let &tags.=',C:\\Program\\ Files\\ (x86)\\Vim\\vim74\\tags\\cpp'

尝试这个:

let &tags .= ',C:\Program\ Files\ (x86)\Vim\vim74\tags\cpp'

选项opt也可以作为变量&opt进行访问,该变量可以使用let进行操作,可以在表达式中使用,等等。 set不同, let具有几乎合理的语法。

另外, tags路径必须用逗号分隔。

我有同样的问题。 尝试仅在路径中使用/ ,并使用“ \\”这样的空格进行转义。 例如,我在vimrc中添加以下行:

set rtp=C:/Program\ Files\ (x86)/Vim/vim74/vim.exe

比起执行:echo &rtp命令:echo &rtp您可以看到:

C:/Program Files (x86)/Vim/vim74/vim.exe

请注意,在空格前没有\\

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM