2012-04-27 12 views
11

En mi .bash_profile, yo uso esto:Uso emacsclient -t al cometer en Git

export EDITOR=emacsclient 
alias e='emacsclient -t' 

Cuando cometo cambios con Git, se abrirá una nueva ventana de Emacs, pero con emacs --daemon. ¿Cómo puedo configurar mi editor de Git predeterminado para que sea emacs con la bandera t habilitada?

+1

Estoy seguro de que Moritz Bunkus tiene la respuesta, pero estoy algo confundido por su redacción. ¿Está diciendo que quiere que su editor estándar sea 'emacsclient -t' (en cuyo caso podría simplemente especificarlo para el valor de' EDITOR'), o que quiere que el editor de git sea diferente a su editor estándar. Y si está ejecutando 'emacs --daemon', entonces emacsclient se conectará a esa bandera' -t' o de lo contrario, por lo que no estoy seguro de lo que significa su comentario al respecto. – phils

+0

En realidad, el requisito viene de esto: cuando se inicia emacs, tomó algo de tiempo, por eso uso emacs --daemon.when uso git commit, se abrirá un nuevo emacs, por lo tanto, tengo que esperar .so Quiero abrir una ventana de emacs usando emacsclient -t. ¿Estoy claro? – newlife

Respuesta

0

la verdadera razón de esto es la versión de emacs.there es un emacs por defecto en Mac, la versión doesnot tener la opción "-t" .También, parece que git doesnot leer la configuración en .bash_profile

3

Normalmente no digo "Lea bien el manual", pero en este caso simplemente se aplica. git commit --help tiene esto que decir sobre el tema:

ENVIRONMENT AND CONFIGURATION VARIABLES 
    The editor used to edit the commit log message will be chosen 
    from the GIT_EDITOR environment variable, the core.editor configuration 
    variable, the VISUAL environment variable, or the EDITOR environment 
    variable (in that order). See git-var(1) for details. 
+0

[core] editor = "emacsclient -t" Utilizo esto en .gitconfig.Sin embargo, no funciona, ¿alguna sugerencia? – newlife

15
git config --global core.editor 'emacsclient -t -a=\"\"' 

Se inicia un demonio si no hay ya uno corriendo.

Usted puede tener problemas con las comillas, ya que aparece en mi .gitconfig como

[core] 
    editor = emacsclient -t -a=\\\"\\\" 
+1

emacsclient: opción no válida - t Pruebe 'emacsclient --help 'para obtener más información error: Hubo un problema con el editor' emacsclient -t -a = \" \ "'. Proporcione el mensaje usando la opción -m o -F. Este es el resultado cuando uso su configuración, ¿Dónde puedo obtener esta especificación sobre "comillas"? – newlife

+0

Seguramente no hay necesidad de escapar de las comillas dobles dentro de una cadena de una sola cita? – phils

+0

@newlife ¿Qué sistema está usando y qué versión de emacs? http://linux.die.net/man/1/emacsclient – tacaswell

5
export GIT_EDITOR="`which emacsclient` -t -s $EMACS_SERVER_FILE" 

Git parece lodo con la variable PATH antes de llamar a su editor o GIT_EDITOR por lo que el construido en Se llama a emacsclient desde/usr/bin aunque normalmente se llamaría al emacsclient de su Emacs más actualizado. Lo resolví obteniendo la ruta al ejecutable desde un subproceso que tiene su propio entorno, creo (en cualquier caso, funciona ...).

Probado en OS X 10.8.2 con Emacs 24.1 construido localmente, servidor en funcionamiento y clientes que se conectan a través de un socket.

No he probado clientes tcp.