spf13 и omnisharp (vim)
Я использую spf13, и я хочу использовать omnisharp, поэтому я установил (и собрал) его как объяснено. Теперь я не знаю, как интегрировать его с spf13.
Кажется, уже есть кое-что, что обрабатывает "всестороннее завершение", но я также хочу отслеживать проблемы.
spf13 .vimrc
:
" PIV {
let g:DisableAutoPHPFolding = 0
let g:PIVAutoClose = 0
" }
" Misc {
let g:NERDShutUp=1
let b:match_ignorecase = 1
" }
" OmniComplete {
" To disable omni complete, add the following to your .vimrc.before.local file:
" let g:spf13_no_omni_complete = 1
if !exists('g:spf13_no_omni_complete')
if has("autocmd") && exists("+omnifunc")
autocmd Filetype *
\if &omnifunc == "" |
\setlocal omnifunc=syntaxcomplete#Complete |
\endif
endif
hi Pmenu guifg=#000000 guibg=#F8F8F8 ctermfg=black ctermbg=Lightgray
hi PmenuSbar guifg=#8A95A7 guibg=#F8F8F8 gui=NONE ctermfg=darkcyan ctermbg=lightgray cterm=NONE
hi PmenuThumb guifg=#F8F8F8 guibg=#8A95A7 gui=NONE ctermfg=lightgray ctermbg=darkcyan cterm=NONE
" Some convenient mappings
inoremap <expr> <Esc> pumvisible() ? "\<C-e>" : "\<Esc>"
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"
inoremap <expr> <Down> pumvisible() ? "\<C-n>" : "\<Down>"
inoremap <expr> <Up> pumvisible() ? "\<C-p>" : "\<Up>"
inoremap <expr> <C-d> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<C-d>"
inoremap <expr> <C-u> pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<C-u>"
" Automatically open and close the popup menu / preview window
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set completeopt=menu,preview,longest
endif
" }
Поэтому я хочу полностью интегрироваться в vim.
1 ответ
Omnisharp не выполняет omnicompletion сам по себе. Он просто предоставляет omnifunc, который вы можете использовать для подключения к любому механизму завершения, который вам нравится (YCM, Neocomplete, supertab) и т. Д.
Я никогда не использовал spf13, но я думаю, что все, что вам нужно, это
autocmd FileType cs setlocal omnifunc=OmniSharp#Complete
Похоже, что spf13 имеет свою собственную систему омполнения. Если это не сработает, попробуйте Ctrl-X, Ctrl-O для ручного запуска omnicompletion.