-- Leo's gemini proxy

-- Connecting to gemini.astropirados.space:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

    ____                 __     ____       __                __
   / __ \___  ________  / /_   / __ \___  / /_  ____  ____  / /_
  / /_/ / _ \/ ___/ _ \/ __/  / /_/ / _ \/ __ \/ __ \/ __ \/ __/
 / _, _/  __(__  )  __/ /_   / _, _/  __/ /_/ / /_/ / /_/ / /_
/_/ |_|\___/____/\___/\__/  /_/ |_|\___/_.___/\____/\____/\__/

Poniendo a dieta a mi Vim


Hace algunos años que di un paso en mi forma de programar; decidí aprender a usar Vim. Pasar de usarlo de vez en cuando para editar algún fichero a convertirlo en mi editor principal para todo, incluido mi trabajo.


Con el tiempo, tras superar cierto punto de la curva de aprendizaje y añadir unos cuantos plugins, tuve una buena configuración, que a más de uno sorprendía cuando veía mi ventana. Parecía un IDE completamente.


También, con el tiempo, empecé a descubrir que estaba cometiendo un grave error en mi manera de usar Vim; en concreto, me estaba quitando mucho espacio para trabajar con lo principal, el texto de mi código y los plugins comenzaban a tener problemas de compatibilidad.


Me puse a investigar en cómo reducir tanto todo el espacio sin usar en mi pantalla y cómo reducir el uso de plugins que tenía en uso, y vaya cambio.


Plugins? A donde vamos no necesitamos plugins


La primera fase de la reducción de "peso" de mi Vim fue el de dejar de usar plugins para los que ya tengo algo que sirve en Vim ya disponible.


El primero en caer fue la famosa Airline, que te muestra información muy util, y con mucho arte, en la barra de estado. Pero es que, al margen de caracteres específicos que necesitas parches para tener (lo cual de por si ya es un engorro) ese aspecto, por lo demás, ajustando la

variable statusline puedes obtener lo mismo sin mayor complicación. Sin flechitas bonitas, pero igualmente práctica. Os dejo mi configuración actual para que la probéis si os apetece.


> " Wrap fugitive statusline function to remove the pesky Git and

> " parenthesis off it

> function! MyGitBranch()

> let branch = FugitiveStatusline()

> let branch = substitute(branch, "Git(", "", "g")

> return substitute(branch, ")", "", "g")

> endfunction

>

> function! PasteForStatusline()

> let paste_status = &paste

> if paste_status == 1

> return "[PASTE]"

> else

> return ""

> endif

> endfunction

>

> function! GetCurrentMode()

> let g:currentmode={

> \ 'n' : '',

> \ 'v' : '[VISUAL]',

> \ 'V' : '[V·Line]',

> \ "\<C-V>" : '[V·Block]',

> \ 'i' : '[INSERT]',

> \ 'R' : '[REPLACE]',

> \ 'Rv' : '[V·Replace]',

> \ 'c' : '[Command]',

> \}

>

> let modekey = mode()

>

> if has_key(g:currentmode, modekey)

> return toupper(g:currentmode[modekey])

> else

> return ""

> endif

> endfunction

>

> " Nice statusline

> set statusline=%#TabLine# " Escoge un color

> set statusline+=%{GetCurrentMode()}\%{PasteForStatusline()} " Modo actual

> set statusline+=%f " Fichero actual abierto

> set statusline+=%m " Flag de modificado

> set statusline+=%r " Muestra si el archivo es sólo lectura

> set statusline+=%h " Muestra is el buffer es de ayuda

> set statusline+=%w " Muestra si es ventana de preview

> set statusline+=[%L] " Total de líneas

> set statusline+=%y " Tipo de fichero actual

> set statusline+=%#VertSplit# " Seleccionamos un color

> set statusline+=%= " Alineamos a la derecha

> set statusline+=%#Constant#

> set statusline+=%{MyGitBranch()} " Rama actual de Git

> set statusline+=%#Function# " Cambiamos color

> set statusline+=[%p%%] " Porcentaje en el que estamos del buffer

> set statusline+=[%03l,%02v] " Línea actual y columna actual del cursor


Si no usáis las funciones, las podéis quitar sin problemas de la statusline y hacer vuestra configuración más sencilla si queréis.


Otro de los plugins que también fue eliminado fue NERDTree, que si, que es muy intuitivo, pero Vim ya tiene su Explore y la verdad, es que no cuesta nada hacerse con él y permite algunos trucos como conectar por SSH a otro dispositivo para editar desde ahí.


Estoy también considerando probar a quitarme YouCompleteMe, ya que cada vez que se actualiza hay que ir andando con compilaciones y ya alguna vez me ha dado dolores de cabeza, pero sigo aún muy enganchado para quitármelo por ahora.


Poniendo lo importante delante


Otra de las cosas que me di cuenta al ponerme a hacer dieta a mi Vim, fue el tema de que siempre tenía, como en todos los IDEs que se han inventado desde hace mucho, mi arbol de ficheros y mi explorador de tags abierto. Cada vez que necesitaba editar más de un fichero a la vez, el espacio se volvía ridículamente chico, mientras tenía dos ventanas que no estaban siendo útiles para nada.


Es por eso que abandoné el comando personalizado que tenía para abrir estas dos ventanas siempre. Ahora, con accesos rápidos con la tecla <Leader> abro y cierro el explorador de ficheros y de tags según los necesito, es más, teniendo CtrlP, muchas veces no necesito ni el explorador, así que ahora, cada vez que abro Vim, tengo todo el espacio para mi código, y según vaya necesitando, abro estas ventanas extras y las cierro rápidamente con el mismo atajo de teclado. Ahora, partir ventanas es mucho más liviano.


Y eso es todo por hoy, ¡hasta la próxima!


Atrás 🔙

-- Response ended

-- Page fetched on Thu May 2 10:16:32 2024