क्या grep मोड में मैन्युअल रूप से मैच निकालना संभव है?


9

चलाने (grep)के बाद grep बफर मैचों के साथ दिखाई देता है। कुछ मैच प्रासंगिक नहीं हैं, और उन्हें मैन्युअल रूप से निकालना अच्छा होगा। इस तरह मैं grep बफर का उपयोग केवल उन मैचों को रखने के लिए कर सकता हूं जो वर्तमान जांच के लिए प्रासंगिक हैं।

क्या यह संभव है?

जवाबों:


10

पूर्ण रूप से। और ऐसा करना बेहद उपयोगी है। M-x flush-linesऔर M-x keep-linesआपके दोस्त हैं, साथ ही साथ C-kआदि।

(पहली बात जो आपको करने की ज़रूरत है C-x C-q, वह बफर बफर बनाने के लिए ज़रूर है ।)


यदि आप का उपयोग पुस्तकालय Grep + ( grep+.el:) तो आप इन आदेशों, जो निकालने टिप्पणी लाइनों और इस तरह हटाने टॉगल है grepp-remove-comments, grepp-toggle-commentsहै, जो करने के लिए ग्रेप बफ़र्स में बंधे हुए हैं ;और M-;क्रमश:।

(Grep + आपको ऐसी कमांड्स भी देता है जो कई grep बफ़र्स रखना आसान बनाती हैं: +( grepp-new-buffer), b( grepp-choose-buffer), और r( grepp-rename-buffer-to-last))।


वहाँ भी अन्य बफ़र्स कि केवल पढ़ने के लिए कर रहे हैं डिफ़ॉल्ट और जिसके द्वारा यह कभी कभी उपयोग करने के लिए उपयोगी हो सकते हैं C-x C-qऔर फिर संपादित करें उन्हें, विशेष रूप से (IMHO) में, *Messages*, *Help*, और *Colors*(से M-x list-colors-display)। यहां तक ​​कि जानकारी का उपयोग एक कमांड के लिए होता है जो आपको वर्तमान नोड को संपादित करने देता है।

दुर्भाग्य से (IMHO), एमएसीएस आमतौर पर इस तरह के उपयोग से दूर हो गया है, जिससे यह कठिन हो गया है। उदाहरण के लिए, *Help*और *Messages*बफ़र्स ने अब अपने संबंधित मोड में कुंजियों को परिभाषित किया, जिसका अर्थ है कि उन्हें सामान्य रूप से संपादित करने के लिए आपको या तो (1) दूसरे मोड में बदलना होगा या (2) C-qकुछ वर्ण सम्मिलित करने में सक्षम होने के लिए उपयोग करना होगा।


1
मैं इतनी दूर तक जाऊंगा कि इस जवाब ने मेरी जिंदगी बदल दी है।
कैममिल


0

यदि आप एक दुष्ट उपयोगकर्ता हैं, तो आप एक बंधन जैसे zww 'read-only-mode, कि टॉगल कर सकते हैं read-only-map। अक्षम करें read-only-modeऔर फिर evil-deleteलाइन (यानी dd) का उपयोग करें । बेशक यह स्वचालित रूप से सभी लाइनों को नहीं हटाता है flush-lines, हालांकि, यदि आप जटिल नियमित अभिव्यक्तियों का उपयोग किए बिना एक पूरे क्षेत्र को हटाना चाहते हैं, तो यह आपका मित्र है।


0

winnow.el इस उद्देश्य के लिए डिज़ाइन किया गया एक छोटा सा मामूली मोड प्रदान करता है, जिसका उद्देश्य compilation-modeबफ़र्स (या डेरिवेटिव, जिसमें शामिल हैं grep-mode) में उपयोग के लिए है।

यह कुंजी बाइंडिंग के बराबर में सक्षम बनाता है flush-linesऔर keep-lines, और आप के लिए पाठ का रीड-ओनली सत्ता का ख्याल रखता है।

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