我尝试将以下vim modeline添加到我的全局.tern-config
文件中:
// vim: set ft=json:
{
plugins: {
...
但是,Tern服务器无法启动,出现以下错误:
Failed to start server:
Bad JSON in /Users/XXXXX/.tern-config: Unexpected token / in JSON at position 0
我怀疑这个错误的原因是JSON's lack of support for comments.我应该注意我的.eslintrc
文件中的相同模式行有用。
如何在.tern-config
文件中加入vim模式?
答案 0 :(得分:2)
您无法在文件本身中执行此操作。 JSON不支持注释,这是一种非常难以理解的语法。
这可能适用于某些JSON文件,例如.eslintrc
,但在其他文件中,您将失去运气。更严格的JSON解析器将不允许它,因此它取决于您当前使用的工具是基于哪个解析器。
不要猜测哪些解析器是宽容的,哪些不是,你最好不要告诉Vim如何使用autocmd
来做这件事。
autocmd BufNewFile,BufRead *.tern-config set filetype=json
答案 1 :(得分:1)
如果放置这样的物体
"_vim_": { "modeline": "/* vim: set ft=json noet ts=4 sw=4: */" }
作为json文件顶级对象列表的第一个或最后一个条目,它将被vim用作modeline(只要该行在文件的开头或结尾处显示得足够接近,其中“足够接近”表示:vim根据其“ modelines”选项(默认为5)在扫描模式行的行数之内。
此外,应该仔细选择对象的名称(“ _vim_”),以便-最多-使用该文件作为输入的软件将其忽略,或者-至少-可以将其忽略。该软件的用户(即不会引起任何被视为有害行为的副作用)。