Emacs nuovo file vuoto!

In emacs forse manca un pulsante “nuovo file vuoto”, come in
altri editor. Il pulsante in alto a sinistra della barra degli
strumenti fa un’attività simile, ma richiede il nome del file, che può
essere fastidioso.

Cercando questa funzione in rete ho trovato alcune informazioni (ad
esempio su stack overflow).

Se vuoi aggiungere un pulsante che esegue la funzione sopra
menzionata al click e sostituire eventualmente il pulsante in alto a
sinistra esistente (ovviamente nella modalità GUI), ecco cosa puoi
aggiungere al tuo file .emacs:

(defun new-file-tmp()
"Create a new empty file."
(interactive)
(let ((buf (generate-new-buffer "untitled")))
(switch-to-buffer buf)
(put 'buffer-offer-save 'permanent-local t)
(setq buffer-offer-save t)))
(defun tool-bar-local-item-pre (icon def key map after_item &rest props)
"Add an item to the tool bar in map MAP.
ICON names the image, DEF is the key definition and KEY is a symbol
for the fake function key in the menu keymap. Remaining arguments
PROPS are additional items to add to the menu item specification. See
Info node ‘(elisp)Tool Bar’. The item is added after AFTER_ITEM.
ICON is the base name of a file containing the image to use. The
function will first try to use low-color/ICON.xpm if ‘
display-color-cells
is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally
ICON.xbm, using ‘
find-image’."
(let* ((image-exp (tool-bar--image-expression icon)))
(define-key-after map (vector key)
`(menu-item ,(symbol-name key) ,def :image ,image-exp ,@props) after_item)
(force-mode-line-update)))
(when (boundp 'tool-bar-map)
(tool-bar-local-item-pre "new" 'new-file-tmp 'new-file-tmp tool-bar-map 'new-file :label "" :help "New untitled File")
(define-key tool-bar-map (vector 'new-file) nil)
;; comment the above line if you want to keep the button for the default behavior
)
(global-set-key (kbd "C-n") 'new-file-tmp)

Ho testato la modifica su emacs 25 per Linux e 26 per Windows.
Fammi sapere cosa ne pensi!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *