Curso de Vim: Mostrar los números de línea en el editor #Vim

El editor Vim no muestra de manera predeterminada los números de línea de un archivo. Veamos cómo activarlos y alguna cosa más

Lo cierto es que Vim podía ser un poco más «amigable» de manera predeterminada. Una cosa que se echa en falta nada más comenzar (entre otras cosas) es que no se muestran los números de línea de un archivo.

Activarlos es una cosa bien sencilla como veremos. Pero además aprenderemos alguna cosa más sobre esta práctica información que nos ofrece Vim y otras formas alternativas de mostrar los números de línea en Vim.

Este artículo viene a formar parte de la serie de tutoriales sobre Vim que desde hace meses vengo escribiendo en mi blog y que puedes encontrar reunidos en estos enlaces:

Para que el editor Vim muestre los números de líneas de un archivo, hay que configurarlo, ya que de manera predeterminada no viene activado. Pero Vim tiene varias opciones para esta funcionalidad.

Hay varias formas de mostrar los números de línea de un archivo. En concreto 3 maneras: de manera absoluta, de manera relativa o de manera híbrida.

Mostrar los números de línea en Vim de manera absoluta

Esta es la forma más sencilla y más lógica de mostrar los números de línea. Estos se muestran en la parte izquierda en una columna de tamaño configurable y de manera secuencial en invariable.

Para mostrar los números de línea se puede ejecutar cualquiera de los siguientes comandos:

:set number
:set nu

Si queremos desactivarlos, podremos ejecutar cualquiera de los siguientes comandos:

:set nonumber
:set nonu

Si queremos alternar entre un modo un otro podemos ejecutar cualquiera de los siguientes comandos:

:set number!
:set nu!

Siempre puedes saltar a una línea en concreto. Por ejemplo, para saltar a la línea 42 de nuestro documento, estando en modo normal ejecutamos el comando:

:42

Mostrar los números de línea en Vim de manera relativa

Con esta opción cada número de línea es numerado no empezando en el comienzo del texto de manera inmutable, si no empezando desde la posición del cursor, que será marcada como la posición 0.

Y claro como este cambia de posición al movernos por el documento, también esos números relativos cambiarán.

Si queremos activar esta opción podremos hacerlo ejecutando cualquiera de los siguientes comandos:

:set relativenumber:set rnu

Si queremos desactivar esta manera de mostrar los números de línea podremos hacerlo con cualquiera de estos dos comandos:

:set norelativenumber:set nornu

Si queremos alternar entre una y otra opción podremos hacerlo mediante cualquiera de estos comandos:

:set relativenumber!:set rnu!

Si queremos saltar 10 líneas hacia arriba desde la posición del cursor, podremos hacerlo con el comando:

10k

Mostrar los números de línea en Vim de manera «híbrida»

Desde la versión 7.4 de Vim, al activar las dos opciones de «number» y «relativenumber» produce un modo de numeración de líneas híbrido.

Lo que hace es mostrar todas los números de líneas de manera relativa, a excepción de la línea en donde se encuentra el cursor, que mostrará el número de línea absoluto, en vez del número 0 que mostraba en el modo relativo.

Para activar este modo de numeración de línea podemos hacerlo con cualquiera de estos comandos:

:set number relativenumber
:set nu rnu

Lo mejor de todas las opciones

Mi opción preferida es mostrar los números de línea absolutos del archivo. Por ahora me parece la opción más cómoda para trabajar, pero por supuesto cada cual puede escoger su opción.

Hay quien prefiere que en el modo Insertar o cuando la buffer no tenga el foco del programa, se muestren los números de línea absolutos y al volver al modo normal o el foco al buffer, se muestren en modo relativo.

Hay complementos para Vim para hacer eso, pero voy a incluir aquí una pequeña configuración que puedes probar en tu archivo .vimrc para ver si te convence:

:set number relativenumber

:augroup numbertoggle
:  autocmd!
:  autocmd BufEnter,FocusGained,InsertLeave * set relativenumber
:  autocmd BufLeave,FocusLost,InsertEnter   * set norelativenumber
:augroup END

En el ejemplo se muestran los números de línea en modo híbrido. Al entrar en el modo Insertar solo se muestran los números de línea absolutos.

También se muestran si el buffer de Vim pierde el foco (si tenemos una visualización dividida, o nos movemos a otra ventana). Volviendo a activarse al volver al buffer el foco del programa.

Concluyendo

En la parte inferior derecha de Vim, también se nos muestra la línea del cursor en lo que se llama ruler. Para activarla podemos ejecutar el comando:

:set ruler

Antes he comentado que el ancho de la columna donde se muestra los números de línea es configurable. Se puede establecer el ancho mediante cualquiera de los comandos:

:set numberwidth=4:set nuw=4

Donde 4 es el número de ancho que queremos configurar y podemos poner el que queramos.

Todos estos comandos que hemos probado y ejecutado son solo efectivos en nuestra ventana actual de Vim, una vez que cerremos se pierden.

Si queremos que queden guardados deberemos modificar nuestro archivo .vimrc e incluir la opción que queramos. Recuerda que dentro de ese archivo no se incluyen los dos puntos iniciales del comando. Por ejemplo deberíamos añadir:

" Mostrar número de líneaset nu

Como ves los números de línea tienen más miga de lo que a priori pudiera parecer. Escoge la opción que más te interese según tus gustos o forma de trabajar.

¿Concías todas estas opciones? ¿Cual es tu opción preferida? ¿Algún truco extra que quieras compartir? Para eso están los comentarios del blog. 🙂

Este artículo está basado en este escrito por Jeff Kreeftmeijer (y que me ha permitido utilizar) en su web y que puedes encontrar en este enlace:

 

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.