如何在 Vim 中突出显示 Bash 脚本?

新手上路,请多包涵

我的 Vim 编辑器自动突出显示 PHP 文件 ( vim file.php )、HTML 文件 ( vim file.html ) 等等。

但是当我输入: vim file 并在其中编写一个 Bash 脚本时,它不会突出显示它。

我如何告诉 Vim 将其突出显示为 Bash 脚本?

我开始在文件顶部输入 #!/bin/bash ,但它不起作用。

原文由 never_had_a_name 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 956
2 个回答

您是否正确地为 shell 脚本提供了 .sh 扩展名? Vim 的自动语法选择几乎完全基于文件名(扩展名)检测。如果一个文件没有设置语法(或者是错误的语法),Vim 不会因为你开始用给定的语言输入脚本而自动更改为正确的语法。

作为临时解决方法,命令 :set syn=sh 将打开 shell 脚本语法突出显示。

原文由 Mark Rushakoff 发布,翻译遵循 CC BY-SA 2.5 许可协议

到目前为止的答案是正确的,您可以使用扩展名(如 .sh )或 shebang 行(如 #!/bin/bash )来识别文件类型。如果您没有其中之一,您仍然可以使用文件顶部或底部的模式行注释手动指定文件类型。

例如,如果您想将没有扩展名的脚本识别为 shell 脚本,您可以将此注释添加到文件顶部:

 # vim: set filetype=sh :

或者

# vim: filetype=sh

这将告诉 vim 将该文件视为 shell 脚本。 (您也可以在模式行中设置其他内容。在 vim 中键入 :help modeline 以获取更多信息。)

原文由 bryant 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题