Vim的'dot-separated'双文件类型时尚
Vim's 'dot-separated' double filetype fashion
我很乐意在 Mac Os Sierra 上的 neovim 命令行版本中加载 Notes and Txtfmt 插件。
两者都很好地独立工作,但没有机会根据 Vim 关于点分隔文件类型的文档将它们一起加载到文件类型 notes.txtfmt 的文件中。
我所做的第一次尝试是遵循 Notes 文档以便能够与 Txtfmt 一起工作并创建文件
$/.vim/after/ftplugin/notes.vim
内容为:
" Enable Txtfmt formatting inside notes.
setlocal filetype=notes.txtfmt
如 this 讨论中所述,这种方法不起作用,会造成无限循环。
接下来,按照 bpstahlman 在提到的 post 中的建议,我将以下自动命令添加到我的 .vimrc 中:
augroup TxtfmtInNotes
au!
au FileType * if expand("<amatch>") == "notes" | setlocalft=notes.txtfmt|endif
augroup END
现在,它似乎可以工作,因为它在打开新的 :Note 缓冲区后立即在 Vim 状态栏中声明了一个 'notes.txtfmt' 文件类型。
坏消息:txtfmt 插件没有加载,没有映射的命令在工作。
有趣的是:再做一次:setlocal ft=notes.txtfmt
(这应该已经由建议的自动命令完成)一切都被正确加载。
换句话说,在我的例子中,自动命令在更改文件类型时起作用,但在加载 txtfmt 插件时不起作用,它仅在重复文件类型命令时加载。
对此有什么建议吗?
谢谢
如果 Notes 插件有文件类型检测(显然没有,文件类型仅由插件提供的命令设置),我会将其覆盖为
:au BufNewFile,BufRead *.note setf notes.txtfmt
在你的情况下,我不会使用 复合文件类型 ,而是简单地在 ~/.vim/after/ftplugin/notes.vim
:
中模拟它的效果
runtime! ftplugin/txtfmt.vim ftplugin/txtfmt_*.vim ftplugin/txtfmt/*.vim
我还没有测试过它,但它比您当前挂接到 FileType
事件的解决方案更直接,因此希望更可靠。
我很乐意在 Mac Os Sierra 上的 neovim 命令行版本中加载 Notes and Txtfmt 插件。
两者都很好地独立工作,但没有机会根据 Vim 关于点分隔文件类型的文档将它们一起加载到文件类型 notes.txtfmt 的文件中。
我所做的第一次尝试是遵循 Notes 文档以便能够与 Txtfmt 一起工作并创建文件
$/.vim/after/ftplugin/notes.vim
内容为:
" Enable Txtfmt formatting inside notes.
setlocal filetype=notes.txtfmt
如 this 讨论中所述,这种方法不起作用,会造成无限循环。 接下来,按照 bpstahlman 在提到的 post 中的建议,我将以下自动命令添加到我的 .vimrc 中:
augroup TxtfmtInNotes
au!
au FileType * if expand("<amatch>") == "notes" | setlocalft=notes.txtfmt|endif
augroup END
现在,它似乎可以工作,因为它在打开新的 :Note 缓冲区后立即在 Vim 状态栏中声明了一个 'notes.txtfmt' 文件类型。
坏消息:txtfmt 插件没有加载,没有映射的命令在工作。
有趣的是:再做一次:setlocal ft=notes.txtfmt
(这应该已经由建议的自动命令完成)一切都被正确加载。
换句话说,在我的例子中,自动命令在更改文件类型时起作用,但在加载 txtfmt 插件时不起作用,它仅在重复文件类型命令时加载。
对此有什么建议吗?
谢谢
如果 Notes 插件有文件类型检测(显然没有,文件类型仅由插件提供的命令设置),我会将其覆盖为
:au BufNewFile,BufRead *.note setf notes.txtfmt
在你的情况下,我不会使用 复合文件类型 ,而是简单地在 ~/.vim/after/ftplugin/notes.vim
:
runtime! ftplugin/txtfmt.vim ftplugin/txtfmt_*.vim ftplugin/txtfmt/*.vim
我还没有测试过它,但它比您当前挂接到 FileType
事件的解决方案更直接,因此希望更可靠。