emacs:在函数中返回两行?

719*_*016 3 lisp emacs

我的emacs点文件中有一个函数可以在我的日记中插入日期.添加它之后,我想跳回几行并将光标放在日期下面.我该如何在函数中执行此操作?

(defun ddd ()
  "Insert date at point journal style."
  (interactive)
  (insert (format-time-string "[%Y-%m-%d %a]"))
  (insert "\n")
  (insert "\n")
  (insert "\n")
  (insert "** end\n")
  (gobacktwolineshere))
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Dal*_*und 10

你需要这个功能forward-line,特别是

(forward-line -2)
Run Code Online (Sandbox Code Playgroud)

向后退两行.有关更多信息,请键入C-h f forward-line RET内部emacs.根据您离开的位置,您可能不会在行的开头结束.如果您需要此功能,请添加呼叫beginning-of-line.


phi*_*ils 5

请记住,如果您可以告诉Emacs以交互方式(例如,使用<up>C-p在此实例中)执行此操作,那么您可以通过添加前缀来询问Emacs在键入内容时的作用C-hk.

在这种情况下,Emacs告诉您这些键运行命令previous-line,并且还:

如果您正考虑在Lisp程序中使用它,请考虑使用 forward-line带负参数.它通常更容易使用且更可靠(不依赖于目标栏等).