भरण-पैरा के विपरीत


25

Emacs का कार्य है fill-paragraph। क्या कोई कार्य है जो इसके विपरीत करेगा?

मेरे पास एक पैराग्राफ है जो पहले से ही भरा हुआ है और इसके बजाय मैं इसे एक सादे एकल पंक्ति में चाहता हूं?


1
fill-paragraphकरता नहीं पैराग्राफ का औचित्य साबित, जब तक आप एक उपसर्ग तर्क का उपयोग या यह एक गैर पारित nilपहला तर्क। देखें (emacs)Fill Commands
ड्रू

जवाबों:


20

स्टीफन मोननियर द्वारा Emacs विकी से उद्धरण :

एक पैराग्राफ को अनफिल्ट करना एक पैराग्राफ में सभी लाइनों को एक लाइन में जोड़ता है। यह FillParagraph के विपरीत है ।

यह काम करता है जहां एक पंक्ति एक नई रेखा के साथ समाप्त होती है ("\ n") और पैराग्राफ को रिक्त लाइनों द्वारा अलग किया जाता है। किसी एकल पंक्ति में एक पैराग्राफ अंत बनाने के लिए नीचे दिए गए फ़ंक्शन का उपयोग करें:

;;; It is the opposite of fill-paragraph    
(defun unfill-paragraph ()
  "Takes a multi-line paragraph and makes it into a single line of text."
  (interactive)
  (let ((fill-column (point-max)))
    (fill-paragraph nil)))

और इसे एक कुंजी से बांधने के लिए:

 ;; Handy key definition
 (define-key global-map "\M-Q" 'unfill-paragraph)

UnfillRegion , और UnwrapLine भी देखें ।


12
यह Emacs Wiki पृष्ठ UnfillParagraph की एक सीधी प्रति है , जिसमें लेखक (स्टीफन मोननियर ) एट्रिब्यूशन हटा दिया गया है। यहाँ जानकारी पोस्ट करना मददगार है, लेकिन कम से कम यह स्पष्ट करें कि उस विकी पेज का कोड और लिंक किसने लिखा है।
ड्रू

12
जब आप किसी और की जानकारी का उपयोग करते हैं, तो केवल रोपण जोड़ना विनम्र होता है।
nicael

2
बदलाव करने के लिए मालाबार का धन्यवाद। @KingShimkus: nicael ने बताया कि यह बेहतर क्यों है।
आकर्षित किया

2
यदि आप किसी अन्य व्यक्ति द्वारा लिखित सामग्री पोस्ट करते हैं, तो आपको अपने स्रोतों को स्वीकार करना होगा।
गाइल्स का SO- दुष्ट होना बंद हो '

1
स्रोत से लिंक किए गए लिंक पर ध्यान दें । मैंने जवाब में इसे संपादित किया।
स्मॉलफ जूल

4

मेरा तरीका कर्सर को पैराग्राफ़ की अंतिम पंक्ति में रखना और M-^कई बार मारना होगा ।

इस शॉर्टकट की खूबी यह है कि लाइनों के साथ जुड़ने से यह किसी भी इंडेंटेशन स्पेस को सिंगल में कम कर देता है।


AFAIK, आप कर सकते हैं M-^और आपको केवल कुंजी दबाए रखने की आवश्यकता है। फ़ंक्शन का नाम है delete-indentation
रासमुस

फ़ंक्शन का नाम क्या है M-S-^, यह मेरे लिए काम नहीं करता है?
सिबी

हाँ फ़ंक्शन है delete-indentationऔर शॉर्टकट को Emacs में वर्णित किया गया है M-^- शिफ्ट ( S) मेरे द्वारा जोड़ा गया था, क्योंकि आपको इसे वैसे भी पकड़ना होगा। गड़बड़ी के लिए क्षमा।
राजेश

2

अभी इसके लिए unfillपैकेज है

पैराग्राफ और क्षेत्रों को स्पष्ट रूप से अनफ़िल्ट करने के लिए आदेश प्रदान करता है (यानी, अलग-अलग) और यह भी एक कमांड है जो वर्तमान पैराग्राफ या क्षेत्र को भरने और अनफ़िल करने के बीच टॉगल करेगा।

यह शुरू में Xah ली के उदाहरणों पर आधारित है और बाद में आर्टुर मालाबार के एक लेख पर आधारित है

यह निम्नलिखित प्रदान करता है:

M-x unfill-region
M-x unfill-paragraph
M-x unfill-toggle
M-x toggle-fill-unfill

अपनी पसंद की आसान कीबिंग को जोड़ना सुविधाजनक है जैसे:

(global-set-key (kbd "<f8>") 'toggle-fill-unfill)

क्या आप इस @easyE के बारे में अधिक जानकारी प्रदान कर सकते हैं?
स्मोफ़

1
मेरी गलती: Xah ली के उदाहरणों के आधार पर कोड को Emacs के हिस्से के रूप में शामिल नहीं किया गया है, लेकिन [ MELPA पैकेज के रूप में शामिल किया गया है] ( melpa.org/#/unfill )।
ईजी

@ मुझे आपकी टिप्पणी और मेरे उत्तर की सामग्री के बीच अंतर नहीं मिला, क्षमा करें।
स्मॉनफ

मैंने यह तर्क नहीं दिया है कि यह एक अंतर है। मुझे यह सोचने में गलती हो गई थी कि अनफिल पचैक को Emacs 25 में शामिल किया गया था, और फिर मैंने खुद को सही किया।
ईजी

1

हमेशा की तरह, ऐसा करने के कई तरीके हैं, इसलिए मैं रिंग में एक और उत्तर दूंगा:

  1. मार्क पैराग्राफ: M-h

  2. क्षेत्र में स्थान बदलने के साथ क्वेरी की जगह:

    M-% C-q C-j RET SPC RET !


0

एक गरीब आदमी का अनफिल भी पहले fill-columnकुछ हास्यास्पद उच्च मूल्य (मैं 9999 का उपयोग करता हूं) और फिर भरने से किया जा सकता है। उदाहरण के लिए, C-u 9999 C-x f M-q C-u 70 C-x f। (इसके अलावा, आप पसंद कर सकते हैं C-9 C-9 C-9 C-9करने के लिए C-u 9999।)


0

ईविल मोड Jमें normal modeवीआईएम से महत्वपूर्ण बाइंडिंग है । यह नीचे की रेखा से और वर्तमान रेखा से एक रेखा में जुड़ जाता है। इसलिए इसे कई बार दबाने से, आप फिल-पैरा को पूर्ववत कर सकते हैं।

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