2011-01-04 7 views
8

Previamente le pedí how to switch R sessions in ESS, y el uso de C-x C-s ha acelerado mi flujo de trabajo en gran medida.¿Cómo cambio el nombre de las sesiones R en ESS?

Sin embargo, si tengo varias sesiones R (incluso tan sólo 3), que puede ser difícil de recordar, que el es R, que es R:2, y que es R:3. ¿Hay alguna manera de hacer que ESS, Emacs o vagabundos nombren automáticamente las diferentes sesiones basadas en el servidor/directorio en el que R se está ejecutando?

+0

Su respuesta anterior fue revisada para mencionar uniquify - ¿lo ha intentado? –

+1

@Nicholas sí, he intentado uniquify, pero las sesiones todavía se llaman 'R',' R: 2', etc. no estoy seguro de por qué, incluso después de leer http://www.gnu.org/software/emacs/manual/ html_node/emacs/Uniquify.html –

+1

@David Parece que hay una distinción importante entre los nombres de los búferes y los nombres de los procesos. AFAIK, uniquify ayuda a limpiar nombres de buffer. Cuando ejecuta 'ess-switch-process', está eligiendo de una lista de procesos, no de búferes. Según [esta respuesta] (http://stackoverflow.com/questions/6474803/emacs-can-i-change-the-name-of-a-started-process) parece que no puede cambiar el nombre de un proceso, entonces estás atrapado. Sin embargo, me encantaría poder hacer exactamente lo que me estás preguntando. –

Respuesta

6

[Actualización]

Las nuevas versiones de ESS (> 12.09) operan sobre los nombres de tampón en lugar de los nombres de procesos internos. Ahora puede cambiar el nombre de su memoria intermedia inferior con M-x rename-buffer y eso hará lo correcto. También puede configurar ess-gen-proc-buffer-name-function para configurar el cambio automático de nombre personalizado de los búferes de proceso al inicio.

[/ actualización]

R, R: 2 ETK son los nombres de proceso en ESS. Hice esta pregunta en la lista de correo de ess hace un año o así. Parece que no hay una forma directa de cambiar este comportamiento. Es una característica de emacs, no ESS. Puede cambiar los nombres de los búfers asociados con el proceso, pero los nombres de los procesos no se modificarán.

Uniquify cambia los nombres del búfer lo más lejos que pude ver. Y en cualquier caso, en las versiones recientes de los búferes de emacs con el mismo nombre de archivo se designan rutas parciales para que sean únicos. Entonces parece que uniquify fue adoptado en base a emacs para archivos, pero no para otras cosas como nombres de proc.

2

No estoy seguro acerca de renombrando automáticamente (y puede preguntar eso en la lista de correo de ESS) pero a veces uso M-x rename-buffer que hace exactamente lo que se supone que debe hacer.

+0

¿qué hace uniquify exactamente? –

+0

Consulte, por ejemplo, esto: http://www.emacswiki.org/emacs/uniquify –

+0

Lo vi, pero no he observado ningún efecto de usar uniquify en la práctica. Por lo que entiendo, uniquify debería ser la respuesta a mi pregunta –

Cuestiones relacionadas