¿Cuál es la forma correcta de instalar YouComplete usando vim-plug en vim / nvim?

17

La única documentación para instalar YCM parece ser para Vundle y soy bastante nuevo en vim-plug y plugins en general, así que no estoy seguro de qué tan bien se traduce en vim-plug.

canto de guerra
fuente
Neovim no lo instaló, vim-plug sí. ¡Donde lo dijiste!

Respuestas:

9

La versión 0.1 de neovim tiene cambios importantes. Utiliza el directorio ~/.config/nvim (en Mac OS X. Linux o Windows pueden usar rutas ligeramente diferentes).

Si desea que su configuración de neovim sea independiente de la configuración de vim, puede cambiar el nombre .nvimrca ~/.config/nvim/init.vim(Consulte los documentos aquí y aquí ).

Instale vim-plug en ~/.config/nvim/autoload/plug.vim
El árbol de directorios se ve así:

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

En Neovim cuando ejecuta :PlugInstall, vim-plug instalará sus complementos en la ruta que especificó en init.vim
Uso.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'

Si desea que neovim use la ubicación del complemento de vim, reemplace el directorio .config/nvimcon un enlace simbólico llamado .config/nvimque apunta a.vim

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

En .vim, agregue algo init.vimsimilar .vimrco agregue un enlace simbólico nombrado init.vimpara señalar.vimrc

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

En .vimrc

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

Si usa Homebrew para instalar neovim, al final de la instalación proporciona información útil sobre cómo configurar los enlaces simbólicos: https://github.com/neovim/homebrew-neovim

También muchas personas crean un repositorio git en un directorio llamado "dotfiles" o similar a los archivos de configuración de control de versiones como init.vimy .vimrc. En otros directorios, agregue enlaces simbólicos a sus archivos de puntos
(p. Ej., Se ~/.config/neovim/init.vimpodría vincular a ellos ~/dotfiles/init.vim)
Esto es útil cuando configura una nueva máquina.

Tu me completas

Como mencionó Grito de Guerra

pip install neovim

Para completar el lenguaje familiar C:

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

https://github.com/Valloric/YouCompleteMe

Corrí por install.pyseparado, no había visto un ingenioso método de una sola línea

Plug 'Valloric/YouCompleteMe', { 'do': './install.py' }
señal acústica
fuente
2

Logré instalarlo.

Lo que hice fue instalar Python para Neovim usando

pip install neovim

Lo siguiente que hice fue

:PlugInstall YouCompleteMe

desde neovim y comenzó a instalarse como lo hace normalmente (si tiene todas las dependencias habituales de YCM instaladas).

Mi .nvimrc todavía tenía la sección para YCM y supongo que vim-plug todavía los usa.

Editar: No entiendo por qué YCM se instala en la antigua carpeta de complementos de vim (/.vim) en lugar de en la carpeta de neovim (bueno, sí, porque lo especifiqué, pero ¿no debería instalar los complementos de neovim en su propia estructura de carpetas? pensé que sería lo suficientemente inteligente ...) ¿Es incluso una buena idea compartir jerarquías de carpetas como esa?

Esto es lo que tenía en mi .nvimrc

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

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

call plug#end()
canto de guerra
fuente
1

Está instalado en el .vim / dir, debido a

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

tratar:

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

En cambio, como se respondió anteriormente

Ben Whitaker
fuente