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

gec*_*kos 2 vim vim-plugin

我正在使用https://github.com/w0rp/ale插件。但它使VIM不太敏感......我有一个绑定ALETooggle<leader>l

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

Error detected while processing /Users/daniel/.vimrc:
line   94:
E492: Not an editor command: ALEDisable   
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)

这是一个.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
Run Code Online (Sandbox Code Playgroud)

Tac*_*roy 7

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}}
Run Code Online (Sandbox Code Playgroud)

您可以使用:ALEEnable:ALEtoggle在要启用它时启用ALE 。

  • :ALEToggle (大写 T) -- 无法编辑,因为编辑必须超过 6 个字符:) (3认同)

Yed*_*hin 2

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

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

Plug 'w0rp/ale', { 'on':  'ALEToggle' }  
Run Code Online (Sandbox Code Playgroud)

或者

call dein#add('w0rp/ale',{'on_cmd': 'ALEToggle'})  
Run Code Online (Sandbox Code Playgroud)

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