我的 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 许可协议
我的 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 许可协议
到目前为止的答案是正确的,您可以使用扩展名(如 .sh
)或 shebang 行(如 #!/bin/bash
)来识别文件类型。如果您没有其中之一,您仍然可以使用文件顶部或底部的模式行注释手动指定文件类型。
例如,如果您想将没有扩展名的脚本识别为 shell 脚本,您可以将此注释添加到文件顶部:
# vim: set filetype=sh :
或者
# vim: filetype=sh
这将告诉 vim 将该文件视为 shell 脚本。 (您也可以在模式行中设置其他内容。在 vim 中键入 :help modeline
以获取更多信息。)
原文由 bryant 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答788 阅读✓ 已解决
2 回答3.2k 阅读
您是否正确地为 shell 脚本提供了
.sh
扩展名? Vim 的自动语法选择几乎完全基于文件名(扩展名)检测。如果一个文件没有设置语法(或者是错误的语法),Vim 不会因为你开始用给定的语言输入脚本而自动更改为正确的语法。作为临时解决方法,命令
:set syn=sh
将打开 shell 脚本语法突出显示。