विम में एक सेटिंग का वर्तमान मूल्य प्राप्त करें


274

क्या एक निर्दिष्ट विम सेटिंग के वर्तमान मूल्य का पता लगाने का एक सरल तरीका है? यदि मैं वर्तमान मूल्य जानना चाहता हूं tabstop, तो मैं कह सकता हूं:

:set tabstop

एक तर्क पारित किए बिना, और विम मुझे वर्तमान मूल्य बताएगा। यह कई सेटिंग्स के लिए ठीक है, लेकिन यह उन लोगों के लिए अच्छा नहीं है जो या तो सच हैं या झूठ हैं। उदाहरण के लिए, यदि मैं चालू मूल्य का पता लगाना चाहता हूं, तो expandtab:

:set expandtab

वास्तव में सक्षम करेगा expandtab। मैं सिर्फ यह पता लगाना चाहता हूं कि यह सक्षम है या नहीं।

इस तरह का मुझे क्या चाहिए:

:echo &l:expandtab

लेकिन यह काफी क्रियात्मक लगता है। क्या कोई तेज़ तरीका है?

जवाबों:


378

एक जोड़ें ? सेटिंग नाम के बाद निशान और यह मूल्य दिखाएगा

:set expandtab?

15
ध्यान दें कि set <...>?सिंटैक्स "सेटिंग" के लिए काम करेगा जो विकल्प हैं , लेकिन "सेटिंग" के लिए नहीं जो चर हैं । उदाहरण के लिए, यह पता लगाने के लिए कि वर्तमान सिंटैक्स हाइलाइटिंग मोड क्या है (एक विकल्प में नहीं बल्कि एक चर में एन्कोडेड), आपको करने की आवश्यकता है echo b:current_syntax
मैक्सी-बी

16
यदि आप यह भी देखना चाहते हैं कि विकल्प कहां से सेट किया गया था, तो उपयोग करें verbose। इस उदाहरण के लिए, :verbose set expandtab
mkobit

1
सेटिंग्स का वर्तमान मूल्य कैसे देखते हैं behave? मैं कोशिश की है behave?और set behave?। दुर्भाग्य से, वे काम नहीं करते हैं।
jdhao

38

वैकल्पिक रूप से, &प्रतीक का अर्थ "विकल्प" के लिए किया जा सकता है - उदाहरण के लिए

let x = &expandtab
echo &expandtab

क्या सूची तत्व का मूल्य प्राप्त करने का विकल्प भी है? (उदाहरणों की सूची)
816-8055

मेरा मानना ​​है कि लिस्टचर्स एक सामान्य स्ट्रिंग है, लिस्ट नहीं, हालांकि मुझे लगता है कि आप कुछ ऐसा कर सकते हैंsplit(&listchars, ',')
cdyson37

9

यदि आपको याद नहीं है कि आप किस छिद्र की जाँच करना चाहते हैं,

आप का उपयोग करके सभी सेटिंग्स की जाँच कर सकते हैं

:set all

और सभी सेटिंग्स सूचीबद्ध होंगी।


4

अतिरिक्त वीम सेटिंग्स भी हैं जो प्रदर्शित की जा सकती हैं, जैसे:

:highlight

पूरी सूची के लिए, देखें: http://vim.wikia.com/wiki/Displaying_the_current_Vin_fire

संपादित करें: मेरे उत्तर की कुछ गलतफहमी है। यह किसी भी आदेश के लिए काम नहीं करता है। लेकिन यह ऊपर दिए गए URL में सूचीबद्ध सभी कमांड के लिए काम करता है।


यह काम नहीं करता। मैं जाँच करना चाहता था कि क्या autowriteचालू है। :set autowrite?काम करता है।
एटकोल्ड

@Atcold: यह कुछ सेटिंग्स के लिए काम करता है , जिसके लिए केवल इस प्रकार का क्वेरी काम करेगा।
गार्मस्ट्रॉन्ग

@gmarmstrong: मुझे लगता है कि इस तरह की टिप्पणी के साथ उत्तर को संपादित किया गया है।
Atcold
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.