LINUX.ORG.RU

marching, vim, clang

 , ,


0

2

Доброго времени суток не могу завести плагин и у меня подозрение что у меня не правильно (?) настроить clang. marching плагин для автодополнения C/C++ кода в vim. У него в зависимостях clang и плагин vimproc.vim. Все стоит и все «работает», но не выдает то что нужно. Настройки плагина:

Plug 'osyo-manga/vim-marching'
imap <C-a> <Plug>(marching_start_omni_complete)
let g:marching_clang_command = "clang"
let g:marching_include_paths = filter(
\       split(glob('/usr/include/*/'), '\n') +
\       split(glob('/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.4/include/g++-v4/*'),'\n'),
\       'isdirectory(v:val)')
set omnifunc? выдает omnifunc=marching#complete, т.e. omni дополнение настроено на marching плагин. /usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.4/include/g++-v4/* это include gcc, они отличаются от include clang? Откуда clang берет инклюды? Может я что то не до установил. Просто когда я пытаюсь что либо дополнить нажимая Ctrl+a vim выдает

marching completion start -- Omni completion (^O^N^P) Pattern not found

Я об читался :help marching@en. Но ничего там не нашел. такое ощущение что это просто должно работать после установки. И никаких танцев с бубном не должно быть. Помогите, пожалуйста, довести до ума.

emerge -vp clang [ebuild R ] sys-devel/clang-3.5.0-r100:0/3.5::gentoo USE=«static-analyzer -debug -multitarget -python» ABI_X86=«32 (64) (-x32)» 0 KiB

emerge -vp vim [ebuild R ~] app-editors/vim-7.4.769::gentoo USE=«X acl gpm lua nls perl python ruby -cscope -debug -luajit -minimal -racket (-selinux) -tcl -vim-pager» PYTHON_TARGETS=«python2_7 python3_4 -python3_3» 0 KiB



Последнее исправление: SmilePlz (всего исправлений: 2)

Ответ на: комментарий от SmilePlz

Ну ладно. А ты include paths пробовал по рабоче-крестьянски задать? Без всяких функций и даже без регулярок, просто перечисли директории.

happycorsair
()
Ответ на: комментарий от happycorsair

авто дополнение, которое есть в виме по умолчанию, работает.

SmilePlz
() автор топика
Ответ на: комментарий от SmilePlz

что ты имеешь ввиду?

Я всего лишь сказал, что не очень хорошо владею VimScript, и не уверен в правильности всего этого:

filter(
\       split(glob('/usr/include/*/'), '\n') +
\       split(glob('/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.4/include/g++-v4/*'),'\n'),
\       'isdirectory(v:val)')
Предлагаю начать с более простого. Может он просто инклюды не понимает

happycorsair
()

У него в зависимостях clang и плагин vimproc.vim.

Судя по докам, еще vim-reunions.

И еще в доках писали про переменную для записи лога для дебага и команда для чтения этого лога. Попробуйте, может чего полезного запишет.

salsa
()

у меня работает, как с neocomplete, так и просто с твоей настройкой:

Plug 'osyo-manga/vim-marching'
imap <C-a> <Plug>(marching_start_omni_complete)

clang-3.6.0-r100, vim-7.4.797, быть может vim нужно собрать с cscope? у меня с ним, кто знает. vim-reunions не стоит.

slon
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.