Linux 为什么vi不';创建脚本时不显示语法突出显示

Linux 为什么vi不';创建脚本时不显示语法突出显示,linux,vi,Linux,Vi,当我使用vi创建脚本时,它不会显示任何语法高亮显示。但一旦退出vi并使用vi再次打开脚本,它将突出显示语法。 我想要的是在创建文件时第一次突出显示语法。那么,我的配置有什么问题吗?或者这是常见的情况吗?vi通常从文件扩展名猜测要使用的语法突出显示类型。如果您正在编辑一个尚未命名的文件,则需要告诉它如何突出显示: :设置filetype=html当vim打开文件时,它会尝试猜测文件类型以启用语法高亮显示。当您打开一个名为“myscript”的新文件时,vim没有任何东西可以用来猜测类型 编写文件时

当我使用vi创建脚本时,它不会显示任何语法高亮显示。但一旦退出vi并使用vi再次打开脚本,它将突出显示语法。
我想要的是在创建文件时第一次突出显示语法。那么,我的配置有什么问题吗?或者这是常见的情况吗?

vi通常从文件扩展名猜测要使用的语法突出显示类型。如果您正在编辑一个尚未命名的文件,则需要告诉它如何突出显示:


:设置filetype=html

当vim打开文件时,它会尝试猜测文件类型以启用语法高亮显示。当您打开一个名为“myscript”的新文件时,vim没有任何东西可以用来猜测类型

编写文件时,您编写的第一个文件是
#/bin/sh
(或类似),后跟脚本的其余部分。至此,vim已经确定这是一个纯文本文件,并且没有语法高亮显示

当您重新打开文件时,vim会看到文件的第一行,并理解这是一个shell脚本。它适当地设置了类型,并实现了语法魔术

要解决此问题,请使用表示其类型的扩展名命名文件(名为“myscript.sh”的空文件很可能是一个shell脚本),或者使用
:set filetype=sh
手动设置类型


就我个人而言,我觉得第一个表单很难看(为什么在文件名中包含文件类型?),而第二个表单很难记住。我刚刚关闭并重新打开文件:-)

请发布“vi--version”命令输出。您使用的是
vi
还是
vim
以及您的配置是什么?确保设置了
filetype
。在我添加.sh作为扩展名之后。它现在突出显示语法。谢谢