据我所知,“C-u M-x shell”可以用来运行多个shell。 但是如何定义一个函数来完成与“C-u M-x shell”相同的功能呢?如何定义一个函数在Emacs上运行多个shell?
1
A
回答
2
(defun my-named-shell()
"Equivalent to C-u M-x shell RET"
(interactive)
(shell (get-buffer
(read-buffer
"Shell buffer: "
(generate-new-buffer-name "*shell*")))))
我用describe-function
和find-function
检查的shell
行为,其interactive
声明特别,然后我只是复制了必要的代码,以将其转换成一个参数的非交互式调用shell
功能(但将其封装在get-buffer
中以提供缓冲区参数)。
其实我已经留下了一些代码,处理远程文件,因为在代码中的注释显得有点混乱。如果你不习惯在通过Tramp访问远程文件的缓冲区中使用C-u M-x shell
,那么这个省略不会影响你。
这一切都表示,一个更简单的(和更完整)的办法很简单:
(defun my-named-shell()
"Equivalent to C-u M-x shell RET"
(interactive)
(let ((current-prefix-arg '(4)))
(call-interactively 'shell)))
欲了解更多信息,请参阅https://stackoverflow.com/a/9388058/324105
在这种情况下current-prefix-arg
可以是任何非零值,但我认为使用C-u
实际产生的值是一个好习惯。
+0
太棒了,它的工作原理!谢谢。 – Xun 2012-03-01 11:00:31
相关问题
- 1. 如何在Emacs上运行多个shell
- 2. 如何运行一个jQuery插件上定义的函数?
- 3. 如何在一行上定义一个函数
- 4. 如何定义的Emacs Lisp函数产生一个缓冲外壳在shell中执行特定的命令?
- 5. 并行化一个函数以在多个文件上运行
- 6. 如何在同一时间在多个div上运行一个函数?
- 7. 在bash中定义一个没有shell脚本的shell函数?
- 8. 如何在.emacs中定义函数?
- 9. 在多个复选框中的一个上运行javascript函数
- 10. 如何在codeigniter的每个页面上运行一个函数
- 11. 如何在多个SQL Server数据库上运行函数?
- 12. Python - 我如何从Python shell中定义一个函数?
- 13. Emacs的:在一个函数
- 14. 在SignalR上定义一个jquery函数
- 15. 根据参数在运行时自定义一个函数
- 16. Emacs:定义一个函数来加载定义函数本身的文件
- 17. 如何定期在emacs中运行一个任务?
- 18. 如何写一个shell脚本来运行多个命令
- 19. 如何在Powershell运行空间中定义一个函数并执行它
- 20. R:在同一个数据帧上多次运行函数
- 21. 如何在onClick上运行多个函数
- 22. 如何从Emacs中运行Cygwin Bash Shell?
- 23. 如何从Emacs运行django shell?
- 24. 如何在MathJax中定义一个新函数('运算符')?
- 25. 如何从另一个多变量函数定义一个变量函数
- 26. 如何定义一个常数函数
- 27. 如何在shell脚本中一起运行多个ruby文件?
- 28. 如何绑定密钥在dired中运行shell命令emacs
- 29. 从一个Shell脚本运行多个Shell脚本
- 30. 如何在单个类下运行多个定义?
您还可以看看[多长期(http://emacs-fu.blogspot.com/2010/06/console-apps-in-emacs-with-multi-term.html)。 – Daimrod 2012-03-01 14:03:41