Pregunta ¿Cómo mostrar la columna actual en la barra de estado en vim?


Me gustaría mostrar la columna actual en la barra de estado, como es común en muchos otros editores de texto. P.ej. es bueno saber si estás cerca de la columna 80 o superior.

¿Cómo mostrar la columna actual en la barra de estado?


154


origen


Si desea mostrar la columna actual del cursor, escriba: echo col ('.'). - SibiCoder


Respuestas:


Pruebe si la opción 'regla' es lo que está buscando. En mi computadora en la parte inferior derecha, se muestra la línea y la columna donde tengo el cursor.

:set ruler

EDITAR A COMENTARIOS:

De la ayuda de vim (comando :help ruler)

Si la cantidad de caracteres mostrados es diferente de la cantidad de caracteres   bytes en el texto (por ejemplo, para un carácter TAB o multibyte), ambos   la columna de texto (número de byte) y la columna de la pantalla se muestran,   separado con un guion.

Puedes intentar cambiarlo con rulerformat opción, como :set rulerformat=%l,%v


184



Sí, algo así. Pero eso está mostrando un valor extraño, p. 23,62-68 fueron 23 parecen ser la línea. ¿Cómo debo interpretar 62-68 para la columna? - Jonas
62 está contando pestañas como un personaje, 68 está contando pestañas expandidas - RedGrittyBrick
Desde el comando ': regla de ayuda': "Si la cantidad de caracteres mostrados es diferente de la cantidad de bytes en el texto (por ejemplo, para una TAB o un carácter de múltiples bytes), tanto la columna de texto (número de bytes) como la pantalla columna se muestran, separados con un guión ". Puede intentar cambiarlo con la opción 'formato de regla', como ': set rulerformat =% l,% v' - Birei
ruler no funciona con ventanas divididas en Vim. - Mihai
@Jonas No solo pestañas, como dijo RedGrittyBrick, sino también caracteres contra bytes. Esto es muy evidente en los archivos UTF-8 donde un glifo de un solo carácter tiene un punto de código de varios bytes. Por ejemplo, el latín eñe (n con tilde sobre él, pronunciado EN-yea) es un glifo de un solo carácter pero toma dos bytes para representar el punto de código (\ xC3B1), y un tercio (1/3) es un glifo de un solo carácter con un punto de código de tres bytes (\ xE28593). - Luv2code


Ver :help statusline para las muchas opciones disponibles.

Tengo esto en mi ~/.vimrc entre un montón de otras directivas:

set statusline+=col:\ %c,

que salidas

col: 64

en mi línea de estado

Yo no tengo set ruler.


26



Esto no funciona para mi Probablemente necesito algunos ajustes más. - Jonas
Jonas, puede que tengas que usar set laststatus=2 en tus .vimrc para mostrar siempre la línea de estado. (0 -> nunca muestre la línea de estado, 1 -> solo si hay al menos dos ventanas, 2 -> siempre muestre la línea de estado). - pabuisson
Utilicé lo siguiente para proporcionar espacio antes de esto y las cosas anteriores en la línea de estado: establezca statusline + = \ col: \% c, - David Baucum


O bien, deje desarmada la 'regla', una ganancia de rendimiento y presione CTRL-G cuando quieras ver la columna actual


18



Pulsar Ctrl-Anything no suena como una ganancia de rendimiento. Estamos escribiendo personajes. Ningún humano tiene dedos y ojos que vuelan lo suficientemente rápido como para ver este tipo de diferencia de rendimiento. - macetw


Otra forma de hacerlo es haciendo 'g Ctrl-G', que imprime la posición actual del cursor de cinco maneras: Columna, Línea, Palabra, Carácter y Byte. (de http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G)


17



Esta solución tiene algo ordenado, que diferencia a Column y VisibleColumn. Los caracteres no imprimibles se muestran en 2 columnas, pero se deben contar como uno. Si los caracteres no imprimibles la salida se ve así: RealColumn-VisibleColumn, Line, Word, Character and Byte. - mxlian


Me depreciaría usando set rule porque creo que no es compatible con las opciones de línea de estado, p. si configura la línea de estado para mostrar la ruta de archivo completa en combinación con la regla establecida

set statusline+=%F

set ruler

Entonces NO muestra el número de columna sino solo el camino de archivo completo en la barra de estado. Sin embargo, si pones lo siguiente en tu .vimrc

set statusline+=%F\ %l\:%c

Mostrará todo correctamente, es decir,

[Ruta de archivo / nombre de archivo] [número de lienzo]: [número de columna]


9





Para las otras personas que están buscando esta respuesta y no están acostumbradas a trabajar con VIm, personalmente la respuesta más simple que he encontrado es agregar esta línea al final de su archivo .vimrc en su directorio de inicio:

set ruler


1