我正在尝试使用此插件来写下markdown http://www.vim.org/scripts/script.php?script_id=3994,https://github.com/suan/vim-instant-markdown。
我的Vim情况:
这里有一些奇怪的事情:
我不知道为什么?有人可以帮忙吗?
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改为即时降价,将此文件类型文件保存到〜/ .vim / ftdetect / instant-markdown.vim&将脚本instant-markdown.vim复制到〜/ .vim / after / ftplugin / instant-markdown / instant-markdown.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日更新
正如Ben所说,我仔细比较语法高亮与/无插件,似乎我真的错过了vim插件,但如果我只是将脚本复制到〜/ .vim / after / ftplugin / markdown,当我打开一个* .md文件命令丢失。
并且我发现如果我将* .md更改为* .markdown文件命令出现,那么真正的问题似乎是vim不能将* .md文件识别为markdown文件。所以我将所有即时降价改为降价,将我的文件夹放入〜/ .vim / bundle,我得到了vim默认降价高亮,我做对了吗?本?
答案 0 :(得分:1)
您错误地安装了该插件。在您的辩护中,脚本页面在编写时已过时,但github页面已更新。此插件现在设计为文件类型插件。它应该在每次打开markdown文件时加载,为该文件定义缓冲区的本地命令。编辑新文件时,会获得一个新缓冲区。这样,该命令仅为markdown文件定义。
但是您将其安装为常规(非特定于文件类型)插件。因此,它只在空启动缓冲区上加载一次。当您加载新文件时,该启动缓冲区及其拥有的命令将消失。
而不是插件目录,将ftplugin文件放在 ftplugin 或 / ftplugin 之后。该文件的名称应与其触发的文件类型相同,或者应将其放在以filetype命名的目录中。在这种情况下,github上的安装说明说:
从中复制after / ftplugin / markdown / instant-markdown.vim文件 回到你的〜/ .vim / after / ftplugin / markdown /(创建目录 必要时),或按照vim包管理员的说明进行操作。
修改问题的新部分:
请注意插件如何在 after / ftplugin / markdown 目录中安装。 ""之后" Vim中的目录用于在相同类型的其他插件上提供添加或覆盖。如其名称所示,"之后的脚本"目录在通常位置的脚本之后运行。所以,如果你有两个" markdown"脚本,一个在〜/ .vim / ftplugin / markdown / script1.vim 中,另一个在〜/ .vim / after / ftplugin / markdown / script2.vim :script1中。 vim将首先运行,然后script2.vim将运行。因此,script2.vim可以使用script1.vim中定义的内容,或覆盖script1.vim等中的设置。
语法文件,ftplugin文件,普通插件文件,缩进文件;所有这些都可以通过这种方式定义覆盖。
另请注意在ftplugin目录中创建的 markdown 目录。这是为了允许任意文件名,在这种情况下"即时降价"即使它与文件类型的名称不匹配也要被采购。我想你想保持这个好处;如果你将文件类型设置为"即时降价"您的脚本将运行,但不会运行任何正常的脚本。例如,您将不会突出显示语法。
当运行文件类型插件时,Vim将运行与文件类型同名的任何内容(例如" markdown.vim"),它将以filetype作为前缀运行任何内容(例如" markdown_preview .vim"),它将在为文件类型命名的目录中运行任何内容(例如" markdown / instant-markdown.vim")。
答案 1 :(得分:0)
我也遇到了类似的问题。我的问题是这样的:找到名为README.md
的开放markdown文件支持此功能,而其他文件*.md
将回复我的错误,如:Not an Editor Command InstantMarkdownPreview
。我不知道出了什么问题。
我目前的测试平台是MacOSX 10.9
。
但幸运的是,我找到了解决此问题的方法,您知道,对于此插件,我们可以从http://www.vim.org/scripts/script.php?script_id=3994和https://github.com/suan/vim-instant-markdown找到它。但是这两个站点的安装说明并不相同。
~/.vim/after/ftplugin/markdown/
。Download the script into ~/.vim/plugin
,这是安装Vim插件的一种非常常用的方法。我从上一个网站下载了该插件并将其复制到~/.vim/plugin
,一切都开始有效。
希望它有所帮助: - )