Neovim is blocking when using multiple-cursors + deoplete + UltiSnips after using multiple-cursors to rename something.
let g:mapleader = " "
" Plugins {{{
call plug#begin()
" deoplete {{{
let g:deoplete#enable_at_startup=1
Plug 'Shougo/deoplete.nvim'
" }}}
" UltiSnips {{{
let g:UltiSnipsExpandTrigger="<tab>"
let g:UltiSnipsJumpForwardTrigger="<tab>"
let g:UltiSnipsJumpBackwardTrigger="<S-tab>"
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
" }}}
" multiple-cursors {{{
let g:multi_cursor_next_key='<tab>'
let g:multi_cursor_prev_key='<C-a>'
let g:multi_cursor_skip_key='<C-d>'
let g:multi_cursor_quit_key='<Esc>'
let g:multi_cursor_start_key='<leader><TAB>'
Plug 'terryma/vim-multiple-cursors'
" }}}
call plug#end()
" }}}

The log file have 31M(220k lines) with this :
...
2016-04-21 00:20:30,431 [DEBUG @ msgpack_stream.py:send:32] 12994 - sent [0, 29898, 'vim_set_var', ('deoplete#_context', {})]
2016-04-21 00:20:30,431 [DEBUG @ base.py:send:113] 12994 - Sending 'b'\x94\x00\xcdt\xca\xabvim_set_var\x92\xb1deoplete#_context\x80''
2016-04-21 00:20:30,431 [DEBUG @ session.py:_yielding_request:149] 12994 - yielding from greenlet <greenlet.greenlet object at 0x7f42d4efecc0> to wait for response
2016-04-21 00:20:30,431 [DEBUG @ msgpack_stream.py:_on_data:53] 12994 - waiting for message...
2016-04-21 00:20:30,431 [DEBUG @ msgpack_stream.py:_on_data:55] 12994 - received message: [1, 29897, None, {}]
2016-04-21 00:20:30,431 [DEBUG @ async_session.py:_on_response:95] 12994 - received response: None, {}
2016-04-21 00:20:30,431 [DEBUG @ session.py:response_cb:145] 12994 - response is available for greenlet <greenlet.greenlet object at 0x7f42d47d40e0>, switching back
2016-04-21 00:20:30,432 [DEBUG @ session.py:handler:200] 12994 - greenlet <greenlet.greenlet object at 0x7f42d47d40e0> finished executing
2016-04-21 00:20:30,432 [DEBUG @ session.py:handler:205] 12994 - greenlet <greenlet.greenlet object at 0x7f42d47d40e0> is now dying...
2016-04-21 00:20:30,432 [DEBUG @ msgpack_stream.py:_on_data:53] 12994 - waiting for message...
2016-04-21 00:20:30,432 [DEBUG @ msgpack_stream.py:_on_data:58] 12994 - unpacker needs more data...
2016-04-21 00:20:30,432 [DEBUG @ msgpack_stream.py:_on_data:53] 12994 - waiting for message...
2016-04-21 00:20:30,432 [DEBUG @ msgpack_stream.py:_on_data:55] 12994 - received message: [1, 29898, None, {}]
2016-04-21 00:20:30,432 [DEBUG @ async_session.py:_on_response:95] 12994 - received response: None, {}
2016-04-21 00:20:30,432 [DEBUG @ session.py:response_cb:145] 12994 - response is available for greenlet <greenlet.greenlet object at 0x7f42d4efecc0>, switching back
2016-04-21 00:20:30,432 [DEBUG @ session.py:handler:200] 12994 - greenlet <greenlet.greenlet object at 0x7f42d4efecc0> finished executing
2016-04-21 00:20:30,432 [DEBUG @ session.py:handler:205] 12994 - greenlet <greenlet.greenlet object at 0x7f42d4efecc0> is now dying...
2016-04-21 00:20:30,432 [DEBUG @ msgpack_stream.py:_on_data:53] 12994 - waiting for message...
2016-04-21 00:20:30,432 [DEBUG @ msgpack_stream.py:_on_data:58] 12994 - unpacker needs more data...
2016-04-21 00:25:04,186 [DEBUG @ base.py:_on_error:166] 12994 - EOF
2016-04-21 00:25:04,186 [DEBUG @ base.py:stop:149] 12994 - Stopped event loop
2016-04-21 00:25:04,187 [DEBUG @ base.py:run:140] 12994 - Exited event loop
Put this in init.vim:
function Multiple_cursors_before()
let g:deoplete#disable_auto_complete = 1
endfunction
function Multiple_cursors_after()
let g:deoplete#disable_auto_complete = 0
endfunction
It worked, thanks !
I have added the FAQ.
nice
The solution suggested here is not working for me.
Please read the documentation.
function g:Multiple_cursors_before()
call deoplete#custom#buffer_option('auto_complete', v:false)
endfunction
function g:Multiple_cursors_after()
call deoplete#custom#buffer_option('auto_complete', v:true)
endfunction
g:deoplete#disable_auto_complete is old variable.
So it does not work.
Most helpful comment
Put this in
init.vim: