Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get current value of a setting in Vim

Tags:

vim

Is there a simple way of finding out the current value of a specified Vim setting? If I want to know the current value of, say tabstop, I can run:

:set tabstop

without passing an argument, and Vim will tell me the current value. This is fine for many settings, but it is no good for those that are either true or false. For example, if I want to find out the current value of expandtab, running:

:set expandtab

will actually enable expandtab. I just want to find out if it is enabled or not.

This sort of does what I want:

:echo &l:expandtab

but it seems quite verbose. Is there a quicker way?

like image 334
nelstrom Avatar asked Jan 16 '10 17:01

nelstrom


4 Answers

Add a ? mark after the setting name and it will show the value

:set expandtab?
like image 77
JaredPar Avatar answered Nov 02 '22 11:11

JaredPar


Alternatively, the & symbol can be used to mean "option" - e.g.

let x = &expandtab
echo &expandtab
like image 28
cdyson37 Avatar answered Nov 02 '22 12:11

cdyson37


If you don't remember what setting you want to check, you can view all settings:

:set all

or show each setting, one setting per line:

:set! all
like image 20
徐新晨 Avatar answered Nov 02 '22 13:11

徐新晨


There are also additional vim settings that can be displayed as well, such as:

:highlight

For the full list, see: http://vim.wikia.com/wiki/Displaying_the_current_Vim_environment

Edit: There is some misunderstanding of my answer. This does not work for any command. But it does work for all the commands listed in the URL above.

like image 5
wisbucky Avatar answered Nov 02 '22 13:11

wisbucky