2010-08-24 25 views
0

我用Alt-! (Alt-Bang)在Emacs中很多。其中一个大的事情,我用它是emacs可以调用shell并执行命令 - 它们可以作用于Emacs缓冲区吗?

Alt-! cat $logfile | grep 'this' # show me one kind of event 

或有时

Alt-! cat $logfile | grep 'this' | wc -l # count that one event's occurrences 

两件事情:

1)从这个提示没有标签完成:为什么不呢?

2)如果不是$ logfile,我想扫描一个Emacs缓冲区?

+0

您使用的是哪个版本的Emacs?我从'shell-command'提示符下完成了选项卡。 (tab被绑定到'minibuffer-complete-shell-command') – phils 2010-08-24 21:35:13

回答

1

Alt-|确实是壳命令导通的区域

与(NY)数字前缀(例如铜1的Alt |)的区域由结果更换,否则出现在新的缓冲器

+2

n.b. 'Cu'提供一个默认值(当你按'Cu'n次时,4^n),所以当这个数字不相关,或者只需要一些正整数时,当你可以的时候不需要使用Cu1使用'Cu'(或'M-1'或'C-1')。 – phils 2010-08-24 21:32:05

3

要扫描Emacs缓冲区,请使用而不是M-!:它将区域作为输入传递给命令。如果您希望命令的输出替换区域,请使用M-1 M-|

对于您提到的特定命令,如果您想查看所有匹配,请使用M-x grep。或者你可以打开它并看到与M-x occur的比赛。

相关问题