BBS水木清华站∶精华区

 
如何在 Emacs 中执行 Shell 的指令 
 
在 EMACS 中有两种执行 shell 指令的方法:一种是进入shell command mode, 
另一种是进入 shell mode。二者都可以执行 shell 的指令, 
其最大不同之处是,进入 shell mode 的状态,执行 shell 指令 
的同时,仍可以切换到其它模式处理别的工作,但如果使用 
 shell command mode,就必须等指令执行完後才可以做 
其它的事。 
     使用 shell command mode 时,使用者在萤幕的最下方 
输入欲执行的指令, EMACS 会开启一个名为 ``*Shell command output*'' 
的视窗,将 shell 指令执行的结果显示在此视窗中.shell mode 
则是执行一个 subshell,其输入与输出都是透过同一个缓冲区, 
所以输入与输出是在同一个地方,它不似 shell command mode, 
指令输入与结果的显示在不同的地方。 
     shell command mode 又可以有两种模式,一种 
就是很单纯的执行一个 shell 的指令;另一种是对某一特定区域 
的资料执行 shell 的指令。 shell command mode 容许 
执行後的结果,直接输入到目前所使用的工作区内。有了如此的功能, 
使用者可以很轻易的将 shell 指令执行的结果,直接放入适当的 
位置,而不需另外从事剪贴的工作。 
     要如何使用 EMACS 所提供的 shell 功能呢?以下是最基本 
的方法,至於高阶的用法则请自行参考 GNU EMACS所提供的 
``GNU Emacs Manual'' 。 
 
  1. shell command mode 
 
        o ESC-!(shell-command)唤起 shell command mode。 
        o   ESC-   (shell-command-on-region) 
          针对某一特定区域执行shell command mode 的 shell 指令。 
          (特定区域,是指缓冲区的某一□围(region)而言,所以此指令只是 
          针对缓冲区的某一部分运作的资料,) 
        o Ctrl-u ESC-!  与 Ctrl-u ESC- 
          在 ESC 前加上 Ctrl-u ,可以将 shell 指令执行的结果,输出到 
          游标所在的位置。 
 
  2.  shell mode 
     ESC-x shell\indexESC-x shell 是唤起 shell mode的指令。 
 

BBS水木清华站∶精华区