【问题标题】:How is a shellscript syntax checker invoked (by/with syntastic and pathogen)?如何调用 shellscript 语法检查器(由/使用 syntastic 和病原)?
【发布时间】:2015-11-09 05:16:53
【问题描述】:

当我处理 bash/sh 脚本时,病原体会启动并正确加载 ~/.vim/bundle/syntastic/syntax_checkers/sh/ 中的所有内容。我在命令行模式下检查了:scriptnames。包括shellcheck.vimcheckbashism.vimbashate.vim 等。

正确检测到启动 vim 会话 filetype 并加载相应的捆绑语法检查脚本。

但是语法如何调用/usr/bin/shellcheckbashatecheckbashism?在~/.vimrc 中没有任何明显的地方。

可以同时调用多个语法检查器吗?例如。 shellcheckbashate 可以一起工作吗?谢谢。

【问题讨论】:

  • 感谢您解释否决票!如果我写的东西非常错误或以错误的方式,我想知道。如果在此基础上我的问题需要编辑,它可以完成。但是,在没有给出最微弱理由的情况下投票是毫无用处的。它没有帮助。

标签: bash vim static-analysis shellcheck bashate


【解决方案1】:

pathogen 在你的设置中的唯一作用是在 Vim 启动时将每个插件的路径和子路径附加到 'runtimepath' 选项。不多也不少。

对于 Syntastic,shell 脚本的 the default checkersshshellcheck。阅读:help syntastic-checker-options,了解如何定义自己的检查器列表。

【讨论】:

  • +1 我知道pathogen 在其主页上明确说明的角色。 :scriptnames 的结果很明显。我还从其 wiki 和 $ tree -L 4 ~/.vim 中看到了 Syntastic 涵盖的大量语法检查器列表。我没有看到的是您包含的代码。这就是我的回答。谢谢。
  • @Cbhihe 你永远不应该依赖默认的检查器列表。这些默认列表比它们的价值更麻烦,并且很可能在未来的版本中完全消失。您应该始终定义 g:syntastic_*_checkers 以满足您的需求。您无需查看代码。
【解决方案2】:

来自 romainl 仅链接到的内容 (the relevant parts of links should be quoted when answering):

您可以通过将变量“g:syntastic__checkers”设置为检查器列表来告诉 syntastic 为给定文件类型运行哪些检查器,例如

let g:syntastic_php_checkers = ["php", "phpcs", "phpmd"]

关于调用的问题:根据the FAQ,“命令行是使用名为makeprgBuild() 的内部函数构造的,它提供了许多选项,允许您自定义运行的命令的每个部分.您可以使用全局变量设置这些选项”。 (See this answer.)

【讨论】:

    猜你喜欢
    • 2013-11-30
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多