Veamos cómo poder dividir la pantalla del editor Vim a partir de una selección visual en el texto que estamos editando
Veamos cómo utilizar un complemento para el editor Vim que lo que hará será crear una división (o split) horizontal en nuestra a partir de una selección que hagamos en el texto.
Este artículo es una nueva entrega del curso “improVIMsado” que desde hace meses vengo publicando en mi blog sobre el editor Vim y que puedes seguir en estos enlaces:
- https://victorhckinthefreeworld.com/tag/vim/
- https://victorhck.gitlab.io/comandos_vim/articulos.html
Quizás mientras estás usando el editor Vim, te has encontrado que tienes que volver a una parte de tu texto para volver a consultar algo.
Ya sabemos que podemos dividir la pantalla o el buffer en dos mediante una división vertical u horizontal. Y tener una parte fija, mientras la otra la vamos editando, etc.
El plugin o complemento visual-split desarrollado por Christian Wellenbrock hace es esa tarea sencilla. Ya que es capaz de hacer una división horizontal a partir de una selección visual de unas líneas, y además esa división ajustará su tamaño al número se líneas seleccionado.
Lo primero que haremos será descargar el complemente y ubicarlo en la carpeta .vim/plugin de nuestro /home
wget https://raw.githubusercontent.com/wellle/visual-split.vim/master/plugin/visual-split.vim
Ahora abrimos un texto con el editor Vim y seleccionamos unas cuantas líneas en el modo visual. Ahora ejecutamos el comando :VSSplit
Y nos abrirá una división del buffer en la que se mostrarán las líneas seleccionadas. Si ya tienes divisiones hechas en tu buffer y quieres redimensionarlas, selecciona las líneas que quieres que se muestren y ejecuta :VSResize
El complemento también trae configurados unos atajos de teclado. Por ejemplo c+w+gss para :VSSplit y c+w+gr para :VSResize
Además de muchas otras funcionalidades que puedes encontrar explicadas en su repositorio de GitHub. No está nada mal para un complemento escrito en una tarde por una necesidad personal del autor.
vimscript power!