haelle.vimrc

Ansible vimrc

Un rol de Ansible para instalar NeoVim con algunos plugins.

Requiere tareas de la comunidad de Ansible:

ansible-galaxy collection install community.general

Dependencias

  • ⚠ Advertencia, esta instalación incluye NodeJS y npm desde el gestor de paquetes. ⚠
  • Instalar Fzf y Ag para buscar.

Objetivos

Soporte completo/sin problemas para estos lenguajes/sintaxis:

  • Ruby/RoR
  • HTML
  • Javascript
  • VueJS
  • React
  • Ansible
  • JSON
  • YAML
  • Markdown
  • C#

El objetivo es tener 0 comportamientos con errores.

Tema y Fuente

El tema actual es slate (desert, industry también son buenos); cámbialo con :colorscheme xxx, ve los disponibles con Tab.

La fuente actual es MesloLGS NF Regular (soporta emojis) configurada para Zsh.

Plugins

Instalar plugins: :PlugInstall (ya instalados por Ansible).

Ayuda: usa :help keycodes para mostrar los nombres de las teclas de vim.

Posibilidad de navegar con splits, pestañas y Tmux:

  • <C-w f> : abrir en split
  • <C-w gf> : abrir en pestaña
  • <C-⬅,⬆,⬇,➡> : navegación por paneles
  • <C-w-⬅,⬆,⬇,➡> : mover panel
  • gt : cambiar entre pestañas de vim
  • <C-b> : activar navegación Tmux.

Funcionalidades Activas

  • gd : ir a la definición
  • gi : ir a la implementación
  • gr : navegar por referencias
  • gf : ir al archivo (solo para Ruby/Rails)
  • gg=G : reformatear el código
  • F2 : renombrar variable / método / clase
  • <C-k> : mostrar definición del método
  • qf : ejecutar corrección del linter - no funciona bien...
  • fr : ejecutar formateador en la línea actual (no funciona en Solargraph/Ruby).
  • fa : ejecutar formateador en todo el archivo.
  • <C-o> : volver
  • <C-s> : guardar
  • <C-space> : activar el motor de autocompletado
  • <tab> : navegar por propuestas de completado
  • <C-c> : comentar/descomentar (línea o selección)
  • bufdo! : usar ! para no guardar los archivos (con esta configuración es obligatorio...)

Relativo a Ruby & Rails:

  • <C-q> : cambiar entre Ruby spec y archivo
  • <C-w>t/s/l/a ejecutar test/spec (archivo, más cercano, último, todos)

Otros:

  • suspender vim Ctrl+z y volver con fg.

Funcionalidades Automáticas / Pasivas

  • revisión ortográfica
  • resaltado de sintaxis
  • autolint en el margen y ventana flotante
  • usar 2 espacios para tabulaciones en todas partes
  • recordar posición del cursor entre sesiones
  • eliminar líneas en blanco al guardar
  • eliminar espacios en blanco
  • mostrar todos los caracteres invisibles
  • resaltar palabras clave 'TODO/FIXME/XXX'
  • mejor redimensionamiento de vim
  • agregar todo tipo de pares (), [] etiquetas...
  • agregar pares de Ruby (def/end, do/end)
  • agregar información de Git en el margen
  • agregar información del linter en el margen o con subrayado
  • mostrar definición del método cuando esté disponible (usar <C-a> y <C-b> para desplazarse hacia adelante y hacia atrás).

Búsqueda

Activa:

  • <C-f> : buscar en el archivo actual (vim básico)
  • <Shift-f> : buscar en todos los archivos (usando fzf.vim / ag)
    • Advertencia : es posible que debas desactivar la búsqueda de tu terminal para que funcione.
  • <Esc> : cancelar búsqueda (cancelar resaltado)
  • <C-p> : buscar archivo por nombre (usando fzf.vim)
    • Enter : abrir
    • <C-t> : abrir en nueva pestaña
    • <C-x> : abrir en split horizontal
    • <C-v> : abrir en split vertical

Pasiva:

  • resaltar resultados en DarkGreen
  • resaltar selección actual con cursor parpadeando.

Barra Lateral (NerdTree)

Activa

  • <C-n> : abrir/cerrar NerdTree
  • Enter : abrir archivo
  • i : abrir en split horizontal
  • s : abrir en split vertical
  • ... ver documentación de NerdTree.

Pasiva

  • íconos para archivos
  • símbolos basados en el estado de Git
  • ignorar algunas carpetas (node_modules, .gitignore).

Ruby - ver para creer

F4/F5/F6/F7 marcar/correr/marcar&correr/borrar marcas del código.

Conquista de la Compleción

Los plugins se instalarán al primer inicio.

Para Solargraph necesitas instalarlo para cada versión de Ruby con la que trabajes:

:InstallGems

Comandos útiles:

  • :CocInfo
  • :CocList commands
  • :checkhealth
  • :CocList extensions
  • :call CocAction('format')
  • :CocList marketplace python.

Ten en cuenta las extensiones disponibles:

  • javascriptreact
  • typescript
  • typescriptreact
  • typescript.tsx
  • graphql.

Variables del Rol

No hay parámetros obligatorios, todos los parámetros están en defaults/main.yml.

Ejemplo de Playbook

- hosts: localhost
  roles:
    - role: vimrc
      vim_user: foo

Uso en Desarrollo

Para ejecutarlo localmente, crea un enlace simbólico: cd /etc/ansible/roles & sudo ln -s /path/to/vimrc ..

Licencia

BSD.

Acerca del proyecto

vim installation & configuration

Instalar
ansible-galaxy install haelle.vimrc
Licencia
gpl-3.0
Descargas
97
Propietario
Product Owner RoR lover Former C#, PHP7, Python, SQL developper