विम में सादे-पाठ दस्तावेज़ों के लिए बुलेटेड सूचियाँ


8

जबकि विम सूचियों में स्वचालित इंडेंटिंग का समर्थन करता है, डिफ़ॉल्ट सेटिंग केवल क्रमबद्ध सूचियों को कवर करती है, जैसे कि अंकों के साथ शुरू होती है:

1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
   tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
2. veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
   commodo consequat.

मैं यह पता लगाने में सक्षम नहीं हूं कि इसे कैसे अनियंत्रित, बुलेटेड सूची में विस्तारित किया जाए:

* Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
  tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
* veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
  commodo consequat.

formatlistpatRegEx को बदलने से वांछित परिणाम नहीं हुए (वास्तव में, इसने सूचियों को तोड़ भी दिया)।

जवाबों:


10

यह जानने के बाद कि आपने मूल्य निर्धारित करने में क्या मदद की है, लेकिन मुझे लगता है कि आपने बैकस्लैश को ठीक से नहीं छोड़ा है।

डिफ़ॉल्ट मान है

formatlistpat=^\s*\d\+[\]:.)}\t ]\s*

लेकिन वास्तव में उस मूल्य (आपके vimrc या cmdline पर) को आपको उपयोग करना होगा

set formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*

इसमें बताया गया है :help option-backslash। सीमांकित, अव्यवस्थित सूचियों के formatlistpatसाथ काम करने की अनुमति देने के लिए एक सरल संशोधन *होगा

set formatlistpat=^\\s*[0-9*]\\+[\\]:.)}\\t\ ]\\s*

वास्तव में, यह काम करता है - बहुत धन्यवाद! मुझे लगा कि मैं सब कुछ ठीक से बच गया था (यहां तक ​​कि पैटर्न की जटिलता को भी कम कर दिया), लेकिन जाहिर है कि मैं गलत था। मैं शायद
क्षुद्रों से

2
जैसा कि इसके लिए मदद में बताया गया है कि []इसका इस्तेमाल तेज है [[:digits:]*]या [\d*]इसके बजाय[0-9*]
आदित्य

एक के letबजाय का उपयोग करके उद्धरण मुद्दे को दरकिनार कर सकता है set, जैसे let &formatlistpat='^\s*\(\d\+[\]:.)}\t ]\|[*-][\t ]\)\s*':। (यह संख्या के अलावा गोलियों के रूप में *और इसके लिए समर्थन जोड़ता है -।)
wjv

@wjv मैंने आपके समाधान की कोशिश की है और यह सूची के लिए काम करता है, लेकिन तारांकन के साथ नहीं। किसी भी विचार यह क्या कारण हो सकता है?
सुस्त

@wj लगता है कि commentsचर के अंदर * , तीन-भाग की टिप्पणी के मध्य भाग होने के बावजूद, लाइन टिप्पणी के साथ तारांकन को भ्रमित करने देता है।
निसृत

3

जैमेसन ने जो लिखा है (विशेष रूप formatlistpatसे * सूचियों के साथ काम करने के लिए उनका सुझाव) के अलावा, 'c' विकल्प (टिप्पणी प्रारूपण) को परेशान करना महत्वपूर्ण है formatoptions:

set formatoptions-=c

अन्यथा विम * बुलेटेड सूचियों के प्रारूपण और टिप्पणियों के प्रारूपण के बीच उलझ जाता है। आप दूसरी और निम्न पंक्तियों पर एक अतिरिक्त * के साथ समाप्त होते हैं।


इतना ही नहीं, बल्कि q( जब के साथ टिप्पणियों के स्वरूपण की अनुमति दें gq) formatoptionsझंडे के साथ प्रारूपण करते समय समस्याएँ हो सकती हैं gq। +1
काज़ार्क

1

मुझे a)पहचान की तरह सूचियां प्राप्त करने में कुछ परेशानी हुई , इसलिए मैं यहां अपना समाधान पोस्ट करूंगा:

" Recognise lists like 1), 1., a), a., and so on
" Note that | need to be escaped AND preceeded by a literal backslash
set formatlistpat=^\\s*\\([0-9]\\+\\\|[a-z]\\)[\\].:)}]\\s\\+

1

मैं इस सवाल का एक नया उत्तर लिख रहा हूँ क्योंकि मैं इस सवाल और से एकाधिक जवाब गठबंधन करने के लिए किया था यह अन्य प्रश्न यह काम करने के लिए। यहाँ मेरा अंतिम विन्यास है।

set formatlistpat=^\\s*[0-9*]\\+[\\]:.)}\\t\ ]\\s*
set formatoptions-=c
set comments-=mb:*
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.