- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 eshell
的运行实例在一个缓冲区中,我正在另一个缓冲区中编写 C++ 源代码。我绑定(bind)了compile
至 <F5>
我想知道是否可以在另一个缓冲区中运行的 eshell 实例中运行(编译的)输出文件?
如果没有,那有没有办法在新的框架中打开eshell,并自动在其中运行编译输出?
非常感谢您。
最佳答案
通常,如果你想在编译完成后运行一些东西,你将它添加到编译命令中。例如,而不是
M-x compile RET make RET
你可能会输入
M-x compile RET make && ./test RET
或者您可以将程序添加到您的 makefile 中的某个适当的目标,这样您就可以做
M-x compile RET make test RET
如果你能解释一下为什么要在eshell中运行编译后的程序,我可以给你更好的建议。
但是,如果您坚持使用 eshell,您也许可以使用 compilation-finish-functions
:
Functions to call when a compilation process finishes. Each function is called with two arguments: the compilation buffer, and a string describing how the process finished.
这并没有得到很好的记录,但如果该过程成功完成,则字符串为 "finished\n"
。所以你可以这样做:
(defun run-compilation-output-in-eshell (buf msg)
"If compilation finished successfully, switch to eshell and execute a command."
(when (string= msg "finished\n")
(eshell)
(goto-char (point-max))
(eshell-kill-input)
(insert "echo command goes here")
(eshell-send-input)))
(add-hook 'compilation-finish-functions #'run-compilation-output-in-eshell)
不过,这似乎相当粗鲁:如果您在编译完成时恰好在 eshell
缓冲区中键入内容,那么这将删除您的输入。正如我上面所说,更多的上下文可能会有所帮助。
关于shell - Emacs 口齿不清 : is it possible (using lisp) to run command in an eshell working in other buffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4253754/
在 Lisp 中,我如何找到一个列表有多少个不同的元素? 最佳答案 (length (remove-duplicates )) 最短的方法,但也可以一次性完成,如下所示: (defun count-d
(defun tictactoe3d () '( ((NIL NIL NIL) (NIL NIL NIL) (NIL NIL NIL)) ((NIL NIL NIL) (NIL NIL NIL)
我的作业有一些问题。我的目标是创建代表学生姓名、姓氏以及他们的入学编号(属性列表)的符号。我还为我创建的所有学生使用了一个全局变量。 我的代码是这样的: (defun student-create (
如何在 Common lisp 中实现这一点? (logselect (t nil t) (list1 list2 list3)) ---> (list1 list2) 我编写了以下函数,但我认为有更
我有如下代码。它返回列表为 (((1 . 2) (1 . 0)) ((1 . 2) (1 . 1)) ((1 . 2) (1 . 3)) ((1 . 2) (1 . 4)) ((1 . 2) (1 .
我希望我的程序请求一个表达式,将输入的字符串分配给变量“exp”,然后打印该表达式。 但是我遇到了一些麻烦。我首先尝试使用(阅读) (princ "Enter a expression to be e
我需要编写一个函数来计算列表中给定原子的所有出现次数。这是我的: (defun my-count (a L) (cond ((null L) nil) ((equal a (c
我正在复习旧考试,为自己的考试做准备,教授很友善,也为我们提供了解决方案,现在我想知道为什么一个函数会做它应该做的事情。 (defun sortulists (L) (mapcar (lambda
如果存在在 J2ME 上运行的 lisp,那么在移动设备(而不是移动设备)上编程似乎会更容易。 您知道任何(最好是开源的)lisp/smalltalk 应用程序吗?我在网上搜索,但找不到有效的 J2M
像错误调用函数的错误消息显示,例如: (message (file-attributes ".")) 产生消息: "eval: Wrong type argument: stringp, ("/hom
作为一个更大项目的一部分,我希望能够将每个子列表的每个第一个元素乘以 -1。我正在尝试像这样使用递归来做到这一点: (defun negative (secondpoly) (let ((t1
它比标题所暗示的要复杂一点,但我无法将其浓缩为一句话。 我正在使用 Clisp,目前有一个列表列表。外部列表是任意长的,而内部列表是 4 个整数长。这是我可能拥有的示例。 ((2 1 1 0) (1
有没有办法找出调用的函数是什么? 比方说,有一个处理程序函数可以监视对外部进程的请求。在处理请求之前,它会将它们打印到日志文件中以供日后检查。 这个函数能找出它被哪个函数调用了吗? 最佳答案 答案是否
我有 Mac OSX 10.8.4。我克隆了 gcl 的 git repo,并根据自述文件运行了 ./configure。 但是,我收到以下错误: configure: error: Cannot b
嘿伙计们,我刚刚开始在大学学习 Lisp,但是教授非常穷,而且他自己似乎也不懂这门语言,所以我向你们求助。我在 Java 方面非常有经验,但在将 Java 的条件与 Lisp 联系起来时遇到了困难。这
字节编译 emacs lisp 非常有用,因为它会生成编译器警告,尽管有时很隐晦,但总是指向错误或未完成的任务,例如缺少导入或未实现的函数。 但是,我找不到一种方法来生成与 *Compile-Log*
TL; 博士 customize 中是否有一些标准的回退处理? 系统,用于处理部分无效的复合定制 变量,例如一个条目不是缺点的列表? 长版 emacs 的自定义机制非常强大,使用 复合 Materia
我遇到的问题是,当我创建一个函数来打印列表的特定部分时,它会将其打印为 NIL 而不是实际元素。 例如: > (setf thelist '((a b) (c (d e f)) (g (h i)))
我正在尝试使用 butlast 但出于某种原因,我明白了错误:没有函数定义:BUTLAST。有什么想法吗? 最佳答案 butlast 在 AutoLisp 中不存在,所以错误说有这样的函数是正确的。
这个问题在这里已经有了答案: Test if array is inside a list in lisp (1 个回答) 关闭 7 年前。 我在使用这个字符串列表中删除字符串时遇到问题 (remo
我是一名优秀的程序员,十分优秀!