2013-02-13 74 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