EShell中的多行输入

时间:2011-06-03 10:09:07

标签: emacs elisp eshell

有没有办法在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

2 个答案:

答案 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