Zobacz listę ostatnich dokumentów w Vimie

139

Czy jest sposób, aby wyświetlić listę ostatnio otwieranych dokumentów w Vimie? Zdaję sobie sprawę, że mógłbym wyświetlić listę przeskoków kursora :ju, a następnie przejść do pozycji kursora na liście, ale nie jest to idealne, ponieważ na liście będzie wiele list tego samego dokumentu. Czy jest inne polecenie, które zrobi to, czego szukam?

chris
źródło

Odpowiedzi:

206

Nie używaj wtyczki, chyba że chcesz mieć ładne menu. Z dokumentacji Vima: Uruchamianie (lub :help old):

:ol[dfiles]

Następnie, aby otworzyć jeden z wymienionych plików, użyj: '0, '1, '2, ...'9


Wymień pliki, które mają zapisane w viminfopliku oznaczenia .

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

Wyświetl nazwy plików, tak jak w przypadku :oldfiles, a następnie zapytaj o numer. Gdy numer jest prawidłowy, plik z listy jest edytowany. Służy !do porzucania zmodyfikowanego bufora.

Alex Bolotov
źródło
1
Dziękuję za odpowiedź, ale kiedy przeglądam pomoc dotyczącą uruchamiania tego polecenia, nie istnieje tak, jak w podanym łączu. Również próba użycia tego polecenia powoduje błąd „To nie jest polecenie edytora”. Dlaczego to?
chris
1
Pracuje dla mnie. @chris Wiesz, że bity w nawiasach są opcjonalne, prawda? tzn. „: bro ol” to skrót od „: przeglądaj stare pliki”
Mr_Chimp,
28
Aby otworzyć jeden z wymienionych plików, użyj: '0,' 1, '2, ...' 9. (Musiałem przejść do innego pytania, aby znaleźć tę odpowiedź, więc zamieszczam je tutaj.)
Stew
3
@ Stew link do tego pytania? To wydaje się nie działać dla mnie. [UPDATE] faktycznie to działa dla mnie z :browse oldfiles- przepraszam!
Aaron Gibralter,
8
Nie musisz przewijać do końca starej listy plików, aby otworzyć wymieniony plik. Możesz zapamiętać numer, a następnie naciśnij q, aby wyjść. Następnie w trybie normalnym naciśnij '0,' 1, '2, ..., aby otworzyć plik. Często stwierdzam, że naciśnięcie q jest szybsze niż przewijanie do dołu.
James Lawson
28

Wtyczka Ostatnio używane (MRU) zapewnia łatwy dostęp do listy ostatnio otwieranych / edytowanych plików w Vimie. Ta wtyczka automatycznie przechowuje nazwy plików, gdy otwierasz / edytujesz je w Vimie.

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

Craig Lebakken
źródło
2
To dobrze działa. Myślę, że jestem zaskoczony, gdy dowiedziałem się, że wtyczka jest konieczna.
chris
2
Miłym pomysłem na MRU zamiast wbudowanego polecenia jest to, że umożliwia filtrowanie nazw plików i uzupełnianie kart, zamiast zajmować się za każdym razem niezgrabną gigantyczną listą.
Ben
2

wtyczka vim: minibufexpl może ci pomóc. otwarta lista plików jest wyświetlana w górnej lub dolnej części ekranu:

wprowadź opis obrazu tutaj

w normalnym trybie vima wpisz : b $ {bufid}, aby przeskoczyć do bufora $ {bufid} _ -tego , na przykład: wpisz : b13, aby przeskoczyć do 13. bufora, tj. ngx_mail_ssl_module.c.

besidies można odwzorować kilka dogodnych powiązań w swojej vimrc, takie jak:

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

Pobierz wtyczkę stąd: https://github.com/fholgado/minibufexpl.vim

zhou lin
źródło
2

Dobra wtyczka to https://github.com/Shougo/denite.nvim

Możesz zadzwonić :Denite file_old, aby uzyskać rozmyte wyszukiwanie na liście starych plików. W szczególności, samo naciśnięcie Enterspowoduje ponowne otwarcie ostatnio otwartego pliku. Przypisanie skrótu do tego jest przydatne:

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

Pozwala to zaoszczędzić kilka klawiszy w porównaniu do :browse oldfiles, q, 1,Enter

Nadzieja
źródło
0

Najłatwiejszym sposobem uzyskania dostępu do ostatnich plików jest dodanie następującego pliku .gvimrc:

let g:netrw_sort_by           = 'time'

let g:netrw_sort_direction    = 'r'

Te wiersze powodują, że netrw sortuje pliki według ostatnio zmodyfikowanych. Wtedy po prostu dzwoni się: e. i wybiera żądany plik.

To rozwiązanie zakłada, że ​​pliki są zapisywane w jednym głównym katalogu określonym w .gvimrc. Na przykład

cd ~/vim
devcom
źródło