我正在使用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)
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 。
最优雅的解决方案是使用更好的插件管理器,例如Plug或Dein。为什么?因为它们维护得很好,并且比您当前使用的插件管理器更快、更高效。最重要的是,它们轻松支持插件的延迟加载。
为了在地图上加载插件,您可以执行以下任一操作:
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,因为它们超级快速且直观。