Si ya has puesto las horas en vimtutor pronto estará buscando una función de autocompletar para usar en vim. Aquí es donde brilla CoC. CoC significa Conquer of Completion. Es un cliente de Language Server Protocol que se utiliza para el autocompletado específico del idioma. Con CoC, puede ser aún más rápido en vim. Pero primero necesitaremos instalar un administrador de complementos en vim. Entonces, comencemos y veamos cómo configurar CoC en vim.
Instalar un administrador de complementos en Vim
Para instalar complementos en vim, primero necesitará un administrador de complementos. Dado que instalar complementos manualmente es un trabajo muy tedioso y tendrá que copiar y pegar todos los archivos manualmente en directorios y subdirectorios muy específicos. Hay muchos administradores de complementos para vim como vim-plug, patógeno, vundle, etc. En este artículo, revisaremos la instalación de vim-plug. Si desea ver cómo instalar vundle, puede consultar este artículo.
Para instalar vim-plug necesitará visitar este link que es el repositorio oficial de github de vim-plug, y copie plug.vim en un directorio llamado autoload dentro de su carpeta de configuración de vim (que generalmente reside en la carpeta de inicio y se llama .vim). A continuación, deberá crear una estructura de directorios para que los complementos se instalen correctamente. La estructura del directorio se da a continuación:
.vim ├── autoload ├── backup ├── colors ├── plugged └── templates
Asegúrese de mantener su archivo plug.vim dentro del directorio de carga automática. Ahora, para instalar complementos, debe seguir un formato adecuado y realizar algunos cambios en su archivo .vimrc. Normalmente, el archivo .vimrc se encuentra en el directorio de inicio. Así que abra el archivo .vimrc con su editor favorito (digamos vim 😉) y vaya al final del archivo. Ahora escriba lo siguiente para instalar sus complementos favoritos:
call plug#begin('~/.vim/plugged') Plug 'preservim/nerdtree' Plug 'jiangmiao/auto-pairs' call plug#end()
Esto mantendrá todos los complementos dentro de la carpeta conectada que se encuentra en la carpeta .vim. Ahora guarde el archivo y salga de vim. A continuación, inicie vim y dé el siguiente comando:
:PlugInstall
Esto instalará los complementos que ha mencionado en el vimrc y se encargará de todo lo demás. Ahora, cuando recargas vim (eso es close y ábralo de nuevo), todos sus complementos estarán en funcionamiento. Tenga en cuenta que solo necesita mencionar el nombre de usuario de github y el nombre del repositorio para instalar un complemento, esto es muy útil. Para obtener información más detallada sobre vim-plug, puede consultar este artículo.
Instalar CoC en vim
Antes de instalar coco, deberá asegurarse de tener las dependencias necesarias en su sistema, a saber, vim 8 y superior y nodo versión 14.14 y superior. También necesitarás hilo para instalarlo en tu sistema. Para verificar si está instalado o no, dé el siguiente comando:
yarn --version
Y si no tiene yarn instalado en su sistema, puede dar el siguiente comando para instalar yarn globalmente:
npm install --global yarn
Ahora necesitamos instalar CoC en vim para eso, simplemente incluya la siguiente línea en su vimrc y dé el comando “: PlugInstall”
Plug 'neoclide/coc.nvim'
Ahora no usaremos solo coc.nvim, todavía necesitaremos algunos paquetes adicionales, así que para hacer eso, inserte lo siguiente en su vimrc, de lo contrario, puede omitir este paso:
Plug 'neoclide/coc.nvim' Plug 'rafi/awesome-vim-colorschemes' Plug 'ap/vim-css-color' Plug 'SirVer/ultisnips' Plug 'honza/vim-snippets' Plug 'preservim/nerdtree' Plug 'jiangmiao/auto-pairs' Plug 'tpope/vim-unimpaired'
Ahora, si ejecuta el comando PlugInstall, aparecerá un error que le indicará que necesita ejecutar yarn install dentro del directorio coc.nvim. Después de que esto termine, puede continuar y hacer eso.
Ahora, para que coc funcione, hay una serie de configuraciones, discutir todas estas configuraciones está más allá del alcance de este artículo, sin embargo, mi .vimrc preferido se proporciona a continuación, ¡siéntase libre de usarlo!
"CoC Settings " Use tab for trigger completion with characters ahead and navigate. " NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by " other plugin before putting this into your config. inoremap <silent><expr> <TAB> pumvisible() ? "<C-n>" : <SID>check_back_space() ? "<TAB>" : coc#refresh() inoremap <expr><S-TAB> pumvisible() ? "<C-p>" : "<C-h>" function! s:check_back_space() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# 's' endfunction " Make <CR> to accept selected completion item or notify coc.nvim to format " <C-g>u breaks current undo, please make your own choice. inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() : "<C-g>u<CR><c-r>=coc#on_enter()<CR>" "Ultisnips Settings let g:UltiSnipsExpandTrigger="<tab>" let g:UltiSnipsJumpForwardTrigger="<c-b>" let g:UltiSnipsJumpBackwardTrigger="<c-z>" " If you want :UltiSnipsEdit to split your window. let g:UltiSnipsEditSplit="vertical" "coc-snippets Settings "inoremap <silent><expr> <TAB> " coc#pum#visible() ? coc#_select_confirm() : " coc#expandableOrJumpable() ? "<C-r>=coc#rpc#request('doKeymap', ['snippets-expand-jump',''])<CR>" : " CheckBackspace() ? "<TAB>" : " coc#refresh() " "function! CheckBackspace() abort " let col = col('.') - 1 " return !col || getline('.')[col - 1] =~# 's' "endfunction " "let g:coc_snippet_next="<tab>"
Ahora que coc está instalado, puede continuar e instalar algunos complementos específicos para que coc funcione. Aquí es donde instala todos los complementos específicos del idioma dentro de coc. Para instalar cualquier complemento, se le pedirá que ejecute el siguiente comando en vim:
:CocInstall <package-name>
Recomiendo los siguientes paquetes para el desarrollo front-end y el uso de vim-snippets y ultisnips de acuerdo con coc. ¡Con este método, incluso puede personalizar sus fragmentos!
:CocInstall coc-tsserver coc-eslint coc-json coc-prettier coc-css coc-html coc-snippets
El resultado de estos ajustes discutidos en este artículo se puede ver en la siguiente imagen.
Conclusión
¡Así que ahí van lectores! Ahora puede configurar fácilmente el autocompletado para vim y finalmente deshacerse de los IDE inflados. Es broma, puedes elegir el software que mejor te parezca. Si está buscando más configuraciones del complemento CoC, puede consultar este enlace. ¡Y como siempre, gracias por leer!