2010-01-16 59 views
193

有沒有簡單的方法來找出指定Vim設置的當前值?如果我想知道目前的價值,說tabstop,我可以運行:獲取Vim中設置的當前值

:set tabstop 

沒有傳遞參數,和Vim會告訴我的當前值。這對很多設置都很好,但對於那些真實或錯誤的設備來說都沒有好處。例如,如果我想找出expandtab當前值,運行:

:set expandtab 

實際上將使expandtab。我只想知道它是否啓用。

這種做什麼,我想:

:echo &l:expandtab 

但它似乎相當冗長。有更快的方法嗎?

回答

283

添加?標記設置名稱後,它會顯示值

:set expandtab? 
+9

請注意,'set <...>?'語法適用於_options_的「設置」,但不適用於_variables_的「設置」。例如,爲了找出當前的語法高亮模式(編碼在變量中,而不是選項),您需要執行'echo b:current_syntax'。 – 2014-10-12 22:24:58

+4

如果您還希望看到_where_選項已設置,請使用「verbose」。在這個例子中,':verbose set expandtab'。 – mkobit 2016-03-19 19:08:11

17

或者,&符號可以用於表示「選項」 - 例如

let x = &expandtab 
echo &expandtab 
+0

是否還有一個選項來獲取列表元素的值? (例如listchars的空間) – 2016-07-14 18:41:45

+0

我相信listchars是一個普通的字符串,而不是一個List,但我想你可以做一些像'split(&listchars,',')' – cdyson37 2016-07-15 06:59:44

0

也有可以顯示以及附加的vim的設置,如:

:highlight

有關完整列表,請參閱: http://vim.wikia.com/wiki/Displaying_the_current_Vim_environment

編輯:有一些誤解我的答案。這對任何命令都不起作用。但它適用於上面URL中列出的所有命令。

+0

這是行不通的。我想檢查'autowrite'是否打開。 ':set autowrite?'完成這項工作。 – Atcold 2016-03-31 18:17:10