有没有办法在EShell中进行多行输入? 当我想在EShell的命令行上做一个快速的函数定义时,它并没有真正起作用。我尝试使用显式换行符(\ n),以及单引号('')和双引号(“”),但没有成功。
当我写一个换行符\n
并按回车键(点位于*位置)时,我收到一条错误消息和一个新的eshell提示。
$ (def foo (x y ) \n *)
Symbol's function definition is void: def
当我使用C-q C-j
并按Enter键(指向位置*)时,我会收到相同的错误消息和新的eshell提示。
$
(def foo (x y) *)
Symbol's function definition is void: def
答案 0 :(得分:0)
您必须打开括号以防止Eshell过早地评估输入。另外,正如phils所指出的,def
没有在Elisp中定义;你可能想要defun
。
答案 1 :(得分:0)
没有(def)
。
在elisp中,您可以使用(defun)
定义函数。
参见 C-h f defun
RET
http://www.gnu.org/software/emacs/manual/html_node/elisp/Defining-Functions.html