2013-02-13 34 views
4

假設我在emacs中有1000行的緩衝區,並且在該緩衝區中散佈了unicode引用(例如\u8226)。我想將所有這些引用收集到另一個緩衝區中,然後我可以對它們進行排序和分類。Emacs:用正則表達式搜索緩衝區並在新緩衝區中顯示結果?

在(* nix中)命令行,我可以這樣做:

grep -o "\\\\u[0-9]*" tmpfile | sort | uniq 

這是可以實現直接在Emacs,不保存任何緩衝區寫入磁盤?

回答

6

轉到您的緩衝區,選擇全部爲C-x h,然後執行M-| grep -o "\\\\u[0-9]*" | sort | uniq(運行shell-command-on-region)。輸出將轉到*Shell Command Output*,除非輸出足夠長,否則不會顯示,但它始終創建,您可以切換到該值。

還有occurM-s o)。

6
M-x occur RET [[:nonascii:]]+ RET 
    M-x other-window 
    M-x toggle-read-only 
    M-x sort-lines