如何在 Vim 中默认禁用 ale 插件?

How to disable ale plugin by default in Vim?

我正在使用 https://github.com/w0rp/ale 插件。但这会使 vim 响应速度降低...我在 <leader>l 上绑定了 ALETooggle

默认情况下禁用它并在需要时通过键盘快捷键启用它会很好,我尝试将 ALEDisable 放在我的 .vimrc 上,但它给了我下面的错误

Error detected while processing /Users/daniel/.vimrc:
line   94:
E492: Not an editor command: ALEDisable   
Press ENTER or type command to continue

这是一个示例.vimrc,它会触发问题

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
Plugin 'w0rp/ale'
call vundle#end()            " required
filetype plugin indent on    " required

noremap <leader>l :ALEToggle<CR>
ALEDisable

最优雅的解决方案是使用更好的插件管理器,如 Plug or Dein为什么? 因为它们维护得很好,而且比您当前使用的插件管理器更快更高效。最重要的是,它们支持轻松地延迟加载插件。

为了在地图上加载插件,您可以执行以下任一操作:

Plug 'w0rp/ale', { 'on':  'ALEToggle' }  

call dein#add('w0rp/ale',{'on_cmd': 'ALEToggle'})  

我猜 vundle 也可能实现相同的延迟加载,但相信我,使用 vim-plug 或 dein 是值得的,因为它们超级快速和直观。

ALE 插件提供了一个名为 g:ale_enabled 的选项来默认禁用 ALE,因此这种方式与插件管理器无关。

如果您将 g:ale_enabled 设置为 0,那么 ALE 将对任何缓冲区禁用。 该插件还提供了一个选项来根据文件名控制 ALE 可用性。 这是 :h g:ale_enabled:

的示例
" Disable linting for all minified JS files.
let g:ale_pattern_options = {'\.min.js$': {'ale_enabled': 0}}

您可以在需要时使用 :ALEEnable:ALEToggle 来启用 ALE。