我可以手动重新运行vim的文件类型检测吗?

Ste*_*sky 12 vim

Kate编辑器有一个很好的功能:当你保存文件时,它将重新运行其文件类型检测.假设你想在〜/ bin中创建一个新脚本,所以你说

kate ~/bin/myscript
Run Code Online (Sandbox Code Playgroud)

然后输入eg #!/usr/bin/env perl并保存.在这一刻,凯特将认识到我们正在谈论Perl,并加载语法高亮.

在Vim中,我以为我可以通过自动命令构建类似的东西,但是我坚持使用正在执行的命令.我没有看到重新运行文件类型检测的明确命令.:edit我可以说它是由它运行的

autocmd BufWritePost * :edit#
Run Code Online (Sandbox Code Playgroud)

但这很粗鲁:特别是.丢失撤消历史记录,光标位置等.是否有更好的解决方案?

Zso*_*kai 12

那么有一个命令:

:filetype detect
Run Code Online (Sandbox Code Playgroud)