有没有人知道如何让vim根据您的输入猜测新文件的编程语言并使用适当的语法突出显示?到目前为止,语法高亮只有在知道文件扩展名(保存之后)才有效,这很好,但有时我很懒,想要创建一个新文件而不保存到以后。
e.g。如果我要开始一个新文件并输入:
#include <stdlib.h>
我希望它能自动开始使用C语法高亮显示,比如输入后输入,对于像Python这样的其他语言也是如此。
我有点像vim的菜鸟,不知道vimscript,所以请不要太复杂了。任何帮助表示赞赏。
谢谢,西蒙
答案 0 :(得分:4)
Vim使用文件路径/名称/扩展名和某些特征文件内容来检测文件类型;使用的内容取决于具体的类型。
您可以通过
重新触发检测:filetype detect
对于C / C ++,检测基于文件扩展名。要添加基于内容的检测,您必须自己编写;有关详细信息,请参阅:help new-filetype-scripts
。在实践中,我建议在需要时手动:setf c
。
答案 1 :(得分:1)
这可以安排,但性能可能是一个小问题(取决于你想要多聪明),并且手动设置语法要容易得多:
:setf c
您还可以设置缓冲区文件名;这将相应地设置语法,通常:
:file x.c
(这不保存文件。)
如果你真的想要自动猜测,那么你将使用autocmd来触发它,然后如果&ft
为空则可以猜测文件类型(即如果它还没有这样做)。