私はかなり定期的にemacsを使用しており、可能な場合はemacsclientを使用するようにシステムを構成しようとしています。これを行うために、私は次のことを行いました。
.bashrcの場合:
EDITOR='emacsclient -ca emacs'
VISUAL='emacsclient -ca emacs'
次に、/ usr/local/bin /emacsclient.wrapperを指す/ usr/bin/editorの代替をインストールしました。これには次のものがあります。
#!/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を編集しようとしませんでした。
一般に:
program >/dev/null 2>&1
STDOUT
の出力(program
)を/dev/null
に強制し、STDERR
をSTDOUT
にリダイレクトします。だから試してみてください:
/usr/bin/emacsclient -ca emacs $1 >/dev/null 2>&1