我该如何设置带有#!/usr/bin/env node
文件类型的文件为JavaScript?
:e $VIMRUNTIME/scripts.vim
。这个文件用于在没有文件名中指定类型(例如扩展名)时检测“scripts”的文件类型。如果在文件中搜索“#!”,您将看到执行此操作的逻辑。问题是,这是一堆特殊情况,并且没有细粒度的钩子可以满足您的要求。一个可能的解决方案是修改这个scripts.vim文件,并将您的修改提交以包含在Vim中。scripts.vim
(使用:set rtp?
查看系统设置)。这将在$VIMRUNTIME中的文件之后运行。您可以包含用于查看第一行和检测“node”的逻辑。您可能需要模仿$VIMRUNTIME/scripts.vim
中的逻辑编写代码。~/.vim/scripts.vim
中完成这个任务。可以参考 :h new-filetype-scripts
的示例。 - Peter Rincker~/.vim
在您的 runtimepath 中(在 Unix 上默认情况下),因此您可以编写一个像 Peter Rincker 提到的 ~/.vim/scripts.vim
。 - Laurence Gonsalves自动命令
可以用于检查文件类型(这就是如何加载 $VIMRUNTIME/scripts.vim
的方法)。
您可以指定在读取或写入文件、进入或离开缓冲区或窗口以及退出 Vim 时自动执行的命令。
...
警告:使用自动命令非常强大,可能会导致意外的副作用。请小心,不要破坏您的文本。
将以下内容添加到您的 .vimrc
文件中 - 它将在打开新文件时被调用:
autocmd BufNewFile,BufRead * if match(getline(1),"node") >= 0 | set filetype=javascript | endif
set modeline
- Drake Guan// vim: set ft=sql:
。请注意末尾的**:
**。 - Greg