¿Cómo vuelvo a abrir un archivo en emacs?

16

En versiones anteriores de emacs solía escribir:

C-x C-f RET

Y volvería a abrir el archivo visitado actualmente en el búfer. Ahora (emacs 23.1.1) abre Dired del directorio.

Eyal
fuente

Respuestas:

18

Yo uso el M-x find-alternate-fileque está vinculado por defecto C-x C-v.

Este comando permite volver a cargar un archivo en el búfer actual, volviendo a cargar el mismo archivo incluido, que se muestra en el mini-búfer de forma predeterminada. Sin embargo, esto no es tan conveniente si tiene el modo ido habilitado para el cambio de búfer, ya que no mostrará el nombre del archivo actual de forma predeterminada.

Mcradle
fuente
Otras respuestas también fueron excelentes, pero esta respuesta tiene la menor cantidad de pulsaciones de teclas.
Eyal
Este método activa el gancho de modo, mientras que la respuesta de Gilles find-fileno lo activará.
PanJunjie 潘俊杰
10

¿Estás seguro de que no quieres simplemente revertir el búfer?

M-x revert-buffer RET
jwernerny
fuente
6

Puedes hacer C-x C-f M-n RET. El comportamiento cambió porque C-x C-f RETvolver a abrir un archivo no era tan común como C-x C-f DEL RETinvocar Dired en el directorio.

También puede usar M-x revert-bufferpara volver a cargar un archivo desde el disco, y Emacs le dirá (en la mayoría de los sistemas operativos) si intenta editar un archivo cuya copia en el disco se ha modificado externamente.

C-x C-f M-n También es útil para obtener la ruta completa al archivo en el minibúfer, para que pueda abrir un archivo con un nombre similar o copiarlo al anillo de corte o al portapapeles.

Gilles 'SO- deja de ser malvado'
fuente
2

He encontrado una sugerencia útil volver al comportamiento anterior del C-x C-f RETsobre de ayuda-gnu-emacs lista de correo :

Este truco fue publicado por Ted Stern:

(defun find-file-read-args (prompt mustmatch)
  (list (let ((find-file-default
           (and buffer-file-name
                (abbreviate-file-name buffer-file-name))))
      (read-file-name prompt nil find-file-default mustmatch))
    t))

Lo probé y funciona bien para mí en emacs 23.1.1.

AV
fuente