Obtener el valor actual de una configuración en Vim


274

¿Hay una manera simple de averiguar el valor actual de una configuración de Vim especificada? Si quiero saber el valor actual de, por ejemplo tabstop, puedo ejecutar:

:set tabstop

sin pasar un argumento, y Vim me dirá el valor actual. Esto está bien para muchas configuraciones, pero no es bueno para aquellas que son verdaderas o falsas. Por ejemplo, si quiero averiguar el valor actual de expandtab, ejecutando:

:set expandtab

en realidad permitir expandtab. Solo quiero saber si está habilitado o no.

Este tipo de hace lo que quiero:

:echo &l:expandtab

pero parece bastante detallado. ¿Hay una manera más rápida?

Respuestas:


378

Agrega un ? marque después del nombre de la configuración y mostrará el valor

:set expandtab?

15
Tenga en cuenta que la set <...>?sintaxis funcionará para "configuraciones" que son opciones , pero no para "configuraciones" que son variables . Entonces, por ejemplo, para averiguar cuál es el modo de resaltado de sintaxis actual (codificado en una variable, no una opción), debe hacerlo echo b:current_syntax.
Maxy-B

16
Si también desea ver desde dónde se configuró la opción, use verbose. Para este ejemplo :verbose set expandtab,.
mkobit

1
¿Cómo veo el valor actual de configuraciones como behave? Lo he intentado behave?y set behave?. Lamentablemente, no funcionan.
jdhao

38

Alternativamente, el &símbolo puede usarse para significar "opción", por ejemplo

let x = &expandtab
echo &expandtab

¿Existe también una opción para obtener el valor de un elemento de la lista? (por ejemplo, espacio de listas)
816-8055

Creo que listchars es una cadena ordinaria, no una lista, aunque supongo que podría hacer algo comosplit(&listchars, ',')
cdyson37

9

Si no recuerda qué propiedad desea verificar,

puede verificar todas las configuraciones usando

:set all

y se enumerarán todas las configuraciones.


4

También hay configuraciones adicionales de vim que también se pueden mostrar, como:

:highlight

Para ver la lista completa, consulte: http://vim.wikia.com/wiki/Displaying_the_current_Vim_environment

Editar: Hay algunos malentendidos de mi respuesta. Esto no funciona para ningún comando. Pero funciona para todos los comandos enumerados en la URL anterior.


Esto no funciona. Quería verificar si autowriteestá activado. :set autowrite?hace el trabajo.
Atcold

@ Attold: esto funciona para algunas configuraciones, para las cuales solo funcionará este tipo de consulta.
gmarmstrong

@gmarmstrong: veo que la respuesta se ha editado con tal comentario.
Atcold
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.