[英]Set a Pathvariable in vimrc with whitespace
我尝试将Vim设置为使用omnicppcomplete。
我按照结构c ++代码完成的步骤逐步安装它。 首先,我总是收到错误“找不到全完成(^ 0 ^ N ^ P)模式”。 很难弄清楚,但现在我知道为什么它不起作用了。 这是因为我的vimrc中的以下行
“设置标签+ = C:\\ Program \\ Files \\(x86)\\ Vim \\ vim74 \\ tags \\ cpp”
Vim不能处理路径中的空格,但是我不知道如何使它工作,除非将标记文件复制到另一个目录(我尝试并成功了)。 我尝试了这些选项,但没有任何效果:
我该如何写路径,以便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.