2009-09-03 10 views
6

Me pregunto si puedo evitar que ido no recuerde mi historial y solo mostrar completions para los archivos que están en el directorio actual cuando estoy buscando un archivo. Entiendo que esta función de historial es útil a veces, pero a menudo termino editando el archivo incorrecto porque creo que estoy editando un archivo llamado 'abc.txt' en el directorio actual, pero de hecho estoy editando el archivo con el mismo nombre en otro que visité anteriormente (a menudo sucede cuando no hay un 'abc.txt' en el directorio actual, como supongo por error). De la lectura del archivo ido.el pensé poner en mi archivo .emacs (también evaluado estas expresiones en la ejecución de una instancia emacs):emacs: force ido-mode para olvidar la historia

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

y borrado un archivo llamado .ido.last en ~ /, pero todavía recuerda algunos archivos anteriores que he visitado antes de hacer estos cambios. ¿Cómo puedo purgar mi historial anterior, y no estoy del todo seguro de cuál es la diferencia entre las dos variables anteriores, pero parece haber hecho el truco para evitar que ido recuerde los archivos que visito en el futuro?

Gracias por su ayuda!

+0

Ah, debo haber tenido otra instancia de emacs en ejecución cuando intenté borrar ~/.ido.last antes - borrar ~/.ido.last parece funcionar, y los comandos anteriores evitan que recuerde los nuevos!) – hatmatrix

+0

Responda con un comentario y marque su respuesta como la respuesta aceptada, de modo que esto no siga pareciendo una pregunta sin respuesta para las personas que buscan ayudar. –

+0

Lo siento, no sabía esa parte sobre SO etiqueta. – hatmatrix

Respuesta

8

Borrar ~/.ido.last y configurar las variables como se indica anteriormente parece evitar que ido busque los archivos visitados en el pasado.

Editar: En realidad, la personalización completa para esta tarea sería

(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

Esto me pasa todo el tiempo. Teniendo en cuenta que estoy en el directorio /path/to/dir y trato de editar abc.txt, (ido-find-file) me aparecerá "amablemente" en /somewhere/else/abc.txt si /path/to/dir/abc.txt no existe y /somewhere/else/abc.txt si.

En este situtation, CTRL-F en el minibúfer cuando en medio de una (ido-find-file) vuelve al comportamiento habitual de (find-file), por lo que puede obligar a Emacs para editar /path/to/dir/abc.txt, maldición.

+0

¡Es realmente útil para mí! – ifree

1

Configuración ido-auto-merge-work-directories-length a -1 desactiva la conmutación automática de directorios.

Cuestiones relacionadas