所以我一直在安装句法和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 身份工作。