tenfyzhong / CompleteParameter.vim

Complete parameter after select the completion. Integration with YouCompleteMe(ycm), deoplete, neocomplete.
MIT License
261 stars 27 forks source link

Plug doesn't work #37

Closed nlpjoe closed 6 years ago

nlpjoe commented 6 years ago

I use https://github.com/wklken/k-vim

and it doesn't work that install Plug 'tenfyzhong/CompleteParameter.vim' using PlugInstall.

What can I do?

wklken commented 6 years ago

https://github.com/wklken/k-vim/issues/345

nlpjoe commented 6 years ago

@wklken I do as you said, but it still doesn't work:

  6 if count(g:bundle_groups, 'python')
  5     " for python.vim syntax highlight
  4     " pythonsyntax
  3     Plug 'hdima/python-syntax'
  2     Plug 'hynek/vim-python-pep8-indent'
  1     Plug 'Glench/Vim-Jinja2-Syntax'
196
  1     " isort  https://github.com/timothycrosley/isort#readme + https://github.com/fisadev/vim-isort#installation
  2     " pip install isort
  3     Plug 'fisadev/vim-isort'
  4     " Shift-V 上下选中, ctrl + i 规范化
  5     let g:vim_isort_map = '<C-i>'
  6
  7     Plug 'tenfyzhong/CompleteParameter.vim'
  8     inoremap <silent><expr> ( complete_parameter#pre_complete("()")
  9     smap <c-j> <Plug>(complete_parameter#goto_next_parameter)
 10     imap <c-j> <Plug>(complete_parameter#goto_next_parameter)
 11     smap <c-k> <Plug>(complete_parameter#goto_previous_parameter)
 12     imap <c-k> <Plug>(complete_parameter#goto_previous_parameter)
 13 endif
tenfyzhong commented 6 years ago

Please check your plug list.

nlpjoe commented 6 years ago

@tenfyzhong How can I check it? I didn't find auto-pairs, here are my plugs:

- vim-textobj-line: OK                                                    |~
 11 - vim-snippets: OK                                                        |~
 10 - vim-colors-solarized: OK                                                |~
  9 - Vim-Jinja2-Syntax: OK                                                   |~
  8 - rainbow_parentheses.vim: OK                                             |~
  7 - syntastic: OK                                                           |~
  6 - ctrlp-funky: OK                                                         |~
  5 - ctrlp.vim: OK                                                           |~
  4 - tagbar: OK                                                              |~
  3 - vim-easy-align: OK                                                      |~
  2 - ctrlsf.vim: OK                                                          |~
  1 - vim-markdown: OK (not loaded)                                           |~
16  - YouCompleteMe: OK                                                       |~                                                                              1 - vim-textobj-indent: OK                                                  |~
  2 - vim-repeat: OK                                                          |~
  3 - matchit.zip: OK                                                         |~
  4 - yajs.vim: OK                                                            |~
  5 - vim-airline-themes: OK                                                  |~
  6 - vim-nerdtree-tabs: OK                                                   |~
  7 - CompleteParameter.vim: OK                                               |~
  8 - vim-airline: OK                                                         |~
  9 - delimitMate: OK                                                         |~
 10 - vim-expand-region: OK                                                   |~
 11 - vim-python-pep8-indent: OK                                              |~
 12 - vim-isort: OK                                                           |~
 13 - vim-textobj-user: OK                                                    |~
 14 - vim-quickrun: OK                                                        |~
 15 - vim-ctrlspace: OK
 18 - nerdtree: OK                                                            |~
 17 - gundo.vim: OK                                                           |~
 16 - javascript-libraries-syntax.vim: OK                                     |~
 15 - vim-fugitive: OK                                                        |~
 14 - closetag.vim: OK (not loaded)                                           |~                                                                             13 - vim-indent-guides: OK                                                   |~
 12 - molokai: OK                                                             |~
 11 - vim-gitgutter: OK                                                       |~
 10 - vim-easymotion: OK                                                      |~
  9 - ultisnips: OK                                                           |~
  8 - python-syntax: OK                                                       |~
  7 - vim-tmux-navigator: OK                                                  |~
  6 - quick-scope: OK                                                         |~
  5 - vim-textobj-entire: OK                                                  |~
  4 - vim-surround: OK                                                        |~
  3 - vim-multiple-cursors: OK                                                |~
  2 - vim-trailing-whitespace: OK                                             |~
  1 - vim-javascript: OK                                                      |~
50  - vim-signature: OK                                                       |~
  1 - nerdcommenter: OK
tenfyzhong commented 6 years ago

Check the imap ( output.

nlpjoe commented 6 years ago

sorry I don't know what's your exactly mean, is that so?

$ cat ~/.vimrc.bundles | grep 'imap'
    imap <c-j> <Plug>(complete_parameter#goto_next_parameter)
    imap <c-k> <Plug>(complete_parameter#goto_previous_parameter)
 $ cat ~/.vimrc | grep 'imap'
tenfyzhong commented 6 years ago

Run :imap ( in vim

nlpjoe commented 6 years ago
i  <S-Tab>      @<Plug>delimitMateS-Tab
i  <S-BS>       @<Plug>delimitMateS-BS
i  <Plug>delimitMateJumpMany *@<SNR>36_TriggerAbb()."\<C-R>=delimitMate#JumpMany()\<CR>"
i  <C-G>g       @<Plug>delimitMateJumpMany
i  "            @<Plug>delimitMate"
i  '            @<Plug>delimitMate'
i  (            @<Plug>delimitMate(
i  )            @<Plug>delimitMate)
i  [            @<Plug>delimitMate[
i  ]            @<Plug>delimitMate]
i  `            @<Plug>delimitMate`
i  {            @<Plug>delimitMate{
i  }            @<Plug>delimitMate}
i  <BS>        * <SNR>155_OnDeleteChar( "\<BS>" )
i  <C-Space>   * <C-R>=<SNR>155_InvokeSemanticCompletion()<CR>
i  <Nul>         <C-Space>
i  <Plug>ISurround * <C-R>=<SNR>39_insert(1)<CR>
i  <Plug>Isurround * <C-R>=<SNR>39_insert()<CR>
i  <Plug>NERDCommenterInsert * <Space><BS><Esc>:call NERDComment('i', "insert")<CR>
i  <Plug>delimitMateS-Tab * <SNR>36_TriggerAbb()."\<C-R>=delimitMate#JumpAny()\<CR>"
i  <Plug>delimitMateSpace * <SNR>36_TriggerAbb()."\<C-R>=delimitMate#ExpandSpace()\<CR>"
i  <Plug>delimitMateCR * <SNR>36_TriggerAbb()."\<C-R>=delimitMate#ExpandReturn()\<CR>"
i  <Plug>delimitMateS-BS * delimitMate#WithinEmptyPair() ? "\<Del>" : "\<S-BS>"
i  <Plug>delimitMateBS * <C-R>=delimitMate#BS()<CR>
i  <Plug>delimitMate` * <SNR>36_TriggerAbb()."<C-R>=delimitMate#QuoteDelim(\"\\\`\")<CR>"
i  <Plug>delimitMate' * <SNR>36_TriggerAbb()."<C-R>=delimitMate#QuoteDelim(\"\\\'\")<CR>"
i  <Plug>delimitMate" * <SNR>36_TriggerAbb()."<C-R>=delimitMate#QuoteDelim(\"\\\"\")<CR>"
i  <Plug>delimitMate] * <SNR>36_TriggerAbb().delimitMate#JumpOut("\]")
i  <Plug>delimitMate} * <SNR>36_TriggerAbb().delimitMate#JumpOut("\}")
i  <Plug>delimitMate) * <SNR>36_TriggerAbb().delimitMate#JumpOut("\)")
i  <Plug>delimitMate[ * <SNR>36_TriggerAbb().delimitMate#ParenDelim("]")
i  <Plug>delimitMate{ * <SNR>36_TriggerAbb().delimitMate#ParenDelim("}")
i  <Plug>delimitMate( * <SNR>36_TriggerAbb().delimitMate#ParenDelim(")")
i  <C-Tab>     * <C-R>=UltiSnips#ListSnippets()<CR>
i  <PageUp>    * pumvisible() ? "\<PageUp>\<C-P>\<C-N>" : "\<PageUp>"
i  <PageDown>  * pumvisible() ? "\<PageDown>\<C-P>\<C-N>" : "\<PageDown>"
i  <Up>        * pumvisible() ? "\<C-P>" : "\<Up>"
i  <Down>      * pumvisible() ? "\<C-N>" : "\<Down>"
i  <C-G>S        <Plug>ISurround
i  <C-G>s        <Plug>Isurround
i  <C-H>       * <SNR>155_OnDeleteChar( "\<C-H>" )
i  <Tab>       * <C-R>=UltiSnips#ExpandSnippetOrJump()<CR>
i  <NL>        * <C-R>=g:JInYCM()<CR>
i  <C-K>       * <C-R>=g:KInYCM()<CR>
i  <CR>        * <SNR>155_StopCompletion( "\<CR>" )
i  <C-S>         <Plug>Isurround
i  <C-T>       * <Esc>:tabnew<CR>
i  <Esc>[200~  * XTermPasteBegin()
i  #           * X<C-H>#
i  kj          * <Esc>
nlpjoe commented 6 years ago

below is :imap (

i  (           * complete_parameter#pre_complete("()")
tenfyzhong commented 6 years ago

replace inoremap <silent><expr> ( complete_parameter#pre_complete("()") to this config

imap <expr>(
            \ pumvisible() ?
            \ complete_parameter#pre_complete("()") :
            \ "\<Plug>delimitMate("
nlpjoe commented 6 years ago

Is this your mean?

19 if count(g:bundle_groups, 'python')
 18     " for python.vim syntax highlight
 17     " pythonsyntax
 16     Plug 'hdima/python-syntax'
 15     Plug 'hynek/vim-python-pep8-indent'
 14     Plug 'Glench/Vim-Jinja2-Syntax'
 13     Plug 'tenfyzhong/CompleteParameter.vim'
 12     " inoremap <silent><expr> ( complete_parameter#pre_complete("()")
 11     imap <expr>(
 10                 \ pumvisible() ?
  9                 \ complete_parameter#pre_complete("()") :
  8                 \ "\<Plug>delimitMate("")")
  7     smap <c-j> <Plug>(complete_parameter#goto_next_parameter)
  6     imap <c-j> <Plug>(complete_parameter#goto_next_parameter)
  5     smap <c-k> <Plug>(complete_parameter#goto_previous_parameter)
  4     imap <c-k> <Plug>(complete_parameter#goto_previous_parameter)
  3
  2     " isort  https://github.com/timothycrosley/isort#readme + https://github.com/fisadev/vim-isort#installation
  1     " pip install isort
209     Plug 'fisadev/vim-isort'
  1     " Shift-V 上下选中, ctrl + i 规范化
  2     let g:vim_isort_map = '<C-i>'
  3
  4 endif

now the output of :imap ( is

i  (             pumvisible() ? complete_parameter#pre_complete("()") : "\<Plug>delimitMate("")")

But it still doesn't work

tenfyzhong commented 6 years ago

which version of ycm you are using?

nlpjoe commented 6 years ago

sorry I don't know how to check ycm's version even read a relevant question:

https://superuser.com/questions/399775/how-to-get-version-for-a-plugin-inside-vim

nlpjoe commented 6 years ago

I used PlugUpdate and compiled YCM again, but it still doesn't work, can the plugin achieve the below effect? image

tenfyzhong commented 6 years ago

There are not float window in vim.

Please add the follow line to you vimrc:

let g:complete_parameter_log_level=0

And then, use open function to test the completion. And then, show me the log.

nlpjoe commented 6 years ago

@tenfyzhong 我突然发现我的YCM的跳转不能正常工作,但是可以补全,这会影响你这个插件吗?:

E15: Invalid expression: , -1, 4, 4, "GoToDeclaration") E116: Invalid arguments for function 171_CompleterCommand

nlpjoe commented 6 years ago

open result:

".vimrc" 688L, 18651C
nlpjoe commented 6 years ago
  1. I reinstall k-vim again so the version of YCM is newest.
  2. I upgrade version of vim from 7.4 to 8.1 solved YCM GOTO problem and YCM work well now.
  3. I install the plug under the instruction, but it still doesn't work

how can I check it? @wklken @tenfyzhong

nlpjoe commented 6 years ago

I hope it can display the argument of function, is this the plug's final effect? image

nlpjoe commented 6 years ago

image

Is this work? it can complete something after I press ( but don't display argument like YCM?

tenfyzhong commented 6 years ago

The argument was echo in the command line.