Vim'deki son belgelerin bir listesini görüntüleyin


131

Vim'de açtığınız son belgelerin listesini görüntülemenin bir yolu var mı? İmleç atlama listesini görüntüleyebileceğimi :juve ardından listedeki bir imleç konumuna gidebileceğimi fark ettim, ancak bu ideal değil çünkü listede aynı belgenin birden fazla listesi olacak. Aradığımı yapacak başka bir komut var mı?

Yanıtlar:


200

Güzel bir menü istemediğiniz sürece bir eklenti kullanmayın. Gönderen Vim Dokümantasyon: Başlangıç (veya :help old):

:ol[dfiles]

Sonra listelenen dosyalardan birini açın, kullanımı: '0, '1, '2, ...'9


viminfoDosyada kayıtlı işaretlere sahip dosyaları listeleyin .

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

Dosya adlarını olduğu gibi listeleyin :oldfilesve ardından bir numara isteyin. Numara geçerli olduğunda, listedeki o dosya düzenlenir. !Değiştirilmiş bir tamponu terk etmek için kullanın .


1
Cevabınız için teşekkür ederim, ancak bu komutu Başlatmak için yardıma baktığımda, sağladığınız bağlantıda olduğu gibi mevcut değil. Ayrıca bu komutu kullanmaya çalışmak "Düzenleyici değil komutu" hatasını verir. Bu neden?
chris

1
Benim için çalışıyor. @chris Parantez içindeki bitlerin isteğe bağlı olduğunu biliyorsunuz, değil mi? yani ": ol bro": "Göz atma oldfiles" bir kısaltma olan
Mr_Chimp

28
Listelenen dosyalardan birini açmak için şunu kullanın: '0,' 1, '2, ...' 9. (Bu yanıtı bulmak için başka bir soruya gitmem gerekti, bu yüzden buraya gönderiyorum.)
Yah

3
Bu soruya @ güveç bağlantısı? Benim için işe yaramıyor gibi görünüyor. [GÜNCELLEME] aslında benim için çalışıyor :browse oldfiles- üzgünüm!
Aaron Gibralter

7
Listelenen bir dosyayı açmak için eski dosya listesinin sonuna kadar kaydırmanız gerekmez. Numarayı hatırlayabilir ve ardından çıkmak için q tuşuna basabilirsiniz. Ardından normal modda, dosyayı açmak için '0,' 1, '2, ... tuşlarına basın. Sık sık q tuşuna basmanın, aşağıya kaydırmaktan daha hızlı olduğunu düşünüyorum.
James Lawson

28

En Son Kullanılan (MRU) eklentisi, Vim'de en son açılan / düzenlenen dosyaların listesine kolay erişim sağlar. Bu eklenti, dosya adlarını Vim'de açarken / düzenlerken otomatik olarak depolar.

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


2
Bu güzel çalışıyor. Sanırım bir eklentinin gerekli olduğunu öğrenince şaşırdım.
chris

2
Yerleşik komuttan ziyade MRU hakkındaki güzel düşünce, her seferinde hantal bir listeyle uğraşmak yerine dosya adlarında filtreleme ve sekme tamamlamaya izin vermesidir.
Ben



2

vim eklentisi: minibufexpl size yardımcı olabilir. açılan dosya listesi ekranın üstünde veya altında görüntülenir:

görüntü açıklamasını buraya girin

vim normal modunda, $ {bufid} _th arabelleğe atlamak için : b $ {bufid} yazın , örneğin: 13. arabelleğe atlamak için : b13 yazın , yani. ngx_mail_ssl_module.c.

besidies, vimrc'nizde aşağıdaki gibi bazı uygun bağlamaları eşleyebilirsiniz :

" ------------------------------- 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>

Eklentiyi buradan edinin: https://github.com/fholgado/minibufexpl.vim



2

İyi bir eklenti https://github.com/Shougo/denite.nvim

Sen diyebilirsin :Denite file_oldeski dosyaların listesinde bulanık arama sahip olmak için. Özellikle, sadece vurmak Enterson açılan dosyayı yeniden açacaktır. Buna bir kısayol atamak faydalıdır:

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

Bu oranla birkaç tuşa kaydeder :browse oldfiles, q, 1,Enter


0

En son dosyalara erişmenin en kolay yolu, aşağıdakileri birinin .gvimrc dosyasına eklemektir:

let g:netrw_sort_by           = 'time'

let g:netrw_sort_direction    = 'r'

Bu satırlar netrw ile dosyaları en son değiştirilenlere göre sıralar. Sonra biri basitçe arar: e. ve birinin istediği dosyayı seçer.

Bu çözüm, dosyaların .gvimrc'de belirtilen bir ana dizine kaydedildiğini varsayar. Örneğin

cd ~/vim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.