WEB开发网
开发学院操作系统Linux/Unix 为什么要在 Emacs 里面使用 Shell? 阅读

为什么要在 Emacs 里面使用 Shell?

 2008-11-28 08:31:29 来源:WEB开发网   
核心提示: 图 6这里面有一个小秘密需要提示一下,因为在 here 文档的提示符下事实上是不可能进行这样的修改的,为什么要在 Emacs 里面使用 Shell?(6),但是,直到目前为止 Emacs 还没有将编辑缓冲区里的内容传递给 here 文档提示符,重复同样的方法,可以得到更多的 shell 会

图 6

为什么要在 Emacs 里面使用 Shell?

这里面有一个小秘密需要提示一下,因为在 here 文档的提示符下事实上是不可能进行这样的修改的。但是,直到目前为止 Emacs 还没有将编辑缓冲区里的内容传递给 here 文档提示符。以上所做的一切还都仅仅发生在 Emacs 内部。

现在输入一个回车键,已经编辑好的 11 条 strmqm QM_1xx 命令就已经传递给 here 文档提示符了。最后输入 eof 结束文档编辑。一个简单清晰的队列管理器启动脚本就已经完成了。只要在 shell 提示符下通过 bash strmqm.sh 命令运行它,就可以启动所有这 11 个队列管理器了。

图 7

为什么要在 Emacs 里面使用 Shell?

一些有趣的小技巧

第一个小技巧:在 Emacs 里面同时打开多个 shell 会话

这听起来应该是理所当然的,既然 Emacs 可以同时运行多个窗口……但是即使是在我买的那本关于 Emacs 的书里面也没有提到如何能够真的打开多个 shell 会话。让我们试试看,输入 ESC-x shell 启动 shell 会话,在 shell 提示符下执行 cd /tmp 命令,然后输入 Ctrl-x 2 组合键将屏幕切分成上下两个窗口,然后再次输入 ESC-x shell 启动 shell 会话,你会发现 Emacs 不为所动。在上下两个窗口里面仍然还是 cd /tmp 命令执行后的结果,也就是说仍然还是原先的那个 shell 会话。说起来 O’reilly 公司应该退还我一部分书钱,因为他们没有将我想知道的问题讲明白。后来我终于发现了解决的办法。只要我将当前的 shell 会话所在的缓冲区重新命名,然后就可以再次启动一个新的 shell 会话。让我们来试试看。输入 ESC-x rename-buffer,在 Rename buffer (to new name): 提示符后输入一个新名字,例如 *shellA*。这个时候你会看到上下两个窗口中的缓冲区都被重命名为 *shellA* 了,是的,他们显示的是同一个缓冲区。现在在任意一个窗口里面输入 ESC-x shell 启动 shell 会话,这时你会看到一个新的 *shell* 缓冲区创建了出来,并且有了一个新的 shell 提示符。现在让我们在这个新的 shell 提示符下执行 cd / 命令,你会发现,缓冲区 *shellA* 当中的 shell 会话并没有受到新的命令的影响,因为他们是两个不同的 shell 会话。重复同样的方法,可以得到更多的 shell 会话,满足你的使用需要。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:为什么 Emacs 里面

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接