Anteprima rapida dei file


8

Simile a questa domanda , vorrei uno strumento / modalità minore per visualizzare rapidamente in anteprima i miei file semplicemente posizionando il cursore su di essi (ad esempio il file attualmente selezionato viene visualizzato nella finestra del buffer attivo). Non mi importa degli eventi deprimenti e non voglio un overlay. Se è selezionato, lo voglio visualizzato nella finestra attiva. Premere Invio e passare al buffer è troppo lento per scorrere un mucchio di file di dati grezzi. Come potrei farlo?


Per quegli utenti che usano OSX, esiste un'applicazione nativa chiamata qlmanageche può essere utilizzata per visualizzare il contenuto del file o pdf o immagine. Un altro partecipante al forum ha scritto una funzione per eliminare i processi successivi durante la visualizzazione di più elementi (uno dopo l'altro) con detta applicazione. Ecco il link al thread pertinente: stackoverflow.com/questions/20023458/… Attualmente lo ho impostato in modo da poter utilizzare il tasto freccia su o giù in una modalità di gestione file e qlmanagevisualizzare il contenuto del file al punto.
elenco delle leggi del

Risposte:


4

Questa domanda StackOverflow è uguale alla tua. E la risposta accettata dall'OP è buona. Ci sono anche altre buone risposte lì.

Allo stesso modo, questa domanda a help-gnu-emacs@gnu.org è essenzialmente la stessa.

La mia risposta ad entrambe le domande è usare Icicles e definire questo comando:

    (defun my-find-file ()
      "Come" icicle-find-file ", ma alt action visualizza temporaneamente il file.
    Tasti di azione alternativi come `CS-down 'visitano il file candidato in
    "view-mode" ed elimina il buffer dell'ultimo candidato visualizzato. "
      (Interattivo)
      (let ((icicle-candidate-alt-action-fn
             (lambda (file)
               (quando (e il mio ultimo visualizzato
                          (get-file-buffer my-last-seen))
                 (kill-buffer (get-file-buffer my-last-seen)))
               (setq my-last-visualizzato (abbreviate-file-name file))
               (visualizza file file)
               (Select-frame-set-input-fuoco
                  (window-frame (active-minibuffer-window))))))
        (Ghiacciolo-find-file-di-contenuto)))

    (defvar il mio ultimo visto zero
      "Ultimo file visualizzato per azione alternativa di` my-find-file '. ")

Allora puoi:

  1. Utilizzare M-x my-find-file(o associarlo a una chiave, ad es C-x C-f.).
  2. Digitare facoltativamente parte del nome di un file, per limitare i nomi corrispondenti.
  3. Facoltativamente, utilizzare downo upper scorrere tra i nomi dei file.
  4. Utilizzare C-S-downper visitare il file successivo in ordine.
  5. Ripeti # 4 per vedere altri file in ordine.
  6. Ripeti # 2 o # 3 per vedere altri set di file.
  7. Termina con RETper scegliere un file da visitare o C-gda annullare.

Vedi i post collegati per maggiori informazioni.


1
So che è tuo diritto scegliere il tuo modello di sviluppo. Come utente vorrei che fosse su github o in qualche repository git piuttosto che emacswiki. Non hai bisogno di rispondermi, basta scrivere qui per farti sapere cosa provo. Grazie, per i tuoi continui sforzi nell'aiutare gli utenti di emacs.
kindahero,

@kindahero: FWIW, tutte le mie librerie sono anche su [MELPA] (www.melpa.org).
Drew

12

Ho scoperto che questa funzionalità è già integrata in Helm . Per usarlo, usa le frecce su e giù e premi C-su / C-giù.


1
Grazie per averlo menzionato. C'è sempre qualcos'altro di semplice ma sorprendente da imparare su Helm!
Blujay,

Ricordo che un tempo funzionava, ma l'ho provato di recente e ho ricevuto il messaggio di errore "Helm-follow-mode allowed only on images, disabling". Ho provato a rimuovere il bit che lo controlla, e helm-follow-mode sembra funzionare ancora con file normali, anche se è un po 'lento aprire ogni file. Qualcuno sa perché hanno cambiato questo comportamento?
0x5453,
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.