终端中的 Vim 可以定位包,但 GVim 不能

终端中的 Vim 可以定位包,但 GVim 不能

所以我一直在安装句法JSHint用于一些 Vim JavaScript 语法检查。

which jshint返回/home/myUser/local/bin/jshint

which vim并分别which gvim返回/usr/bin/vim和 /usr/bin/gvim`。

如果我从myUser终端打开一个 JS 文件,Syntastic 可以正常工作 - :SyntasticInfo 返回

Syntastic version: 3.5.0-72
Info for filetype: javascript
Mode: active
Filetype javascript is active
Available checker: jshint
Currently enabled checker: jshint

但是,如果我使用 GVim 打开同一个文件,JSHint 就不会加载。

Syntastic version: 3.5.0-72
Info for filetype: javascript
Mode: active
Filetype javascript is active
Available checker: -
Currently enabled checker: -

这是有道理的,因为如果我:!which jshint从终端中的 vim 运行它,我会得到一个路径,而如果我从 GVim 运行它,我会得到shell returned 1

sudo su root我四处寻找,发现如果我运行,JsHint 不会在命令行 Vim 中加载vim。相反,JSHint如果我以当前用户身份打开 GVim,则加载gksudo -u uname -l "gvim"

我认为这意味着我需要以某种方式获得/home/myUser/local/bin/jshint我的根$PATH,但我不知道这是否可行或推荐。

答案1

PATH不是全局 shell 变量,您不应期望它对所有用户都相同。您可以这样做,但这样做毫无意义:如果您希望某个程序可供每个用户使用,请以 root 身份安装它。

而且…root用于执行管理任务,不是实际工作(除非你是系统管理员,但你不是),所以不能以 root 身份工作。

相关内容