Obtenir la valeur actuelle d'un paramètre dans Vim

274

Existe-t-il un moyen simple de connaître la valeur actuelle d'un paramètre Vim spécifié? Si je veux connaître la valeur actuelle de, disons tabstop, je peux exécuter:

:set tabstop

sans passer un argument, et Vim me dira la valeur actuelle. C'est bien pour de nombreux paramètres, mais ce n'est pas bon pour ceux qui sont vrais ou faux. Par exemple, si je veux connaître la valeur actuelle de expandtab, exécutez:

:set expandtab

va effectivement permettre expandtab. Je veux juste savoir s'il est activé ou non.

Ce genre de fait ce que je veux:

:echo &l:expandtab

mais cela semble assez bavard. Existe-t-il un moyen plus rapide?

nelstrom
la source

Réponses:

378

Ajouter un ? marquez après le nom du paramètre et il affichera la valeur

:set expandtab?
JaredPar
la source
15
Notez que la set <...>?syntaxe fonctionnera pour les "paramètres" qui sont des options , mais pas pour les "paramètres" qui sont des variables . Ainsi, par exemple, pour savoir quel est le mode de mise en évidence de la syntaxe actuelle (codé dans une variable, pas une option), vous devez le faire echo b:current_syntax.
Maxy-B du
16
Si vous voulez également voir d' l'option a été définie, utilisez verbose. Pour cet exemple :verbose set expandtab,.
mkobit
1
Comment voyez-vous la valeur actuelle de paramètres tels que behave? J'ai essayé behave?et set behave?. Malheureusement, ils ne fonctionnent pas.
jdhao du
38

Alternativement, le &symbole peut être utilisé pour signifier "option" - par exemple

let x = &expandtab
echo &expandtab
cdyson37
la source
Existe-t-il également une option pour obtenir la valeur d'un élément de liste? (par exemple, l'espace des listchars)
816-8055
Je crois que listchars est une chaîne ordinaire, pas une liste, bien que je suppose que vous pourriez faire quelque chose commesplit(&listchars, ',')
cdyson37
9

Si vous ne vous souvenez pas quelle propriété vous souhaitez vérifier,

vous pouvez vérifier tous les paramètres en utilisant

:set all

et tous les paramètres seront répertoriés.

徐新晨
la source
4

Il existe également des paramètres vim supplémentaires qui peuvent également être affichés, tels que:

:highlight

Pour la liste complète, voir: http://vim.wikia.com/wiki/Displaying_the_current_Vim_environment

Edit: Il y a un malentendu de ma réponse. Cela ne fonctionne pour aucune commande. Mais cela fonctionne pour toutes les commandes répertoriées dans l'URL ci-dessus.

wisbucky
la source
Cela ne fonctionne pas. Je voulais vérifier s'il autowriteest allumé. :set autowrite?Fait le travail.
Atcold
@Atcold: cela fonctionne pour certains paramètres, pour lesquels seul ce type de requête fonctionnera.
gmarmstrong
@gmarmstrong: Je vois que la réponse a été modifiée avec une telle remarque.
Atcold