【发布时间】:2015-01-19 10:20:09
【问题描述】:
我正在尝试使用这个插件来编写 markdown http://www.vim.org/scripts/script.php?script_id=3994、https://github.com/suan/vim-instant-markdown。
我的 Vim 情况:
- 以前安装 vim-markdown 来编辑 *.md 文件。
- 使用病原体来管理包裹。
- 我只是将 instanct-markdown.vim 放到 ~/.vim/plugin 文件夹中。
这里有一些奇怪的事情:
- 当我在没有打开 *.md 文件的情况下进入 vim 或 MacVim 时,命令 :InstantMarkdownPreview 存在。但是当我打开 *.md 文件时,找不到这个命令。
- 我看到了 :scriptnames 输出,脚本已经加载。
我不知道为什么?有人可以帮忙吗?
1 月 21 日更新。
我通过将 vim-markdown 的 ftdetect 复制到我的 ftdetect 文件夹并进行小改动解决了这个问题
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} set filetype=mkd
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx} set filetype=mkd
小改动只是将 mkd 更改为 Instant-markdown,将此文件类型文件保存到 ~/.vim/ftdetect/instant-markdown.vim 并将脚本 instant-markdown.vim 复制到 ~/.vim/after /ftplugin/instant-markdown/instant-markdown.vim 就可以了。
一些小问题是:
- 我不知道 after/ 是什么意思?
- 我还搜索了 vim 编写插件指南,几乎一无所获。可能是错误的关键字?
1 月 23 日更新
我明白之后意味着加载缓慢。这是我目前的解决方案,我将它包裹在病原体包中,看起来还可以,有什么问题吗?
mac 01-23 16:13:38 instant-markdown $ pwd
/Users/xxx/.vim/bundle/instant-markdown
mac 01-23 16:07:40
instant-markdown $ tree ./
./
├── ftdetect
│ └── instant-markdown.vim
└── ftplugin
└── instant-markdown.vim
2 directories, 2 files
mac 01-23 16:07:42 instant-markdown $ cat ftdetect/instant-markdown.vim
" markdown filetype file
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} set filetype=instant-markdown
au BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}.{des3,des,bf,bfa,aes,idea,cast,rc2,rc4,rc5,desx} set filetype=instant-markdown
1 月 26 日更新
正如本所说,我仔细比较了有/没有插件的语法高亮,似乎我真的错过了 vim 插件,但如果我只是将脚本复制到 ~/.vim/after/ftplugin/markdown 中,当我打开一个*.md 文件缺少命令。
我发现如果我将 *.md 更改为 *.markdown 文件,命令就会出现,所以真正的问题似乎是 vim 无法将 *.md 文件识别为 markdown 文件。所以我将所有即时降价更改为降价,将我的文件夹放入 ~/.vim/bundle,我得到了 vim 默认降价高亮,我做对了吗?本?
【问题讨论】:
-
随着问题的不断演变和意义的变化,我已停止更新我的答案。你应该把它移到 Vim 的邮件列表中,因为它已经变成了一个 讨论 而不是问答。我认为我的回答仍应为您提供足够的信息以使其正常工作,但如果您仍然感到困惑,可能是时候去mailing list for Vim了。
-
我已经掌握了所有我需要知道的东西,感谢您一直以来的帮助。