如何定义Emacs Lisp函数以使用在shell中执行的特定命令生成shell
发布时间:2020-12-15 22:28:42 所属栏目:安全 来源:网络整理
导读:我正在进行Rails开发,并发现我需要生成一个 shell,重命名缓冲区(例如webrick),然后启动命令(rails s),然后如果我想要一个rails控制台或rails dbconsole那么重新做一遍,每次我启动emacs时都有rspec,spork等. 我希望这样的事情: (defun spawn-shell () "Invok
我正在进行Rails开发,并发现我需要生成一个
shell,重命名缓冲区(例如webrick),然后启动命令(rails s),然后如果我想要一个rails控制台或rails dbconsole那么重新做一遍,每次我启动emacs时都有rspec,spork等.
我希望这样的事情: (defun spawn-shell () "Invoke shell test" (with-temp-buffer (shell (current-buffer)) (process-send-string nil "echo 'test1'") (process-send-string nil "echo 'test2'"))) 我不希望shell在退出时消失,因为shell缓冲区中的输出很重要,有时我需要杀死它并重新启动它但我不想丢失那个历史记录. 任何帮助深表感谢 汤姆 解决方法
也许这个版本的spawn-shell会做你想要的:
(defun spawn-shell (name) "Invoke shell test" (interactive "MName of shell buffer to create: ") (pop-to-buffer (get-buffer-create (generate-new-buffer-name name))) (shell (current-buffer)) (process-send-string nil "echo 'test1'n") (process-send-string nil "echo 'test2'n")) 当您以交互方式运行它时,它会提示输入名称(M-x spawn-shell).它使用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |