2009-09-03 16 views
6

Mi chiedo se posso mantenere l'ido dal non ricordare la mia cronologia e mostrare solo i completamenti per i file che si trovano nella directory corrente quando cerco un file. Capisco che questa funzione di cronologia sia utile a volte, ma spesso finisco per modificare il file errato perché penso di modificare il file chiamato "abc.txt" nella directory corrente, ma in realtà sto modificando il file con lo stesso nome in un altro che ho visitato in precedenza (spesso accade quando non c'è un 'abc.txt' nella directory corrente, come suppongo erroneamente). Dalla lettura del file ido.el ho pensato di impostare nel mio file .emacs (anche valutato queste espressioni nella corsa esempio emacs):emacs: forza ido-mode per dimenticare la cronologia

(custom-set-variables 
'(ido-enable-last-directory-history nil) 
'(ido-record-commands nil) 
) 

e cancellato un file chiamato .ido.last in ~ /, ma ancora ricorda alcuni file precedenti che ho visitato prima di apportare queste modifiche. Come posso eliminare la mia storia precedente e non sono del tutto sicuro di quale sia la differenza tra le due variabili sopra riportate, ma sembra che abbia fatto il trucco per mantenere l'ido dal ricordo dei file che visito in futuro?

Grazie per il vostro aiuto!

+0

Ah, devo aver avuto un'altra istanza di emacs in esecuzione quando ho provato a eliminare ~/.ido.last prima - l'eliminazione di ~/.ido.last sembra funzionare, ei comandi precedenti impediscono di ricordare quelli nuovi!) – hatmatrix

+0

Si prega di rendere il vostro commento una risposta e contrassegnare la propria risposta come risposta accettata in modo che questo non continui a sembrare una domanda senza risposta per le persone che cercano di aiutare. –

+0

Scusa, non conoscevo quella parte dell'etichetta di SO. – hatmatrix

risposta

8

Eliminando ~/.ido.last e impostando le variabili come sopra appare per mantenere l'ido dalla ricerca di file visitati in passato.

Edit: In realtà, la personalizzazione completa per questo compito sarebbe

(custom-set-variables 
'(ido-enable-last-directory-history nil) 
'(ido-record-commands nil) 
'(ido-max-work-directory-list 0) 
'(ido-max-work-file-list 0)) 
4

Questo succede a me tutto il tempo. Dato che sono nella directory /path/to/dir e provo a modificare abc.txt, (ido-find-file) sarà "disponibile" a me /somewhere/else/abc.txt se /path/to/dir/abc.txt non esiste e /somewhere/else/abc.txt sì.

In questo situtation, CTRL-F nel minibuffer quando nel mezzo di un (ido-find-file) verrà riportato normale comportamento di (find-file), così posso forzare Emacs per modificare /path/to/dir/abc.txt, dannazione.

+0

Mi è molto utile! – ifree

1

L'impostazione ido-auto-merge-work-directories-length a -1 disabilita la commutazione automatica delle directory.

Problemi correlati