[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Editing Emacs buffer with external editor
From: |
Jean Louis |
Subject: |
Editing Emacs buffer with external editor |
Date: |
Sat, 22 May 2021 23:22:40 +0300 |
For those people who wish edit Emacs buffers with external editor
within Emacs editing session:
(defcustom rcd-external-editor "notepadqq"
"The external editor as an option for some functions"
:group 'rcd
:type 'string)
(defun rcd-edit-with-external-editor (&optional text)
"Editing with external editor as defined in `rcd-external-editor'.
It will either edit the optional TEXT as string
argument. Otherwise it will edit the current buffer and replace
it with the result."
(interactive)
(let* ((buffer-or-text (if text nil t))
(text (if buffer-or-text (buffer-substring-no-properties (point-min)
(point-max)) text))
(point (point))
;; (mode major-mode)
(file (concat (or (getenv "TMPDIR") "/tmp/") "temp-file")))
(string-to-file-force text file)
(call-process rcd-external-editor nil nil nil file)
(if buffer-or-text
(progn
(erase-buffer)
(insert (file-to-string file))
(goto-char point))
(file-to-string file))))
Jean
Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns
Sign an open letter in support of Richard M. Stallman
https://stallmansupport.org/
- Editing Emacs buffer with external editor,
Jean Louis <=