SpaceVim es una distribución del popular y conocido editor Vim que está inspirado en spacemacs. Este se encarga de administra y organizar las colecciones de complementos en capas, que ayudan a recopilar paquetes relacionados para proporcionar características inherentes a los entornos de desarrollo integrado adaptados para el desarrollo de diferentes idiomas.
Los complementos se agrupan en colecciones con la implementación de ciertas características. Por Por ejemplo, la capa python recopila deoplete.nvim, neomake y jedi-vim para proporcionar autocompletado, comprobación de sintaxis y búsqueda de documentación.
Este enfoque ayuda a mantener la configuración organizada y reduce los gastos generales para el usuario al evitar que tengan que pensar qué paquetes instalar.
Por lo tanto, el usuario solo necesita seleccionar la funcionalidad necesaria sin la necesidad de una selección separada de complementos.
Entre sus principales características se pueden destacar:
- Centrado en neovim
- Configuracion modular
- Carga del 90% de los complementos con [dein.vim]
- Robusto, pero ligero
- Unir flujo de trabajo centrado
- Ui impresionante
- Modo específico de idioma
- Extensa configuración de Neocomplete
- Ubicación central para las etiquetas
- Ligero estado simple / tabline
- Combinaciones de colores
En SpaceVim existen módulos de desarrollo relacionados, cada módulo proporciona la finalización del código, la comprobación de sintaxis, el formateo, la depuración y el REPL.
Cabe destacar que no hay que confundir entre SpaceVim y Neovim, ya que algunos piensan que son proyectos iguales o similares.
Neovim es más que una reescritura de vim. Su funcionalidad principal es proporcionar un servidor que permita a otros editores editar un búfer en respuesta a las pulsaciones de teclas.
Mientras que SpaceVim es solo una configuración de vim. Los usuarios tampoco están seguros del rendimiento de SapceVim y lo están comparando con Spacemacs, un marco de configuración para GNU Emacs.
Sobre la nueva versión de SpaceVim 1.1
Después de un lapso de 4 meses de desarrollo, hace poco se presentó una nueva versión del proyecto SpaceVim 1.1.
La nueva versión agrega soporte para ventanas emergentes (por ejemplo, para mostrar documentación y resultados de búsqueda a través de flygrep).
Además de ello se implementó el menú para el complemento de búsqueda fzf y un conjunto para desarrolladores en el lenguaje Rust.
Por otro lado, también podemos destacar que se agregó el enlace sobre el comando «git log” y el administrador de archivos defx al proyecto.
Las nuevas características de esta versión incluyen:
- Agregar una ventana flotante permite encontrar coincidencias.
- La versión de Windows agrega soporte defx y Disk Explorer, y la clave predeterminada se enlaza con SPC fd:
- Mejore el modo iedit, agregue los comandos iedit-normal s y x, y agregue los comandos iedit-insert Ctrl-e, Ctrl-a, Ctrl-b y Ctrl-f.
- El módulo fzf mejorado y se añadió el soporte para el menú fzf.
Instalación
La instalación de SpaceVim es bastante sencilla. Para quienes estén interesados en poder realizar la debe abrir una terminal y en ella vamos a teclear el siguiente comando:
curl -sLf https://spacevim.org/install.sh | bash
Instalación en Docker
Tambien existe otro método de instalación para SpaceVim y es con ayuda de docker, por lo que SpaceVim puede correr dentro de un contenedor.
Para ello solo tienen que contar con el soporte de Docker instalado y en una terminal vamos a ejecutar los siguientes comandos:
docker pull spacevim/spacevim
docker run -it --rm spacevim/spacevim nvim
docker run -it -v ~/.SpaceVim.d:/home/spacevim/.SpaceVim.d --rm spacevim/spacevim nvim
Después de instalar SpaceVim, vamos a iniciar vim y SpaceVim instalará los complementos automáticamente. Luego de haber realizado la instalación, la estructura de SpaceVim se compone de la siguiente forma:
- config / – Configuración
- plugins / – Configuraciones de los plugins
- mappings.vim – mapeos clave
- autocmds.vim – grupo autocmd
- general.vim – General configuration
- init.vim – runtimepathinicialización
- neovim.vim – Configuración específica de Neovim
- plugins.vim – paquetes de plugins
- command.vim – Comandos
- functions.vim – Funciones
- main.vim – Configuración principal
- ftplugin / – Configuración personalizada específica del idioma
- Fragmentos de código / – Fragmentos de código
- filetype.vim – Detección personalizada de tipo de archivo
- init.vim – Fuentesconfig/main.vim
- vimrc – Fuentesconfig/main.vim
Para más información sobre SpaceVim así como el poder editar el archivo de configuración de SpaceVim pueden visitar su sitio web oficial. El enlace es este.