如何即时打开和关闭(Vimplug)插件?

时间:2020-10-23 22:06:21

标签: vim vim-plugin neovim

在多个实例上使用COC确实会对我的intel i3 + 4GB计算机造成损害。
所以我想知道是否可以按需切换它。
我已经设法默认关闭它,并使用Vimplug的内置功能将其打开,如下所示。

Plug 'neoclide/coc.nvim', {'branch': 'release', 'on': 'CocToggle' }

但是,我不确定如何将其关闭。
任何帮助将不胜感激!

P.S .:我已经尝试过CocDisable,但是没有发现任何可以最大程度地减少资源使用的实际好处,例如杀死每个实例的COC启动的gazillion节点进程!

解决方案

我最终为用例编写了以下功能。

Plug 'neoclide/coc.nvim', {'branch': 'release' }
let g:coc_start_at_startup = 0

let s:coc_enabled = 0
function! ToggleCoc()
   if s:coc_enabled == 0
      let s:coc_enabled = 1
      CocStart
      echo 'COC on'
   else
      let s:coc_enabled = 0
      echo 'COC off'
      call coc#rpc#stop()
   endif
endfunction
nnoremap <silent> <leader>h :call ToggleCoc()<cr>

1 个答案:

答案 0 :(得分:0)

我的用例(我使用vim-plug)可能有所不同,但可能会有所帮助。通常,我的书呆子会被禁用,直到我通过映射将其称为

Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
nnoremap <F2> :NERDTreeToggle<cr>

我有一个功能可以加载任何在启动时禁用的插件

if !exists('*LoadPluginFunction')
    fun! LoadPluginFunction(pluginname)
        let l:curpos = getcurpos()
        execute plug#load(a:pluginname)
        call cursor(l:curpos[1], l:curpos[2])
        return ''
    endfun
endif
command! -nargs=1 LoadPlugin :call LoadPluginFunction(<q-args>)

如果要多次加载,请致电:

:LoadPlugin nerdtree

最后,我找到了一个可以帮助您的coc选项:

let g:coc_start_at_startup = 0

您可以启动vim并创建一个映射以手动加载coc插件