Schneller Weg in Find-Datei mit Helm?


9

In Emacs mit Helm kann ich C-x C-fDatei finden. Nachdem Sie einen Teil des Ordnernamens eingegeben haben, sucht helm den richtigen Ordner. An diesem Punkt kann ich

  1. Drücken Sie, Enterum in den Dired-Modus zu wechseln. und C-sum einen Ordner der zweiten Ebene zu durchsuchen ...
  2. oder tabdrücken Sie, um den Ordnernamen zu vervollständigen, und geben Sie einen Teil des zweiten Ordnernamens ein.

Gibt es eine Möglichkeit, Dateien schneller zu finden als im großartigen Texteditor? (Fuzzy-Suche sowohl der Dateinamen als auch der Ordnernamen).

Antworten:


10

Mit Helm Projectile können Sie problemlos in Dateien in Projekten springen. Oben in meinem Handbuch finden Sie einige Demos . Sie können sogar jedes Verzeichnis als Projekt behandeln und zu einer beliebigen Stelle springen, indem Sie eine leere .projectileDatei in diesem Verzeichnis erstellen, wenn Ihr Projekt von Projectile nicht direkt unterstützt wird. Projectile bietet nicht nur das Springen zu Dateien / Verzeichnissen von überall und jederzeit, sondern Sie können auch zu jeder Datei am Cursor springen, in jeder Datei ohne lediglich den Dateinamen.

Zum Springen verwenden helm-projectile-find-file, C-c p fstandardmäßig gebunden .

Verwenden Sie zum Wechseln in ein Verzeichnis standardmäßig helm-projectile-dirgebunden C-c p d.

Um zwischen erkannten Projekten zu wechseln, verwenden Sie helm-projectile-projects, gebunden an Cc p p.

Projectile kann möglicherweise in einem Verzeichnis mit einer großen Anzahl von Dateien verwendet werden (dh in Ihrem Home-Verzeichnis mit etwa 80.000 bis 100.000 Dateien), indem Sie das Caching aktivieren:

(setq projectile-enable-caching t)

Abhängig von Ihrer Festplatte helm-projectile-find-filekann es eine Weile dauern , bis das erste Mal gestartet wird, um die Dateiliste abzurufen und Emacs zu blockieren. Dies kommt aber nur einmal vor . Nach dem Zugriff erhalten Sie die Dateiliste sofort, bis Sie den Cache ungültig machen.

Beachten Sie, dass Sie Fuzzy-Übereinstimmungen durchführen können, ohne ein Leerzeichen zwischen den Suchbegriffen einzugeben. Der Unterschied besteht darin, dass Helm, wenn Sie ein Leerzeichen hinzufügen, zu seinem alten Übereinstimmungsverhalten zurückkehrt: exakte Übereinstimmung mit Regex. Ohne Leerzeichen verwendet Helm die Fuzzy-Übereinstimmung, die der in Sublime Text gezeigten ähnelt.


Beeindruckend! Das ist wirklich lebensverändernd! Vielen Dank!
Nick

@ Nick Ich habe die Antwort aktualisiert.
Tu Do

Vielen Dank für Ihre Erinnerung. Ich denke, wenn Sie cashingIhre Antwort ergänzen , werden mehr Menschen sie schätzen projectile. (Ich .projectilehabe meinem Home-Verzeichnis eine Datei hinzugefügt , die alles verlangsamt. Ich habe Ihren Leitfaden gelesen und (setq projectile-enable-caching t)zu meinem Setup hinzugefügt , alles ist magisch schnell! Ich denke, andere würden es auch tun.)
Nick
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.