विम में हाल के दस्तावेजों की एक सूची देखें


130

क्या आपके पास विम में खोले गए हालिया दस्तावेजों की सूची देखने का कोई तरीका है? मुझे पता है कि मैं कर्सर कूद सूची देख सकता हूं :ju, और फिर सूची में एक कर्सर स्थिति पर जा सकता हूं लेकिन यह आदर्श नहीं है क्योंकि सूची में एक ही दस्तावेज़ के कई लिस्टिंग होंगे। क्या कोई और कमांड है जो मैं देख रहा हूँ?

जवाबों:


200

एक प्लगइन का उपयोग न करें, जब तक आप एक अच्छा मेनू नहीं चाहते। से विम प्रलेखन: शुरू (या :help old):

:ol[dfiles]

तब सूचीबद्ध फ़ाइलों के खुले एक, उपयोग करने के लिए: '0, '1, '2, ...'9


उन फ़ाइलों को सूचीबद्ध करें जिनके पास viminfoफ़ाइल में संग्रहीत निशान हैं ।

:bro[wse] ol[dfiles][!]

फ़ाइल नाम के साथ सूची :oldfiles, और फिर एक नंबर के लिए संकेत। जब संख्या मान्य है कि सूची से फ़ाइल संपादित की जाती है। !संशोधित बफर को छोड़ने के लिए उपयोग करें ।


1
आपके उत्तर के लिए धन्यवाद, लेकिन जब मैं इस कमांड को शुरू करने के लिए मदद देखता हूं तो यह मौजूद नहीं है जैसा कि आपके द्वारा दिए गए लिंक में है। इस कमांड का उपयोग करने का प्रयास भी "नहीं एक संपादक कमांड" त्रुटि पैदा करता है। ऐसा क्यों है?
क्रिस

1
मेरे लिये कार्य करता है। @chris तुम्हें पता है कि कोष्ठक के अंदर बिट्स वैकल्पिक हैं, है ना? यानी ": ब्रो ओएल" का एक संक्षिप्त नाम है: "ओल्डफाइल्स ब्राउज़ करें"
Mr_Chimp 16

28
सूचीबद्ध फ़ाइलों में से एक को खोलने के लिए, उपयोग करें: '0,' 1, '2, ...' 9। (मुझे उस उत्तर को खोजने के लिए एक और प्रश्न पर जाना था, इसलिए मैं इसे यहाँ पोस्ट कर रहा हूँ।)
Stew

3
@Stew उस सवाल का लिंक? वे मेरे लिए काम नहीं कर रहे हैं। [अद्यतन] वास्तव में यह मेरे साथ काम करता है :browse oldfiles- क्षमा करें!
एरॉन जिब्राल्टर

7
किसी सूचीबद्ध फ़ाइल को खोलने के लिए आपको पुरानी फ़ाइल सूची के निचले भाग तक सभी को स्क्रॉल करने की आवश्यकता नहीं है। आप संख्या को याद कर सकते हैं फिर बाहर निकलने के लिए q दबाएं। फिर सामान्य मोड में, फ़ाइल खोलने के लिए '0,' 1, '2, ... दबाएं। मैं अक्सर q को नीचे तक स्क्रॉल करने से तेज होने के लिए दबाता हूं।
जेम्स लॉसन

28

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

http://www.vim.org/scripts/script.php?script_id=521


2
यह अच्छी तरह से काम करता है। मुझे लगता है कि मुझे आश्चर्य है कि एक प्लगइन आवश्यक है।
क्रिस

2
अंतर्निहित कमांड के बजाय एमआरयू के बारे में अच्छा विचार यह है कि यह हर बार एक क्लंकी विशाल सूची से निपटने के बजाय फ़ाइल नामों और टैब पूरा होने पर फ़िल्टर करने की अनुमति देता है।
बेन


9

विम को प्रारंभ करें और पहले से संपादित फ़ाइल खोलने के लिए Ctrl-oo मारा। पिछली फ़ाइलों के माध्यम से वापस जाने के लिए ओ (जबकि अभी भी Ctrl कुंजी दबाए रखें) मारते रहें। Https://dev.to/jovica/3-little-ogn-but-useful-vim-tips-1pbg देखें


2

vim plugin: minibufexpl आपकी मदद कर सकता है। खुली हुई फ़ाइल सूची स्क्रीन के ऊपर या नीचे प्रदर्शित होती है:

यहाँ छवि विवरण दर्ज करें

vim सामान्य मोड में, टाइप करें : ख $ {bufid} के लिए कूद करने $ {bufid} _th बफर, उदाहरण के लिए: प्रकार : B13 के लिए कूद करने 13 वीं , बफर अर्थात्। ngx_mail_ssl_module.c।

बगल में, आप अपने vimrc में कुछ सुविधाजनक बाइंडिंग मैप कर सकते हैं , जैसे:

" ------------------------------- minibufexpl mappings -----------------------------------
"let g:miniBufExplSplitBelow=1
nnoremap <silent> <leader>bn :bn<cr>
nnoremap <silent> <leader>bp :bp<cr>
nnoremap <silent> <leader>bf :bf<cr>
nnoremap <silent> <leader>bl :bl<cr>
nnoremap <silent> <leader>bt :TMiniBufExplorer<cr>

प्लगइन यहाँ से प्राप्त करें: https://github.com/fholgado/minibufexpl.vim


2

इसके अलावा oldfilesएक छोटी सी बात है जिसे कहा जाता है LittleMRU

विम-टिनीएमआरयू का एकमात्र उद्देश्य अंतर्निहित इनफिल्ड कमांड के लिए एक सहज विकल्प प्रदान करना है। न कुछ ज्यादा, न कुछ कम।

यह बहुत सरल है:

https://github.com/romainl/vim-tinyMRU/blob/master/plugin/tinymru.vim


2

एक अच्छा प्लगइन https://github.com/Shougo/denite.nvim है

आप :Denite file_oldपुरानी फाइलों की सूची में फजी खोज करने के लिए कॉल कर सकते हैं । विशेष रूप से, बस मारने Enterसे पिछली बार खोली गई फ़ाइल फिर से खुल जाएगी। इसके लिए एक शॉर्टकट असाइन करना उपयोगी है:

nnoremap <leader>o :Denite<space>file_old<CR>

इस की तुलना में कुछ कीस्ट्रोक्स की बचत होती है :browse oldfiles, q, 1,Enter


0

मेरे लिए हाल की फ़ाइलों को एक्सेस करने का सबसे आसान तरीका निम्न को एक .gvimrc फ़ाइल में जोड़ना है:

let g:netrw_sort_by           = 'time'

let g:netrw_sort_direction    = 'r'

इन पंक्तियों को netrw प्राप्त होता है जो हाल ही में संशोधित की गई फ़ाइलों के आधार पर छाँटते हैं। फिर एक बस कॉल: ई। और उस फ़ाइल का चयन करता है जिसे कोई चाहता है।

यह समाधान .gvimrc में निर्दिष्ट एक मुख्य निर्देशिका में फाइलों को सहेजता है। उदाहरण के लिए

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