Ad esempio, sto modificando un file di configurazione e voglio digitare un percorso. Esiste un plugin per emacs che ti consente di completare un percorso di file in quel buffer? Ho cercato questo e c'è un bazillion plugin di completamento là fuori.
Ad esempio, sto modificando un file di configurazione e voglio digitare un percorso. Esiste un plugin per emacs che ti consente di completare un percorso di file in quel buffer? Ho cercato questo e c'è un bazillion plugin di completamento là fuori.
Risposte:
Prova Hippie Expand , che ha una delle sue possibilità ' try-complete-file-name
. È possibile modificare l'ordine e l'elenco delle funzioni di espansione che hippie expand utilizzerà per favorire l'espansione del nome del file.
Oppure, potresti persino scrivere un wrapper personalizzato che farebbe solo l'espansione del nome file. Qualcosa di simile a:
(global-set-key (kbd "C-M-/") 'my-expand-file-name-at-point)
(defun my-expand-file-name-at-point ()
"Use hippie-expand to expand the filename"
(interactive)
(let ((hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name)))
(call-interactively 'hippie-expand)))
Di solito scrivo Ctrl- X Ctrl- Fcome se aprissi un file, ma invece di premere RETpremo Ctrl- A Ctrl- K Ctrl- Gper copiare il percorso e quindi incollarlo nel buffer con cui stavo modificando Ctrl- Y.
Non ne ho bisogno abbastanza spesso, ma se volessi davvero una soluzione migliore, utilizzerei sicuramente la soluzione di Trey Jackson hippie-expand
. Ho pensato a come hippie-expand
potrebbe essere un modo migliore per farlo quando ho risposto per la prima volta, ma non lo sapevo ed ero troppo pigro per cercarlo, quindi ho appena scritto quello che faccio.
La vaniglia, pronta all'uso
M-x comint-dynamic-complete-filename
funziona al di fuori della modalità Comint. Naturalmente, è possibile utilizzare l'espansione dinamica del minibuffer di utilizzare meno tasti per arrivare ad essa (per esempio, Mx comi nt- dy namic- c omplete -f ilename). Oppure, se lo utilizzerai frequentemente, puoi associarlo a una sequenza di tasti a tua scelta utilizzando global-set-key
.
È anche possibile farlo utilizzando il completamento automatico dell'azienda se company-files
sono nell'elenco company-backends
(predefinito nella mia installazione) o esplicitamente chiamando company-files
.
Di recente ho scoperto le opere di Tomohiro Matsuyama (@ m2ym) e sono rimasto molto colpito dalla qualità dei suoi pacchetti emacs.
Ho lottato con la maggior parte delle estensioni di completamento automatico e ho scoperto che tutte hanno gravi carenze.
Dai un'occhiata al completamento automatico di Tomo ( http://auto-complete.org/doc/manual.html ) è stato semplicissimo da installare (sono su Linux) e copre molte esigenze di completamento automatico in modo moderno .
Naturalmente, la tua richiesta di completamento dei nomi di file nel buffer è perfettamente coperta.
Infine, se ti capita di fare anche Ruby, assicurati di non perdere la sua estensione RSense ; di nuovo, il migliore nel suo genere.
find-file
ad esempio). Vuoi un comportamento simile in un buffer di contenuto?