Modo più rapido in Trova-file con helm?


9

In emacs con helm, posso C-x C-ftrovare file. Dopo aver digitato parte del nome della cartella, helm trova la cartella giusta. A questo punto, posso

  1. premere Enterper entrare in modalità Dired. e C-sper cercare una cartella di secondo livello ...
  2. o premi tabper completare il nome della cartella e continua a digitare parte del secondo nome foler.

C'è un modo per trovare file più velocemente come nell'editor di testo sublime? (fuzzy cerca sia i nomi dei file che i nomi delle cartelle).

Risposte:


10

È possibile utilizzare Helm Projectile per saltare facilmente i file nei progetti. Ci sono alcune demo in cima alla mia guida . Puoi persino trattare qualsiasi directory come un progetto e saltare ovunque creando un .projectilefile vuoto in quella directory, se il tuo progetto non è direttamente supportato da Projectile. Projectile non solo consente di saltare a file / directory da qualsiasi luogo e in qualsiasi momento, ma è anche possibile saltare a qualsiasi file al cursore, in qualsiasi file senza semplicemente il nome del file.

Per saltare per trovare, utilizzare helm-projectile-find-file, associato per C-c p fimpostazione predefinita.

Per saltare alla directory, utilizzare helm-projectile-dir, associato per C-c p dimpostazione predefinita.

Per alternare tra progetti riconosciuti, utilizzare helm-projectile-projects, associato a Cc p p.

Proiettile può eventualmente essere usato in una directory con un gran numero di file (cioè la tua home directory con qualcosa come 80k-100k file) abilitando la memorizzazione nella cache:

(setq projectile-enable-caching t)

A seconda del disco rigido, il primo avvio helm-projectile-find-filepotrebbe richiedere alcuni minuti per recuperare l'elenco dei file e bloccare Emacs. Ma questo succede solo una volta . L'accesso successivo consente di ottenere immediatamente l'elenco dei file fino a quando non si annulla la cache.

Nota che puoi trovare una corrispondenza fuzzy senza inserire uno spazio tra i termini di ricerca. La differenza è che, se aggiungi uno spazio, Helm ritorna al suo vecchio comportamento di corrispondenza: corrispondenza esatta con regex. Senza uno spazio, Helm usa la corrispondenza fuzzy simile a quella che vedi in Sublime Text.


Wow! Questo sta davvero cambiando la vita! Grazie mille!
Nick,

@Nick ho aggiornato la risposta.
Ma Do

Grazie per avermelo ricordato. Penso che aggiungere cashingalla tua risposta farebbe apprezzare più persone projectile. (Ho aggiunto un .projectilefile alla mia directory home, il che rende tutto più lento. Ho letto la tua guida e aggiunto (setq projectile-enable-caching t)alla mia configurazione, tutto è magicamente veloce! Penso che anche altri tenderebbero a farlo.)
Nick,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.