我经常使用 emacs,并尝试将我的系统配置为尽可能使用 emacsclient。为此,我做了以下工作:
在.bashrc中:
EDITOR='emacsclient -ca emacs'
VISUAL='emacsclient -ca emacs'
然后我还安装了 /usr/bin/editor 的替代方案,它指向 /usr/local/bin/emacsclient.wrapper ,其中包含以下内容:
#!/bin/sh
#Start emacs client
/usr/bin/emacsclient -ca emacs $1
在大多数情况下,这效果很好。但是,当从终端启动 emacsclient 时,它经常会输出我不需要的文本。尤其:
$ editor
Waiting for Emacs...
$
或者,当 emacs 尚未启动并且 emacclient 必须回退到启动 emacs 本身时:
emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
我可以做什么来抑制这个输出?我尝试将我的 emacs 包装器更改为
#!/bin/sh
#Start emacs client
/usr/bin/emacsclient -ca emacs $1 &> /dev/null
但这没有帮助。我没有尝试编辑 EDITOR 或 VISUAL,因为除了这个标准重定向之外我没有任何想法。
答案1
一般来说:
program >/dev/null 2>&1
将强制to的输出 ( STDOUT
)并重定向到.所以尝试:program
/dev/null
STDERR
STDOUT
/usr/bin/emacsclient -ca emacs $1 >/dev/null 2>&1