Как правильно установить YouComplete, используя vim-plug в vim / nvim?

17

Единственная документация по установке YCM, по-видимому, относится к Vundle, и я довольно новичок в vim-plug и плагинах в целом, поэтому я не уверен, насколько хорошо он переводится в vim-plug.

всухую
источник
Неовим не установил, vim-plug сделал. Где ты это сказал!

Ответы:

9

Неовим версия 0.1 имеет серьезные изменения. Он использует каталог ~/.config/nvim (в Mac OS X. Linux или Windows могут использовать несколько разные пути.)

Если вы хотите, чтобы ваша конфигурация neovim была независимой от конфигурации vim, вы можете переименовать .nvimrcее ~/.config/nvim/init.vim(см. Документацию здесь и здесь ).

Установите vim-plug to ~/.config/nvim/autoload/plug.vim
Дерево каталогов выглядит так:

.config
├── nvim
    ├── autoload
    │   └── plug.vim
    ├── init.vim
    └── plugged
        ├── YouCompleteMe
        ├── ctrlp.vim

В neovim при запуске :PlugInstallvim-plug установит ваши плагины по пути, указанному вами в init.vim
Use.config/nvim/plugged

" for vim
" call plug#begin('~/.vim/plugged')
" for neovim
call plug#begin('~/.config/nvim/plugged')
" Keep Plug commands between plug#begin/end.
Plug 'https://github.com/Valloric/YouCompleteMe'

Если вы хотите, чтобы neovim использовал расположение плагина vim, замените каталог .config/nvimсимволической ссылкой, .config/nvimкоторая указывает на.vim

ln -s ~/.vim ~/.config/nvim

В .vim либо добавьте init.vimаналог .vimrc, либо добавьте символическую ссылку с именем, init.vimчтобы указать на.vimrc

ln -s ~/.vimrc ~/.vim/init.vim

В .vimrc

call plug#begin('~/.vim/plugged')

Если вы используете Homebrew для установки neovim, в конце установки он предоставляет полезную информацию о настройке символических ссылок: https://github.com/neovim/homebrew-neovim

Также многие люди создают git-репо в каталоге с именем "dotfiles" или аналогично файлам конфигурации контроля версий, таким как init.vimи .vimrc. В других каталогах добавьте символические ссылки к вашим точечным файлам
(например, ~/.config/neovim/init.vimможно ссылаться на них ~/dotfiles/init.vim).
Это удобно при настройке новой машины.

Ты дополняешь меня

Как упоминается Песня Войны

pip install neovim

Для завершения языка семьи C:

cd ~/.config/nvim/plugged/YouCompleteMe
./install.py

https://github.com/Valloric/YouCompleteMe

Я бегал install.pyотдельно, не видел изящного однострочного метода

Plug 'Valloric/YouCompleteMe', { 'do': './install.py' }
beepscore
источник
2

Мне удалось установить его.

Что я сделал, так это установил Python для Neovim, используя

pip install neovim

Следующее, что я сделал, было

:PlugInstall YouCompleteMe

изнутри neovim, и он начал установку как обычно (если у вас установлены все обычные зависимости YCM).

В моем .nvimrc все еще был раздел для YCM, и я думаю, что vim-plug все еще использует его.

Редактировать: я не понимаю, почему YCM устанавливается в старую папку плагинов vim (/.vim) вместо папки neovim (ну, я так и делаю, потому что я ее указал, но не должен ли neovim устанавливать плагины в свою структуру папок? I думал, что это будет достаточно умно ..) Это даже хорошая идея, чтобы поделиться иерархией папок, как это?

Это то, что у меня было в моем .nvimrc

call plug#begin('~/.vim/plugged')

" Make sure you use single quotes
Plug 'Valloric/YouCompleteMe', { 'do': './install.py' }

call plug#end()
всухую
источник
1

Он установлен в .vim / dir, потому что

call plug#begin('~/.vim/plugged')

пытаться:

call plug#begin('~/.config/nvim/plugged')

Вместо этого, как ответили выше

Бен Уитакер
источник