2010-04-18 16 views

Respuesta

15

No es exactamente la respuesta a su pregunta, pero que le gustaría saber que se puede optar por tener un buffer diferente abierto en el arranque, o cambiar el contenido de la memoria intermedia * * cero. Por ejemplo:

;; Make *scratch* buffer blank. 
(setq initial-scratch-message nil) 

;; Make the buffer that opens on startup your init file ("~/.emacs" or 
;; "~/.emacs.d/init.el"). 
(setq initial-buffer-choice user-init-file) 

En el primer ejemplo, el búfer * scratch * estará vacío. En el segundo ejemplo, el búfer * scratch * aún existirá, pero el archivo user-init se enfocará.

+2

Creo que la primera variable en realidad se llama 'initial-scratch-message' (no' -buffer'). –

+0

'mensaje' se refiere al mensaje que se muestra dentro del búfer de rayar, por ejemplo," ¡Hola mundo! Has llegado al destino inicial, que se llama un "búfer de raspado". – lawlist

+0

Al compilar el archivo de bytes obtengo 'Advertencia : asignación a la variable libre \ 'initial-scratch-buffer \' '... –

6

Sospecho por su pregunta que probablemente inicie emacs con bastante frecuencia, tal vez una vez por cada archivo que desee editar. (Si me equivoco en esta suposición, los siguientes comentarios no se aplican a usted.)

Emacs está diseñado para iniciarse y luego dejarse en ejecución durante semanas o meses mientras visita varios archivos, ya que necesita editarlos ellos. Emacs maneja muy bien varios archivos, por lo que casi no es necesario matar los búferes asociados hasta que tenga 50 o 100 de ellos dando vueltas. Comienzo emacs justo después de que se inicia el sistema de mi ventana, y se ejecuta hasta que mi sistema se apaga o se cuelga. El búfer de rayado inicial no es un problema en este modo, porque lo veo con poca frecuencia.

7

Puede personalizar:

initial-buffer-choice 

lo fijo a mi homedir: "~ /" para iniciar en modo Dired .

4

Utilizo esto para matar el buffer de rayado y abrir un nuevo buffer en el modo de texto llamado Sin título. Lo encontró en un grupo de noticias y lo modificó ligeramente.

(defun my-close-scratch() 
    (kill-buffer "*scratch*") 
    (if (not (delq nil (mapcar 'buffer-file-name (buffer-list)))) 
     (new-untitled-buffer) 
    )) 

(defun my-emacs-startup-hook() 
    (my-close-scratch)) 
(add-hook 'emacs-startup-hook 'my-emacs-startup-hook) 

(defun new-untitled-buffer() 
    "Opens a new empty buffer." 
    (interactive) 
    (let ((buf (generate-new-buffer "Untitled"))) 
    (switch-to-buffer buf) 
    (normal-mode) 
    (setq buffer-offer-save t)) 
    (add-hook 'kill-buffer-query-functions 
      'ask-to-save-modified nil t) 
)

Para cerrar sin título al abrir archivos de administrador de archivos cuando Emacs no está abierto utilizo este:

(defun my-close-untitled() 
    (if (get-buffer "Untitled") 
     (kill-buffers-by-name "Untitled"))) 

(add-hook 'find-file-hook 'my-close-untitled)
+1

¿por qué no usarías simplemente el buffer de scratch como un buffer sin título? –

-1

La forma correcta es agregar inhibit-startup-screen a la sección custom-set-variables de su archivo .emacs.

(custom-set-variables 
;; custom-set-variables was added by Custom. 
;; If you edit it by hand, you could mess it up, so be careful. 
;; Your init file should contain only one such instance. 
;; If there is more than one, they won't work right. 
'(inhibit-startup-screen t) 
) 
Cuestiones relacionadas