我正在尝试将以下vim 模式行添加到我的全局.tern-config文件中:
// vim: set ft=json:
{
plugins: {
...
Run Code Online (Sandbox Code Playgroud)
但是,Tern 服务器无法启动,出现以下错误:
Failed to start server:
Bad JSON in /Users/XXXXX/.tern-config: Unexpected token / in JSON at position 0
Run Code Online (Sandbox Code Playgroud)
我怀疑这个错误的原因是JSON 缺乏对注释的支持。我应该注意到我的.eslintrc文件中的相同模式行有效。
如何在我的.tern-config文件中包含 vim 模式行?
如果一个人像这样放置一个物体
"_vim_": { "modeline": "/* vim: set ft=json noet ts=4 sw=4: */" }
Run Code Online (Sandbox Code Playgroud)
作为 json 文件的顶级对象列表中的第一个或最后一个条目,它将被 vim 用作模式行(只要该行在文件的开头或结尾出现得足够近,其中“足够近”的意思是:在vim 根据其默认为 5 的 'modelines' 选项扫描模式行的行数。
此外,应该仔细选择对象的名称(“_vim_”),以便 - 充其量 - 它被使用该文件作为输入的软件忽略,或者 - 至少 - 可以被软件用户忽略(即,它不会引起任何被视为不需要的行为的副作用)。
您无法在文件本身中执行此操作。JSON 不支持注释,而且它是一种非常无情的语法。
这可能在某些 JSON 文件中有效,例如.eslintrc,但在其他文件中,您会不走运。更严格的 JSON 解析器不允许这样做,因此这取决于您当前使用的工具是基于哪个解析器构建的。
您最好告诉 Vim 如何使用autocmd.
autocmd BufNewFile,BufRead *.tern-config set filetype=json
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1050 次 |
| 最近记录: |