0
通過按自動完成輸入,我有以下的地圖設置與neocomplete.vim工作:<Plug>功能失效,將作爲文字「<t_ý> S」
inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>
function! s:my_cr_function()
return pumvisible() ? "\<c-y>" : "\<CR>"
endfunction
這工作得很好。要解釋,當顯示neocomplete的PopUpMenu時,pumvisible()
返回true。 <c-y>
選擇所選單詞,將其插入插入模式光標後,並關閉網絡彈出窗口。
我想擴展這個映射,以便當自動完成的單詞是「片段」單詞時,neosnippet.vim插件將自動擴展它。這是我的嘗試:
inoremap <silent> <CR> <C-r>=<SID>my_cr_function()<CR>
function! s:my_cr_function()
return pumvisible() ? "\<c-y>\<Plug>(neosnippet_expand_or_jump)" : "\<CR>"
endfunction
而不是擴大片斷的話,這將導致以下直接插入到文本光標所在:
<t_ý>S(neosnippet_expand_or_jump)`
我怎樣才能解決這個問題,使這行得通?
可能培訓相關注意事項:如果我回到代碼(上述第一個)的工作版本,點擊「進入」,然後手動輸入<C-k>
(同時仍然在插入模式),該段這樣正確的擴展。這裏是映射設置爲<C-k>
:
imap <C-k> <Plug>(neosnippet_expand_or_jump)
插頭沒有意義的'inoremap'(我不知道它在表達式寄存器)嘗試使用'imap my_cr_function()'。 –
FDinoff