2012-12-05 47 views
3

两个问题:如何访问eval-buffer的结果?

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

    (+ 2 2) 
    
  2. 功能类似于(forward-word)eval-buffer执行,但不移动光标?这是为什么?

回答

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

  2. eval-buffer保留点的值。所以像forward-word这样的函数将没有可见的效果。