【问题标题】:Why is VIM not detecting my coffescript filetype?为什么 VIM 没有检测到我的咖啡脚本文件类型?
【发布时间】:2011-08-01 22:42:00
【问题描述】:

我正在尝试使用 vim-coffee-script 插件https://github.com/kchmck/vim-coffee-script,但它没有将测试文件检测为咖啡脚本文件类型。但是,当我手动操作时

:set ft=coffee

它有效。怎么回事?

.vimrc 和 test.coffee https://gist.github.com/911087

【问题讨论】:

  • 您是否也安装了插件的 ftdetect 部分?如您所见,coffee.vim 是执行此操作的部分:autocmd BufNewFile,BufRead *.coffee set filetype=coffee
  • 谢谢!虽然想通了..它被添加为一个 git 子模块,所以一切都存在,但 ftdetect 没有被加载。问题更多的是,为什么它没有被加载..但现在它是。谢谢

标签: vim coffeescript


【解决方案1】:

我想通了..我不得不通过设置强制重新加载文件类型

filetype off
filetype on

具体来说,我必须在运行后执行此操作

syntax on

这主要在病原体自述文件中进行了解释

http://www.vim.org/scripts/script.php?script_id=2332

【讨论】:

  • 嗯。我不使用病原体,但这似乎很奇怪。如果您只是将所有这些文件转储到正确的目录中,它就会自行工作,不需要任何 vimrc 技巧。
  • 不知道该说什么..它肯定是一些微妙的东西..但我对 vim-coffee-script repo 进行了 git 子模块化,但它没有工作..它做了那个改变。也就是说,它可能是我以前从未处理过的 .vimrc 配置中的一个错误......
  • @Jefromi 我刚从 Pathogen 切换到 Vundle,看到了这个 bug 的介绍。使用 noli 的解决方案为我修复了这个错误。
  • @noli bro...拯救了我的理智...我几乎切换到 sublime/textmate/alternative...(开个玩笑)但说真的...谢谢!
【解决方案2】:

Noli 的解决方案有时对我有用。在其他时间或其他文件类型,它坏了。这让我很生气。

解决方法是将syntax enable移动到vimrc的底部。

解释:进一步按照 noli 的逻辑,我查看了pathogen docs on Github。一件事引起了我的注意

execute pathogen#infect()
syntax on
filetype plugin indent on

在安装插件之后 一切都会开启。我注意到我的 vimrc 中不是这种情况,所以我将 syntaxfiletype 移到了我的 vimrc 的底部。问题已解决(到目前为止)

【讨论】:

  • 谢谢,非常有帮助。我必须同时执行您的解决方案和 noli 的解决方案才能使其正常工作。具体来说,我必须在 filetype plugin indent on 之前包含 filetype off
  • 对我来说,这在我切换到 Vundle 后开始发生。我意识到 syntaxfiletype 行在所有 Bundle 行之前,所以我将它们移到之后,事情又开始工作了。
  • Eric Hu 的解决方案也对我有用。我不必将syntax on 一直移动到底部,将其移动到filetype plugin indent on 之后的行就足够了。
【解决方案3】:

我在这里尝试了所有建议的解决方案,但没有一个适合我。对我有用的解决方案是将以下代码段添加到 ~/.vimrc 文件中

syntax on
filetype on
au BufNewFile,BufRead *.coffee set filetype=coffee

问题解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-10
    • 2013-09-08
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 2012-07-04
    • 2012-05-04
    • 2014-01-13
    相关资源
    最近更新 更多