2010-05-12 10 views
33

मैं अपने .viminfo फ़ाइल से कुछ मानदंड कैसे साफ़ कर सकता हूं?.viminfo फ़ाइल से कुछ मानदंड साफ़ करें

मैं कमांड लाइन इतिहास, फ़ाइल के निशान, jumplist, आदि

हालांकि, मैं खोज स्ट्रिंग इतिहास रखना चाहते साफ़ करना चाहते हैं।

क्या ऐसा करने का कोई तरीका है?

+7

इसे SuperUser.com पर माइग्रेट किया जाना चाहिए, क्योंकि यह सीधे प्रोग्रामिंग के बारे में नहीं है। – Johnsyweb

+4

अगर मैं कर सकता था तो मैं फिर से खोलने के लिए वोट दूंगा। यह वही है जो मुझे अपनी प्रोग्रामिंग आवश्यकताओं के लिए अभी जानना आवश्यक था। Http://meta.stackexchange.com/questions/25925/vim-questions-do-they-belong-to-stack-overflow-or-super-user –

+4

मुझे नहीं लगता कि यह ऑफ-विषय है। संपादक विम एक "सॉफ़्टवेयर टूल आमतौर पर प्रोग्रामर द्वारा उपयोग किया जाता है" (और इस प्रकार दायरे में है)। यह निश्चित रूप से सामान्य उपयोगकर्ताओं द्वारा उपयोग किए जाने वाले सामान्य टेक्स्ट एडिटर नहीं है। –

उत्तर

3

वीआईएम में इस नौकरी के लिए अंतर्निहित कमांड नहीं है। लेकिन आप इसे "grep" के साथ खोल में कर सकते हैं। उदाहरण के लिए, निम्न आदेश कमांड लाइन इतिहास साफ हो जाएगा, फ़ाइल के निशान, Jumplist:

bash $ grep -v "^[:'-]" .viminfo > .viminfo_clear 
bash $ cp .viminfo_clear .viminfo 

आप .viminfo खोलते हैं, तो आप पाएंगे कि कमांड लाइन के इतिहास के साथ शुरू होता है ":", फ़ाइल निशान "" के साथ शुरू किया गया है, और जम्प्लिस्ट "-" से शुरू हुआ है।

+0

eeeeeeeeeeeeeeee ... बुरा जवाब। आप अनावश्यक फ़ाइल क्यों बना रहे हैं और आपका उत्तर गलत है। – ungalnanban

23

मैं ऐसा करने के 3 तरीके सोच सकता हूं।

1. स्वचालित रूप से

  1. भागो विम,

  2. प्रकार: :set viminfo='0,:0,<0,@0,f0

    • '0 मतलब यह है कि निशान
    • :0 सहेजा नहीं जाएगा मतलब यह है कि कमांड लाइन इतिहास होगा सहेजा नहीं जा सकता
    • <0 का मतलब रजिस्टरों को सहेजा नहीं जाएगा कि
    • @0 का मतलब इनपुट लाइन इतिहास सहेजा नहीं जाएगा कि
    • f0 मतलब यह है कि निशान को सहेजा नहीं जाएगा
    • कोई % मतलब है कि बफर सूची सहेजा नहीं जाएगा
    • कोई / मतलब यह है कि खोज इतिहास बचाया जा जाएगा

    ये विकल्प विम में सही कर रहे हैं 7.2, लेकिन अन्य संस्करणों में अलग हो सकता है। Viminfo स्ट्रिंग के प्रारूप पर अधिक जानकारी के लिए, :h 'viminfo'

  3. विट विम चलाएं। यह .viminfo फ़ाइल का एक नया संस्करण सहेज लेगा, जिसमें केवल वह जानकारी होगी जिसे आप रखना चाहते हैं।

2. मैन्युअल

  1. ओपन vim में .viminfo फ़ाइल,

  2. :set viminfo= .viminfo फाइल करने के लिए जानकारी का स्वत: सहेजना बंद करने के लिए।यदि आप ऐसा नहीं करते हैं, तो

  3. जो कुछ भी आप नहीं चाहते हैं उसे हटाएं (शायद Johnsyweb's answer का उपयोग करके, या मैन्युअल संपादन आदेशों के साथ लाइनों को हटाकर), सहेजें फ़ाइल, और vim,

3. छोड़ने एक अलग संपादक

संपादित एक अलग पाठ संपादक में .viminfo फ़ाइल और बस सब कुछ आप नहीं चाहते को नष्ट में,

10

.viminfo फ़ाइल खोलें।

निम्न आदेश सभी लाइनों है कि न तो खाली, टिप्पणी कर रहे हैं को दूर है और न ही खोज इतिहास होगा:

:v/^\([#/?]\|$\)/d 

@Rich's answer आप इन पंक्तियों repopulated किया जा रहा रोकने में मदद मिलेगी।

2

उपयोगी भाग को कॉपी करें और हटाएं। Viminfo, फिर Vim खोलें/बंद करें। यह पुन: उत्पन्न होगा। Viminfo। फिर उपयोगी भाग वापस कॉपी करें।

6

आप vim ही उपयोग कर सकते हैं फ़ाइल को संशोधित करने के लिए और अपने परिवर्तन डाल रहने यदि आप इसे इस तरह से लागू करेगा:

$ vim -i NONE ~/.viminfo 

-i विकल्प सेट जो viminfo फ़ाइल उस सत्र के लिए उपयोग करने के लिए साथ vim शुरू। विशेष मूल्य NONE का अर्थ है कि कुछ भी बचा नहीं है। यह अन्य ऑटो-जनरेटिंग फ़ाइलों या संवेदनशील डेटा को संपादित करने के लिए आसान हो सकता है।

man vim से:

-i {viminfo}
viminfo फ़ाइल का उपयोग करते समय सक्षम किया गया है, इस विकल्प को फ़ाइल नाम
उपयोग करने के लिए, डिफ़ॉल्ट ~/.viminfo के बजाय तय करता है। इसका उपयोग
viminfo फ़ाइल का उपयोग NONE नाम देकर भी किया जा सकता है।

संबंधित मुद्दे