2010-08-24 49 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的比賽。

相關問題