que - Insertar la salida del comando shell en el búfer de emacs.
comandos emacs (2)
Quiero establecer un enlace de clave para insertar la fecha en el búfer. He escrito el siguiente lisp en mi archivo .emacs
. Usando la date
como ejemplo:
;;put the date
(global-set-key
(kbd "C-c C-d")
(shell-command "date" (current-buffer))
)
El enlace de teclas funciona bien cuando uso otros comandos como ''next-line
, pero shell-command
lo colocará en el búfer *scratch*
cuando se lea el .emacs y lo dejará así.
Tal vez necesito usar shell-command-on-region
.
Para el caso general de insertar cualquier salida de un comando de shell en el búfer actual, puede usar los acordes de teclado integrados:
C-u M-! <shell-command>
que ejecuta la misma función de shell-command
, y también inserta la salida en el punto en el búfer actual.
La propia pulsación de tecla se puede guardar como una macro (y tal vez asignarse a un acceso directo) para facilitar la invocación de los comandos de shell comunes.
Un amigo mío en el trabajo me ayudó.
(defun put-the-date ()
(interactive)
(insert (shell-command-to-string "date")))
(global-set-key
(kbd "C-c C-d")
''put-the-date
)