如何从 shell 命令结果中设置 vim 的路径
How can I set path of vim from the shell command result
我想从 .vimrc 自动设置 C++ 头文件路径。
所以我尝试编写 .vimrc 文件,如下所示:
let g:gcpp_headers_path=system("g++ --version | grep g++ | awk '{print \"/usr/include/c++/\"$NF}'")
"if isdirectory(gcpp_headers_path)
set path+=g:gcpp_headers_path
"endif
从上面的 vimrc 我发现 vim 变量路径设置如下所示:
:set path?
path=.,/usr/include,,,g:gcpp_headers_path
想要的输出如下图:
:set path?
path=.,/usr/include,/usr/include/c++/7.5.0
我希望对此进行审核。有人可以给我建议吗?
F.Y.I。 system()中的命令如下所示:
~$ g++ --version | grep g++ | awk '{print "/usr/include/c++/"$NF}'
/usr/include/c++/7.5.0
对于文档,我正在写我在这里找到的答案:
let g:gcpp_headers_path = system("g++ --version | grep g++ | awk '{print \"/usr/include/c++/\"$NF}'")
execute 'set path+=' . g:gcpp_headers_path
我的 vim 版本是 Vi IMproved 8.0(2016 年 9 月 12 日,2022 年 1 月 20 日编译 02:47:53)
I raised new post for Windows
:set
不计算表达式,因此您不能直接使用变量。你有两个解决方案。
改用:help :let
,它可以计算表达式:
:let &path .= ',' . g:gcpp_headers_path
备注:
- 选项名称前的
&
,
- 不同的运算符,因为我们将原始值(一个字符串)与另一个字符串连接起来,
,
,需要将您的自定义路径与已有路径分开,
.
连接运算符。
在执行之前使用 :help :execute
构建正确的 :set
命令:
:execute 'set path+=' . g:gcpp_headers_path
我想从 .vimrc 自动设置 C++ 头文件路径。 所以我尝试编写 .vimrc 文件,如下所示:
let g:gcpp_headers_path=system("g++ --version | grep g++ | awk '{print \"/usr/include/c++/\"$NF}'")
"if isdirectory(gcpp_headers_path)
set path+=g:gcpp_headers_path
"endif
从上面的 vimrc 我发现 vim 变量路径设置如下所示:
:set path?
path=.,/usr/include,,,g:gcpp_headers_path
想要的输出如下图:
:set path?
path=.,/usr/include,/usr/include/c++/7.5.0
我希望对此进行审核。有人可以给我建议吗?
F.Y.I。 system()中的命令如下所示:
~$ g++ --version | grep g++ | awk '{print "/usr/include/c++/"$NF}'
/usr/include/c++/7.5.0
对于文档,我正在写我在这里找到的答案:
let g:gcpp_headers_path = system("g++ --version | grep g++ | awk '{print \"/usr/include/c++/\"$NF}'")
execute 'set path+=' . g:gcpp_headers_path
我的 vim 版本是 Vi IMproved 8.0(2016 年 9 月 12 日,2022 年 1 月 20 日编译 02:47:53)
I raised new post for Windows
:set
不计算表达式,因此您不能直接使用变量。你有两个解决方案。
改用
:help :let
,它可以计算表达式::let &path .= ',' . g:gcpp_headers_path
备注:
- 选项名称前的
&
, - 不同的运算符,因为我们将原始值(一个字符串)与另一个字符串连接起来,
,
,需要将您的自定义路径与已有路径分开,.
连接运算符。
- 选项名称前的
在执行之前使用
:help :execute
构建正确的:set
命令::execute 'set path+=' . g:gcpp_headers_path