Wie kann ich auf kürzlich verwendete Dateien zugreifen, indem ich aus einer Liste auswähle?


8

Ich hätte gerne einen Tastendruck, um eine Liste der zuletzt verwendeten Dateien anzuzeigen und eine zum Bearbeiten auszuwählen.

  • Was brauche ich dafür?

Und die damit verbundenen,

  • Wie verwalte ich den Verlauf der zuletzt verwendeten Dateien?
  • Dies sollte das Ausschließen von Dateinamen oder Unterverzeichnissen unterstützen.

Würde es Ihnen etwas ausmachen, etwas zu erweitern, was Sie unter "Unterstützung ohne ..." verstehen? Meinen Sie damit, dass Sie eine Liste aller Dateien anzeigen möchten, mit Ausnahme einiger Dateien, die einem Muster entsprechen, oder dass Sie bestimmte Dateien davon ausschließen möchten, jemals in der Liste angezeigt zu werden? (Die letztere Option ist die Antwort von @ muru autocmd; die erstere scheint nützlicher und möglicherweise einfacher zu erreichen zu sein.)
Kyle Strand

@KyleStrand Ich habe an die erste Variante gedacht, eine Datei auszuschließen, wenn der Pfad mit einem aus einer Liste von Mustern übereinstimmt. Zum Beispiel könnten die Muster so etwas wie sein *.tmp,/tmp/*,/mnt/foo/*.
Volker Siegel

Antworten:


10

Sie können den :browseBefehl dafür verwenden:

:browse oldfiles

Ordnen Sie einen Tastendruck zu:

nnoremap <Leader>o :browse oldfiles<cr>

Anschließend können Sie Leader oim normalen Modus drücken , um eine Liste der Dateien anzuzeigen.

Von :help v:oldfiles:

                                        v:oldfiles oldfiles-variable
v:oldfiles      List of file names that is loaded from the viminfo file on
                startup.  These are the files that Vim remembers marks for.
                The length of the List is limited by the ' argument of the
                'viminfo' option (default is 100).
                When the viminfo file is not used the List is empty.

Um beispielsweise 50 Dateien einzuschränken, können Sie Folgendes festlegen viminfo:

set viminfo+='50

Ich sehe keine einfache Möglichkeit, Dateien davon auszuschließen, außer die Deaktivierung viminfomit autocmd:

autocmd BufNew *.sh set viminfo=

Dies hat den großen Fehler, den gesamten Verlauf für jede Sitzung zu deaktivieren, bei der Dateien abgeglichen werden.


Das ist eine großartige Funktion, von der ich noch nie gehört hatte.
Kyle Strand

Könnte es möglich sein, den browseBefehl mit OP zu kombinieren uniteund / oder PipeCmddie Filterung zu erreichen, die OP möchte?
Kyle Strand

@KyleStrand Ich habe es auch noch nie benutzt, also weiß ich es nicht.
Muru

4

Schauen Sie sich die MRU-Funktion von Strg-P ​​an . Sobald Sie es installiert haben, geben Sie ein :CtrlPMRUFilesund es öffnet sich ein Fuzzy-Finder am unteren Bildschirmrand, den Sie durch Fuzzy-Suchen durchsuchen können.Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.