¿Hay alguna opción o paquete que haga default-directoryque se actualice si el directorio de trabajo cambia en shell-modey term-mode? Es decir, cuando se usa cd, pero la solución tendría que ser más robusta que solo buscar este comando en particular y tal vez algunos otros; en realidad debería verificar el valor de $PWDdespués de cada comando, creo.
Más importante aún, también debería funcionar cuando se conecta a una máquina remota desde dentro de un búfer shell-modeo term-modeque se creó por primera vez con default-directoryun directorio local. Esa es realmente la característica que realmente necesito: poder decir mediante programación si los comandos que escribo en dichos terminales se ejecutan en una máquina remota. Me gustaría obtener esa información en forma de un conjunto adecuado default-directoryy calcular si hay una manera de obtener eso, entonces la herramienta para hacerlo también funcionaría localmente como se describe anteriormente.
fuente

dirtrack-mode? Tiene un gancho que puede hacer lo que quieras.Respuestas:
Creo que la primera parte de tu pregunta se puede hacer con
dirtrack-mode. Primero, configura su indicador de shell para incluir el directorio de trabajo actual. Luego, establecedirtrack-listuna expresión regular que le dicedirtrack-modecómo extraerla. Ejemplo: configuréPS1en Bash para que sea esto:y en Emacs configuro
dirtrack-listy enciendodirtrack-mode:(Tomado de esta gran publicación de blog ).
Después de eso, puedo cambiar los directorios a voluntad, y los
default-directorycambios a medida que avanzo. Esto también funciona si, en un shell, utilizo SSH en una máquina remota donde configuré el indicador de la misma manera -cd /etc/apache2, en la máquina remota, cambiadefault-directorya/etc/apache2. Sin embargo, tenga en cuenta que esto es local : en el caso de la máquina remota,default-directorytodavía se configurará/etc/apache2en la máquina local .Si entiendo la segunda parte de su pregunta, desea
default-directoryque se establezca algo así comoremote-machine:/etc/apache2cuando SSHing a otra máquina. Cuando use ssh-el , puede ejecutarssh-directory-tracking-modepara que esto funcione. Por ejemplo, si ejecutoM-x ssh, cd a/etc/apache2, luego ejecutoC-x C-f, el mensaje que veo es:Puede ejecutar 'Mx ssh-directory-tracking-mode` a mano, pero es más conveniente configurarlo como un enlace para el modo ssh:
Más información:
fuente
with-editorque será utilizado en el próximo lanzamiento de Magit. Magit en sí no usawith-editor'sshell-mode/term-mode-support, por lo que probablemente no integre esto antes del lanzamiento. Pero la información que proporcionó hará que sea mucho más fácil hacerlo, una vez que haya terminado con el lanzamiento de Magit y pueda concentrarme nuevamente en otras cosas.with-editorfuera de Magit: emacs.stackexchange.com/questions/27/… . Y el tema Magit que me llevó a hacer esta pregunta: github.com/magit/magit/issues/1638 .