vim - 如何动态切换(Vimplug)插件?
问题描述
在多个实例上使用 COC 确实会对我的 intel i3+4GB 机器造成影响。
所以我想知道我是否可以按需切换它。
我已经设法在默认情况下将其关闭并使用 Vimplug 的内置功能将其打开,如下所示。
Plug 'neoclide/coc.nvim', {'branch': 'release', 'on': 'CocToggle' }
但是,我不确定如何将其关闭。
任何帮助将不胜感激!
PS:我已经尝试过CocDisable
并且没有注意到任何可以最大限度地减少资源使用的实际好处,例如杀死COC为每个实例启动的大量节点进程!
解决方案
我最终为我的用例编写了以下函数。
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>
解决方案
我的用例(我使用 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 插件
推荐阅读
- javascript - 基于STDIN的函数参数结构 - JavaScript?
- javascript - 包含多个条目的 npm 包,WebStorm 的代码检测器无法正确读取
- java - 引起:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:在 android studio 4.1 中合并 dex 档案时出错
- postgresql - 在 Postgres 视图上选择查询 Prisma 客户端,当它不应该返回 0 行时
- flutter - 系统主题和轻主题的区别?
- python - 无法在 RIDE/Robot 框架中导入 AutoItLibrary
- c++ - 启动可视化工具时 pcl 查看器中的错误
- python - 如何在python中使用硒“向下滚动”某些部分?
- javascript - “POST”请求后烧瓶不重定向
- powershell - Printscreen 击键脚本。^{PRTSC} 什么都不做