में टैब बंद करें पूर्ववत करें मैं विम में एक टैब बंद करता हूं और तुरंत महसूस करता हूं कि मुझे इसे फिर से खोलने की आवश्यकता है। क्या वीम 7.2 में बंद टैब को पूर्ववत करने का कोई तरीका है?विम
विम
उत्तर
मैं MRU (most recently used files) plugin का उपयोग कर रहा हूं।
File: mru.vim
Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
Version: 3.2 Last Modified:
September 22, 2008
प्रयोग
सूची और MRU सूची, आप कर सकते हैं से फ़ाइलों को संपादित करने के लिए: तो मैं पिछले 30 फ़ाइलें मैं सिर्फ
संपादित किया है यहाँ MRU प्लगइन मेटाडाटा हैं संपादित कर सकते हैं "एमआरयू" कमांड का प्रयोग करें। "एमआरयू" कमांड एक अस्थायी विम विंडो में एमआरयू फ़ाइल सूची प्रदर्शित करता है। यदि एमआरयू विंडो पहले ही खोला गया है, तो विंडो में प्रदर्शित एमआरयू सूची ताज़ा है।
क्या आप मूल उपयोग को सारांशित कर सकते हैं? –
मुझे यह जवाब नहीं समझा है ... ऐसा लगता है कि यह प्लगइन के उपयोग की सिफारिश कर रहा है? – Carpetsmoker
@ कार्पेट्समोकर हाँ, यह है: mru.vim। – trusktr
सरल उत्तर नहीं है, इसमें कुछ भी अंतर्निहित नहीं है।
लेकिन एक व्यावहारिक समाधान उत्कृष्ट BufExplorer जैसे प्लग-इन का उपयोग करना होगा। के बाद से यह पहली बार हाल ही में उपयोग बफ़र्स लिस्टिंग एक बंद टैब फिर से खोलने \bet
जैसा कि लूसिया ने उल्लेख किया है, आपको इसे काम करने के लिए पहले
दबाने आपकी फ़ाइल शायद अभी भी एक बफर में खुला है के रूप में सरल हो सकता है, के लिए चूक:,
:ls " get the buffer number
:tabnew +Nbuf " where N is the buffer number
बफर 18 फिर से खोलने के लिए उदाहरण:
:tabnew +18buf
उपयोग प्लग में बेन सुझाव: BufExplorer Github Mirror
उसके जवाब में एक <Leader>be<Down>t
प्रेस करने के लिए होगा। थोड़ा शॉर्टकट जोड़ना:
map <silent><leader>t <leader>be<Down>t
ताकि बस <leader>t
काम करना होगा।
:tabnew#
नया टैब
संपादित में हाल ही में बंद फ़ाइल को पुनः खोलता है: greyfade के जवाब का उपयोग करें। मुझे मेरा जवाब पसंद नहीं है, लेकिन मैं इसे संदर्भ और उपयोगी टिप्पणी जानकारी के लिए यहां रख रहा हूं।
मेरे लिए काम नहीं किया - विम 7.4 –
अजीब, ऐसा लगता है कि यह पहले काम करता है अब यह असंबंधित बफर खोल रहा है। –
'#' वर्तमान विंडो में अंतिम संपादित फ़ाइल है। एक टैब बंद करना फ़ाइल को वैकल्पिक ('#') के रूप में पंजीकृत नहीं करता है। आपको इसे बफर नंबर (': ls') – Sukima
यदि BufferClose
ईवेंट था तो यह आसान होगा ... but it seems that it is not possible since it is not possible for window creation।
लेकिन टैब के मामले में हम यह पता लगा सकते हैं कि एक टैब गिनती रखते हुए एक टैब बंद किया गया था और TabLeave
और TabEnter
के बीच अंतर की गणना कर रहा था।
उपयोग:
let g:reopenbuf = expand('%:p')
function! ReopenLastTabLeave()
let g:lastbuf = expand('%:p')
let g:lasttabcount = tabpagenr('$')
endfunction
function! ReopenLastTabEnter()
if tabpagenr('$') < g:lasttabcount
let g:reopenbuf = g:lastbuf
endif
endfunction
function! ReopenLastTab()
tabnew
execute 'buffer' . g:reopenbuf
endfunction
augroup ReopenLastTab
autocmd!
autocmd TabLeave * call ReopenLastTabLeave()
autocmd TabEnter * call ReopenLastTabEnter()
augroup END
" Tab Restore
nnoremap <leader>tr :call ReopenLastTab()<CR>
इस vi.stackexchange.com के लिए ले जाया जा सकता है:
<leader>tr
नए टैब पर पिछले बंद टैब पुन: खोलता है (टैब मान केवल एक ही बफर था)? – Sukimaहाय, [विस्क्रिप्ट और विंडो प्लेआउट प्लगइन का यह बिट] (https: //www.reddit।com/r/vim/टिप्पणियां/3ke941/undo_close_tab/cux8gh2) नौकरी करता है: यह आपके द्वारा अभी बंद किए गए टैब को फिर से खोलता है और आपके पास विंडो लेआउट वापस लाता है। –