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?

nelstrom
fuente

Respuestas:

378

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

:set expandtab?
JaredPar
fuente
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
cdyson37
fuente
¿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.

徐新晨
fuente
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.

wisbucky
fuente
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