2008-09-25 8 views
155

में 'gf' से कैसे लौटते हैं मैं यूनिक्स मोड में स्थापित विंडोज़ के लिए विम का उपयोग कर रहा हूं। इस साइट के लिए धन्यवाद अब मैं कर्सर के नीचे फ़ाइल पर जाने के लिए gf कमांड का उपयोग करता हूं। स्वचालित रूप से लॉन्च करने के लिएआप विम

  1. पिछले फाइल करने के लिए वापसी (समान करने के लिए Ctrl ctags के लिए + टी), या
  2. remap gf :

    मैं या तो के लिए एक आदेश के लिए देख रहा हूँ एक नई विंडो में नई फ़ाइल ।

उत्तर

247

मैं Ctrl का उपयोग करें - हे

+1

सरलतम आदेश। धन्यवाद! – JayG

+36

सीटीआरएल-ओ कूद सूची में एक पुरानी स्थिति पर जाने के लिए, या CTRL-I को एक नई स्थिति पर जाने के लिए। –

+6

अब अगर मैं इसे याद कर सकता हूं। – g33kz0r

8

Ctrl-Shift-6 एक है।

:e#↲ दूसरा है।

+8

पाने के लिए पारी आवश्यक नहीं है। अपनी उंगलियों का दुरुपयोग करना बंद करो। – Zathrus

+6

उम। मैं एक पुराना टाइमर हूं। Ctrl-6 वाईस टर्मिनल पर vi के साथ काम नहीं करेगा जो मैं साल पहले काम करता था। देखें, कुछ चीजें नकली रहती हैं। और इस कॉम्बो में शिफ्ट का उपयोग न करने से शायद मेरी कुल उंगली के दुरुपयोग में कोई फर्क नहीं पड़ता। अरे, कम से कम आपने अपना सर्वश्रेष्ठ प्रयास किया। HTH। हाथ। – tzot

11

बस :e#के बाद का उपयोग दर्ज करें - कि मूल रूप से पिछले (सबसे हाल) फ़ाइल को संपादित करने कहते हैं।

5

मैं आपके प्रश्न के भाग 2 का जवाब पता नहीं है, लेकिन मैं 1.

:e# 

विम फ़ाइलें (बफर) है कि यह संपादन है की एक सूची रखता भाग के साथ कर सकते हैं। आप लिखते हैं, तो

:buffers 

यह सभी फाइलों को आप वर्तमान में संपादन कर रहे हैं सूची जाएगा। उस सूची में फ़ाइल के साथ%% के साथ वर्तमान फ़ाइल है। # इसके साथ वाला एक वैकल्पिक फ़ाइल है। : ई # वर्तमान और वैकल्पिक फ़ाइल के बीच स्विच करेगा। इतना टाइप करने के बजाय, मैं F2 को: e # पर मैप करता हूं, इसलिए मैं आसानी से वर्तमान और वैकल्पिक फ़ाइलों के बीच फ़्लिप कर सकता हूं। मैं .vimrc को

nmap `<F2> :e#<CR>` 
+2

मुझे नहीं लगता कि आप चाहते हैं उपयोग करने के लिए: ई # क्योंकि वह संभावित रूप से फ़ाइल को पुनः लोड कर सकता है। : बी # इस समस्या के बराबर है। – lambacck

+0

अच्छा बिंदु। यह अन्य बफर को फिर से लोड किए बिना स्विच करता है। – codebunny

63

इस जोड़कर F2 करने के लिए आदेश के नक्शे मैं अक्सर Ctrl का उपयोग करें - 6 इस के लिए

यह आसान है क्योंकि यह मुझे दो फाइलों के बीच आगे और आगे कूदने की अनुमति देता है।

+1

धन्यवाद! मैं हमेशा cntl-^(cntl-shift 6) –

2

जब आप एक नया फ़ाइल को खोलने (gf या साथ: n या किसी अन्य आदेश) पुरानी फाइल एक बफर सूची में रहता है। आप के साथ खुला फ़ाइलों की सूची कर सकते हैं: ls

आप vim में बफ़र्स के बीच आसानी से नेविगेट करने के लिए चाहते हैं, तो आप इस तरह एक मैपिंग बनाते हैं:

nmap <M-LEFT> :bN<cr> 
nmap <M-RIGHT> :bn<cr> 

अब आप ऑल्ट साथ बफ़र्स बीच स्विच कर सकते + बाएं तीर या Alt + दायां तीर।

मैपिंग पर पूरा प्रलेखन यहाँ है:

:help map.txt 
0

मैं अपने gf आदेश को देखा नहीं है, लेकिन मैं इसे का उपयोग करता है की कल्पना: ई या : लगता है आदेश। ई या : लगता है साथ: नई (या : vnew एक ऊर्ध्वाधर विभाजन के लिए)
यह मानते हुए कि यह सही है, बस की जगह और फ़ाइल के बजाय एक ही एक के एक नए विंडो में खुलेगा ।

उदा

 
"Switch between header and cpp 
nmap ,s :find %:t:r.cpp<CR> 
nmap ,S :new %:t:r.cpp<CR> 
nmap ,h :find %:t:r.h<CR> 
nmap ,H :new %:t:r.h<CR> 
nmap ,F :new =expand("<cfile>:t")<CR><CR> 
nmap ,d :new =expand("<cfile>")<CR><CR> 

36

आप CTRL-W gf उपयोग करने के लिए एक नए टैब में फ़ाइल खोलने के लिए चाहते हो सकता है।

आप नई खुली फ़ाइल को हमेशा :bd के साथ बंद कर सकते हैं, या CTRL-6 और बफर बदलने के अन्य सामान्य तरीकों का उपयोग कर सकते हैं।

+6

टैब का उपयोग करता हूं, मेरे लिए बफर से अधिक सुविधाजनक है, और नए टैब में खोलने के लिए 'nnoremap gf gf' का उपयोग करना बेहतर हो सकता है। – Searene

+1

इसने मेरे जीवन को 20% बेहतर बनाया – Skurpi

4

मुझे काम करने के लिए CTRL-W f मिला।
यह काफी निराशाजनक है कि मैंने इन आदेशों के लिए नक्शे को इतने लंबे समय तक पूरा करने में बिताया है कि केवल अंतर्निहित संस्करण हैं।

12

उपयोग gf में एक फ़ाइल और उपयोग पतित करने के लिए: BF के वापस

+1

मेरे पास एक टैब में दो खिड़कियां खुली थीं और इसने पिछले बफर पर वापस कूदने के बजाए पहली बार दूसरी विंडो खोली थी। –