为什么要在 Emacs 里面使用 Shell?
2008-11-28 08:31:29 来源:WEB开发网核心提示: 图 8第二个小技巧:history | grep 的输出结果可以直接输入回车使用 让我们再回到当初提到过的第 437 条命令,如果需要再次运行这条命令,为什么要在 Emacs 里面使用 Shell?(7),你只需要把光标定位到这条命令所在行,删除掉命令前面的 437 这个号码,修改之后的命
图 8
第二个小技巧:history | grep 的输出结果可以直接输入回车使用
让我们再回到当初提到过的第 437 条命令。如果需要再次运行这条命令,你只需要把光标定位到这条命令所在行,删除掉命令前面的 437 这个号码,然后直接输入回车,Emacs 会提你把它复制到正确的 shell 提示符后并且启动执行。似乎这个方式描述起来并没有 shell 本身提供的 !437 命令来的迅速,但是他毕竟提供了一个更加直观的操作可能。另外,如果希望在运行之前对于这条命令进行一些修改,我指的是删除,例如删除掉某个参数,或者单词,你也尽可以尽情删除,然后在最终的删除结果上面输入回车,告诉 Emacs 去复制运行就是了。这个状况目前似乎还没有发现 ! 命令有可以搞定的可能。另外,如果希望在运行之前对于这条命令进行一些添加性质的修改,例如添加一些新的参数,或者把第 437 条命令中的 start 单词删掉,添加上 stop 单词,在目前的 Emacs 里面还没有提供直接的支持。但是我们可以通过增加一步操作来实现它。第一步,让我们首先把光标定位到第 437 条命令的位置,然后输入回车,这个时候命令不会成功运行,一行提示信息 bash: 437: command not found 会显示在你的 shell 提示符下面。没关系,让我们稍微修改一下刚刚运行失败的这条命令。重新定位光标到刚刚执行过的这条命令所在的行,然后把命令中的 start 参数修改为 stop 参数,并且删除命令前面的 437 这个号码,再次输入回车,修改之后的命令就会成功运行了。这里增加的第一步操作实际上代替了通常情况下需要的拷贝粘贴操作,拷贝和粘贴事实上是交由 Emacs 替我们实现了。
更多精彩
赞助商链接