2010-01-03 7 views
14

Por ejemplo, cuando abre un archivo mediante C-x-C-f, puede TAB completar los nombres de archivo, y si hay más de una finalización posible, se abrirá un búfer de finalización con una lista de posibles terminaciones. El problema es que, después de abrir el archivo, la ventana en la que se encontraba el búfer vuelve a la normalidad, pero no se cierra. ¿Hay alguna forma de que pueda hacer que esos búferes se cierren automáticamente después de que se haya abierto el archivo?¿Hay alguna forma de cerrar automáticamente los buffers de compleción de nombre de archivo en Emacs?

+2

Qué quiere decir que quiere "matar" por completo la * Completions * buffer después de ser utilizado (en lugar del comportamiento predeterminado que es solo "ocultarlo")? – luapyad

+0

La configuración de la ventana vuelve a ser lo que era antes de intentar las terminaciones (en Cx Cf para un emacs simple ('emacs -q'). ¿Puede dar más detalles? ¿Es Cx Cf quizás no enlazado a' find-file '? –

Respuesta

7

Aunque no resuelve directamente su problema, ¿ha considerado ido-mode como un mecanismo para abrir archivos?

ido-mode se unirá C-x C-f a ido-find-file esto le permite abrir archivos interactivamente (seleccionar entre los conflictos de nombres dentro de la minibuffer C-s y varias otras características ingeniosas) Me parece que es un método mucho más fácil de encontrar archivos y se librará de la *Completions* buffer en total.

+0

Gracias. Lo comprobaré – Rayne

+0

Perfecto para mí. Gracias. – Rayne

+0

Tiene muchos otros usos que los que se describen aquí y es parte de emacs por defecto (de la versión 22, creo). Cuanto más lea qué puede hacer, más probablemente le gustará. – kjfletch

13

este momento para entrar muy tarde en esto, pero esta es la forma en que hago:

;; Remove completion buffer when done 
(add-hook 'minibuffer-exit-hook 
     '(lambda() 
     (let ((buffer "*Completions*")) 
      (and (get-buffer buffer) 
      (kill-buffer buffer))))) 

Probado en GNU Emacs y 22.x 23.x

Cuestiones relacionadas