将emacs shell输出管道输出到新缓冲区

Mar*_*ook 12 emacs shell

例如,我希望能够键入以下内容:

$ git diff | tempbuffer
Run Code Online (Sandbox Code Playgroud)

并在一个新的未保存的缓冲区中打开diff.

u-p*_*nkt 10

如果您使用,eshell您可以将输出重定向到缓冲区,例如

 print foo > #<buffer bar>
Run Code Online (Sandbox Code Playgroud)

这会创建一个bar内容为'foo' 的新缓冲区.有关详细信息,请参阅http://www.emacswiki.org/emacs/EshellRedirection上的Emacswiki .


phi*_*ils 9

您可以使用M-!- 它将在与shell缓冲区相同的cwd中运行命令,并将结果输出到*Shell Command Output*缓冲区.

请注意,如果结果很简单,则不会引发该缓冲区并将输出复制到echo区域; 但缓冲区仍然使用和可用.C-hf shell-command RET有什么构成"简短"输出的详细信息:

如果输出足够短以显示在回波区域(由变量max-mini-window-heightif 确定resize-mini-windows为非零),则显示在那里.否则,将显示包含输出的缓冲区.

  • 你也可以使用Cu M-!将输出放在当前缓冲区中. (3认同)