Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于输入的Vim-guess编程语言?_Vim_Input_Syntax Highlighting - Fatal编程技术网

基于输入的Vim-guess编程语言?

基于输入的Vim-guess编程语言?,vim,input,syntax-highlighting,Vim,Input,Syntax Highlighting,有人知道如何让vim根据您的输入猜测新文件的编程语言并使用适当的语法突出显示吗?到目前为止,语法高亮显示只在它知道文件扩展名(在我保存它之后)时起作用,这很好,但有时我很懒,想创建一个新文件而不保存到以后 e、 g.如果要启动新文件并键入: #include <stdlib.h> #包括 我希望它能自动开始使用C语法高亮显示,比如在我按下enter键之后,其他语言(如Python)也是如此 我对vim有点在行,不知道vimscript,所以请不要把它弄得太复杂。感谢您的帮助 谢谢

有人知道如何让vim根据您的输入猜测新文件的编程语言并使用适当的语法突出显示吗?到目前为止,语法高亮显示只在它知道文件扩展名(在我保存它之后)时起作用,这很好,但有时我很懒,想创建一个新文件而不保存到以后

e、 g.如果要启动新文件并键入:

#include <stdlib.h>
#包括
我希望它能自动开始使用C语法高亮显示,比如在我按下enter键之后,其他语言(如Python)也是如此

我对vim有点在行,不知道vimscript,所以请不要把它弄得太复杂。感谢您的帮助


谢谢,Simon,这是可以安排的,但性能可能是个小问题(取决于您的聪明程度),手动设置语法要容易得多:

:setf c
您还可以设置缓冲区文件名;这将相应地设置语法,通常:

:file x.c
(这不会保存文件。)


如果您确实想要自动猜测,您可以使用autocmd来触发它,然后如果
&ft
为空(即,如果它还没有这样做),您可以猜测文件类型。

Vim使用文件路径/名称/扩展名和某些特征文件内容来检测文件类型;使用什么取决于特定类型

您可以通过以下方式重新触发检测:

:filetype detect

对于C/C++,检测是基于文件扩展的。要添加基于内容的检测,您必须自己编写;有关详细信息,请参见
:帮助新建文件类型脚本。在实践中,我建议在需要时手动使用
:setf c

谢谢,我可能最终会使用
:setf c
,但我会看看是否能找到为它制作脚本的方法。