![我怎样才能将 vim 插件用于该插件不适用于的文件类型?](https://linux22.com/image/1020946/%E6%88%91%E6%80%8E%E6%A0%B7%E6%89%8D%E8%83%BD%E5%B0%86%20vim%20%E6%8F%92%E4%BB%B6%E7%94%A8%E4%BA%8E%E8%AF%A5%E6%8F%92%E4%BB%B6%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%E7%9A%84%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%EF%BC%9F.png)
如果您将 Jupyter Notebook 转换为 markdown 文档(例如使用 pandoc),则无需启动浏览器即可轻松编辑它。我很喜欢这个vim-markdown
插件。
后来我找到了一个jupyter-vim
插件,它可以将 python 代码片段直接从 vim 发送到 jupyter-qtconsole(比 Jupyter 笔记本轻量级得多)。我的问题是 vim 只jupyter-vim
为“python”文件类型激活插件,所以我在编辑 markdown 文件时不能使用它。但我看不出有什么理由不能使用 markdown 文件中的插件从隔离的 python 代码块发送 qtconsole 代码片段。
我几乎确信有办法做到这一点,但我还没有想出来。例如,我尝试在目录中创建一个“markdown”目录~/.vim/bundle/jupyter-vim/ftplugin/
。但我是在瞎猜。我看不出如何在 vim 帮助中执行此操作:h filetype-plugins
。
任何想法都值得欢迎...!
答案1
查看之后~/.vim/bundle/jupyter-vim/plugin/jupyter.vim
,我找到了初始化 jupyter 插件所需的调用。
在 vim 中,打开我的 markdown 文件,我只需要:call jupyter#load#MakeStandardCommands()
.
现在它可以工作了——我基本上有一个在 vim 中运行的 Jupyter Notebook!
如果你这样做,你可能还想
let g:jupyter_cell_separators = ['```']
在 中.vimrc
。然后,一个被隔离的代码块就像 Jupyter 中的单元格一样运行。