在emacs-lisp中,如何将点放在文本字符串的中间?我希望我的光标能在以下功能中结束%s
的位置:
(defun web-research ()
(interactive)
(insert "#+BEGIN_QUOTEnn%sn#+END_QUOTEn")
(org-mac-chrome-insert-frontmost-url)
)
有很多选择。例如,
(defun web-research ()
(interactive)
(insert "#+BEGIN_QUOTEnn%sn#+END_QUOTEn")
(search-backward "%")
(org-mac-chrome-insert-frontmost-url))
或
(defun web-research ()
(interactive)
(insert "#+BEGIN_QUOTEnn")
(let ((p (point)))
(insert "nn#+END_QUOTEn")
(org-mac-chrome-insert-frontmost-url)
(goto-char p))
或
(defun web-research ()
(interactive)
(insert "#+BEGIN_QUOTEnn%s")
(save-excursion (insert "n#+END_QUOTEn"))
(org-mac-chrome-insert-frontmost-url))
imo第二是最好的。
您可能可以使用yasnippet之类的东西。
# -*- mode: snippet -*-
# name: web-research
# expand-env: ((yas-indent-line 'fixed))
# key: wr
# --
#+BEGIN_QUOTE
%s$0
#+END_QUOTE
`(if (boundp 'org-mac-chrome-get-frontmost-url) (org-mac-chrome-get-frontmost-url) "http://www.example.com/")`
我似乎没有org-mac-chrome-get-frontmost-url
或insert
变体,但是经过快速搜索,我猜org-mac-chrome-get-frontmost-url
是与此解决方案一起使用的。