विम में एक निश्चित शब्द नहीं होने वाली सभी लाइनों को कैसे हटाएं?


94

Vim में मैं उन सभी लाइनों को हटा सकता हूं जिनमें "मूल्य" शब्द है

:g /price/d

मैं उन सभी लाइनों को कैसे हटा सकता हूं जिनमें "मूल्य" शब्द नहीं है?


1
क्या इस सवाल को माइग्रेट किया जा सकता है vi.stackexchange.com ? मैंने इसे माइग्रेशन के लिए फ़्लैग करने की कोशिश की लेकिन इसका पता नहीं लगा सका
Mu Mind

@MuMind यह यहाँ विषय पर है, इसलिए प्रवास करने की आवश्यकता नहीं है । " प्रवास के लिए प्रवास न करें। हम केवल प्रश्नों को स्थानांतरित करते हैं क्योंकि वे हैं मूल विषय पर ऑफ-टॉपिक । एक प्रश्न के लिए कई साइटों पर ऑन-टॉपिक होना पूरी तरह से संभव है, लेकिन ओपी के अनुरोध के अनुसार, जब तक ओपी अनुरोध नहीं करता है, तब तक उसे कहीं और स्थानांतरित करने का कोई कारण नहीं है। "इसके अलावा, केवल एसई कर्मचारी 60 दिनों के बाद माइग्रेट कर सकते हैं और यह बहुत दुर्लभ है कि वे होगा (यहां तक ​​कि मध्यस्थ भी एक पुराने प्रश्न को स्थानांतरित नहीं कर सकते हैं)।
8bittree

जवाबों:


134

आप उपयोग कर सकते हैं

:%g!/price/d

"मूल्य" वाले प्रत्येक पंक्ति को हटाने के लिए


2
मुझे पता था कि यह आसान होगा ...
digitaljoel

29
:g! के रूप में भी जाना जाता है :v (के सदृश grep -v )।
Chris Johnsen

2
इससे क्या होता है % करना?
hippietrail

3
% इस संदर्भ में एक विशेष श्रेणी है जिसका अर्थ है संपूर्ण फ़ाइल। देख :help cmdline-ranges
Heptite

14

आप भी उपयोग कर सकते हैं:

:v/price/d

लाइनों को हटाने के लिए।


3
%!grep "price"

एक और विकल्प है जो इससे काफी तेज हो सकता है :v बड़ी फ़ाइलों के लिए।

Vim 7.4, Ubuntu 14.04, 1M लाइन लॉग फाइल पर परीक्षण किया गया।

शब्द वाली लाइनें: https://stackoverflow.com/questions/1725265/how-can-i-delete-all-lines-that-do-not-begin-with-certain-characters/42714334#42714334

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