如何访问eval-buffer的结果?

时间:2012-12-05 20:04:26

标签: emacs

两个问题:

  1. eval-buffer的结果存储在哪里?我该如何访问它?
    例如:

    (+ 2 2)
    
  2. (forward-word)等函数由eval-buffer执行,但不移动光标?那是为什么?

1 个答案:

答案 0 :(得分:7)

  1. eval-buffer通常用于副作用,而不是返回值。例如,在.emacs文件中,eval-buffer将重新加载我们的所有配置设置。默认情况下,当以交互方式使用时,它将始终返回nil。如果要在缓冲区中获取代码的返回值,这是错误的方法。绑定到eval-last-sexp的{​​{1}}是一种方法。使用前缀C-x C-e调用它会将返回值插入当前缓冲区。

  2. C-u C-x C-e保留了point的值。因此像eval-buffer这样的函数没有明显的效果。