2009-09-03 14 views
6

Zastanawiam się, czy mogę zachować ido, aby nie pamiętać mojej historii i pokazywać tylko uzupełnienia dla plików znajdujących się w bieżącym katalogu, gdy szukam pliku. Rozumiem, że ta funkcja historii jest czasami przydatna, ale często kończę edycję nieprawidłowego pliku, ponieważ myślę, że edytuję plik o nazwie "abc.txt" w bieżącym katalogu, ale tak naprawdę edytuję plik o tej samej nazwie w inny, który wcześniej odwiedziłem (często dzieje się, gdy nie ma "abc.txt" w bieżącym katalogu, jak błędnie zakładam). Z odczytu pliku ido.el Myślałem ustawić w moim pliku .emacs (oceniano również te wyrażenia w bieżącej instancji emacs):emacs: wymusić tryb ido, aby zapomnieć historię

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

i skasowany plik o nazwie .ido.last w ~ /, ale jeszcze go zapamiętuje niektóre poprzednie pliki, które odwiedziłem przed wprowadzeniem tych zmian. Jak mogę wyczyścić poprzednią historię i nie jestem do końca pewien, jaka jest różnica pomiędzy powyższymi dwoma zmiennymi, ale wydaje się, że udało się utrzymać ido z zapamiętywania plików, które odwiedzę w przyszłości?

Dzięki za pomoc!

+0

Ach, musiałem uruchomić jeszcze jedną instancję emacsa, gdy próbowałem usunąć ~/.ido.last przed - usunięcie ~/.ido.last wydaje się działać, a powyższe polecenia powstrzymują ją od zapamiętywania nowych!) – hatmatrix

+0

Proszę o komentarz jako odpowiedź i zaznacz swoją odpowiedź jako zaakceptowaną odpowiedź, aby nie wyglądało to jak pytanie bez odpowiedzi dla osób, które chcą pomóc. –

+0

Niestety, nie znałem tej części etykiety SO. – hatmatrix

Odpowiedz

8

Usunięcie ~/.ido.last i ustawienie zmiennych jak powyżej powoduje, że ido nie będzie szukało plików odwiedzonych w przeszłości.

Edit: Właściwie pełne dostosowanie do tego zadania byłoby

(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

Dzieje się tak ze mną cały czas. Biorąc pod uwagę, że jestem w katalogu /path/to/dir i spróbuję edytować abc.txt, (ido-find-file), "pomocniczo" podpiszę do /somewhere/else/abc.txt, jeśli /path/to/dir/abc.txt nie istnieje i robi.

W tym situtation, CTRL-F w minibufora gdy w środku (ido-find-file) powraca do zwykłego zachowania (find-file), więc mogę zmusić Emacs edytować /path/to/dir/abc.txt, do cholery.

+0

Bardzo mi to pomaga! – ifree

1

Ustawienie ido-auto-merge-work-directories-length na -1 wyłącza automatyczne przełączanie katalogów.