2010-03-23 41 views
10

当查看管道输出到少,有时候我希望能够以有语法高亮,查看它在Emacs和使用emacs搜索,标记,复制等管少的Emacs

命令我看到Less有一个v命令可用于打开$EDITOR中当前查看的文件。不幸的是,这在查看管道输入时不起作用。

而且,我不知道如何获得Emacs的为只读文件标准输入显示。

那么,是不是可以设置较少的东西,如v但泵电流缓冲到Emacs为只读文件?

谢谢。

回答

5

如果您在http://www.emacswiki.org/emacs/GnuClient向下滚动,你会来题为“管道数据Emacs的缓冲区”这可能是相关的部分。 或者您可以hack up a solution involving emacsclient and temporary files(链接已死)。

我发现另一种变体,同时寻找死链接的副本:Piping to an emacs buffer with emacsclient指向了code stored on github

+0

http://www.shellarchive.co.uk/content/emacs_tips.html#have-emacsclient-accept-stuff-from-stdin 上面的链接不工作。你能否更新链接? – CantGetANick 2011-10-18 18:25:42

+0

@CantGetANick:我很乐意,但我没有替代版本。尔加! – dmckee 2011-10-18 18:32:08

+0

你是一个好人。 :) – CantGetANick 2011-11-01 04:39:39

5

我已经正式这里的解决方案:github e-sink

+0

谢谢+1 ...在另一个答案中,这比'emacs-pipe.pl'更快**(实时) 使用'cat file',其中* file *包含'printf '%S \ n'{} 0000001..1000000> file' ..... '的emacs-pipe.pl' - >时间:R/U/S:''2m23.487s''0m8.461s' 0m4.976s' .....而,这一个: '电子sink.pl' - >时间:R/U/S:''0m14.796s''0m11.289s' .. m3.492s' ... 但与'--cmd'一起使用时,出现错误:*您的供应商尚未定义POSIX宏ARG_MAX,用于/home/axiom/bin/e-sink.pl第182行* ..是否有这个简单的修复? (我的Perl知识比较少) – 2012-09-08 06:04:48

+0

--cmd实现是原始的慢实现。我修复了遇到的错误,但坚持使用新的错误。干杯。 – 2012-09-08 08:39:59