3

我发现了一个名为 Goyo 的不错的无干扰写作插件,它做得非常好。我设置autocmds为根据文件类型启用 Goyo,所以如果我处理降价或文本文件,Goyo 会自动初始化。如果我离开缓冲区或更改文件类型,那么 Goyo 就会关闭。以下是我如何实现该行为:

autocmd FileType * :Goyo!
autocmd FileType markdown :Goyo
autocmd FileType text :Goyo

这似乎工作正常。问题是,这是否是要走的路,或者是否有更好的方法来解决问题?

4

1 回答 1

4

这很好,我也将如何实现它。由于您仅挂钩事件,因此仅在您创建FileType文件时触发切换,而不是在您调用具有另一种文件类型的现有缓冲区时触发。您可以使用 来做到这一点,但它可能会导致过多的无意切换。无论如何,我猜该插件带有一个快速切换映射来手动执行此操作。:editBufWinEnter

选择

autocmd FileType命令的替代方案是文件类型插件(即~/.vim/ftplugin/markdown.vim等),它的好处是可以整齐地分离事物。但是由于您需要一个全面的 autocmd 来关闭 Goyo,并且文件类型列表很小,所以我也希望像您一样将它们放在一起。

改进

请注意,如果您重新使用(或您将它们放入的任何脚本),您的命令集将添加一组重复的自动:source命令~/.vimrc。为避免这种情况,您可以将它们包裹在

augroup AutomaticGoyo
    autocmd!
    ...
augroup END
于 2014-12-06T12:39:14.117 回答