Como posso suprimir a saída desnecessária do emacsclient?

3

Eu uso o emacs regularmente e estou tentando configurar o meu sistema para usar o emacsclient quando possível. Para fazer isso, fiz o seguinte:

Em .bashrc:

EDITOR='emacsclient -ca emacs'
VISUAL='emacsclient -ca emacs'

Eu também instalei uma alternativa para / usr / bin / editor que aponta para /usr/local/bin/emacsclient.wrapper que possui o seguinte:

 #!/bin/sh
 #Start emacs client
 /usr/bin/emacsclient -ca emacs $1

Na maior parte, isso funciona muito bem. No entanto, quando o emacsclient é iniciado a partir do terminal, ele geralmente envia texto que não preciso. Notavelmente:

$ editor 
Waiting for Emacs...
$ 

Ou, quando o emacs ainda não foi iniciado e o emacclient tem que voltar a iniciar o próprio emacs:

emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".

O que posso fazer para suprimir essa saída? Eu tentei mudar meu wrapper do emacs para

     #!/bin/sh
     #Start emacs client
     /usr/bin/emacsclient -ca emacs $1 &> /dev/null

mas isso não ajudou. Não tentei editar EDITOR ou VISUAL, pois não tenho outras idéias além do redirecionamento padrão.

    
por Steven D 06.09.2010 / 06:53

1 resposta

4

Em geral:

program >/dev/null 2>&1

forçará a saída ( STDOUT ) de program para /dev/null e redirecionará STDERR para STDOUT . Então tente:

/usr/bin/emacsclient -ca emacs $1 >/dev/null 2>&1
    
por 06.09.2010 / 08:37