Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim';s';点分隔';双文件格式_Vim_Macos Sierra_Vim Plugin - Fatal编程技术网

Vim';s';点分隔';双文件格式

Vim';s';点分隔';双文件格式,vim,macos-sierra,vim-plugin,Vim,Macos Sierra,Vim Plugin,我很高兴在Mac Os上加载命令行版本neovim中的任何一个和插件 两者都能独立工作,但没有机会让它们一起加载到一个文件类型notes.txtfmt中,正如Vim关于点分隔文件类型的文档所示 我做的第一次尝试是遵循Notes文档,以便能够与Txtfmt一起工作并创建文件 $/.vim/after/ftplugin/notes.vim 内容如下: " Enable Txtfmt formatting inside notes. setlocal filetype=notes.txtfmt 正如

我很高兴在Mac Os上加载命令行版本neovim中的任何一个和插件

两者都能独立工作,但没有机会让它们一起加载到一个文件类型notes.txtfmt中,正如Vim关于点分隔文件类型的文档所示

我做的第一次尝试是遵循Notes文档,以便能够与Txtfmt一起工作并创建文件

$/.vim/after/ftplugin/notes.vim

内容如下:

" Enable Txtfmt formatting inside notes.
setlocal filetype=notes.txtfmt
正如讨论中所述,这种方法不起作用,会创建一个无限循环。 接下来,正如前面提到的帖子中所建议的,我在我的.vimrc中添加了以下自动命令:

augroup TxtfmtInNotes
au!
au FileType * if expand("<amatch>") == "notes" | setlocalft=notes.txtfmt|endif
augroup END
augroup TxtfmtInNotes
哎呀!
au文件类型*如果展开(“”==“notes”| setlocalft=notes.txtfmt | endif
螺旋端
现在,它似乎可以工作了,因为它在打开一个新的:Note缓冲区后立即在Vim状态栏中声明了一个“notes.txtfmt”文件类型。
坏消息是:txtfmt插件没有加载,没有映射命令在工作

有趣的是:再次执行
:setlocal ft=notes.txtfmt
(这应该已经由建议的自动命令完成)所有内容都已正确加载

换句话说,在我的例子中,autocommand在更改文件类型时起作用,但在加载txtfmt插件时不起作用,该插件仅在重复filetype命令时加载

有什么建议吗

谢谢

如果Notes插件有文件类型检测(显然没有,并且文件类型仅由插件提供的命令设置),我会将其覆盖到

:au BufNewFile,BufRead *.note setf notes.txtfmt
在您的情况下,我不使用复合文件类型,而是在
~/.vim/after/ftplugin/notes.vim
中模拟其效果:

runtime! ftplugin/txtfmt.vim ftplugin/txtfmt_*.vim ftplugin/txtfmt/*.vim

我还没有测试过它,但是它更简单,因此希望比您当前的钩住
文件类型事件的解决方案更健壮。

它在Ingo中起作用。我不知道确切的原因,但它起作用了。但是,如果expand(“”==“notes”| setlocal ft=notes.txtfmt | endif
in.vimrc,则它仅与
au FileType*一起工作。我也不知道为什么。非常感谢。