P.ej. cuando está ejecutando cosas buenas como Perl o Ruby REPLs, tiene la finalización de código / comando expuesta a través de GNU Readline. Lo que quiero hacer es establecer alguna variable elisp / env al ingresar / salir de dicho programa para indicar que quiero shell-mode
pasar la tecla TAB a esos programas.
Tenga en cuenta que C-q TAB
tampoco funciona, así que creo que Readline también lo ignora porque TERM=dumb
, pero lo configura a, por ejemplo. vt100 tampoco funciona, por lo que incluso podría estar mirando EMACS=t
.
shell-mode
Mark Aufflick
fuente
fuente
RET
, luego recibe la salida hasta que reconoce una solicitud. Por lo tanto, la terminación debe resolverse de lado.Respuestas:
M-x shell
trabaja línea por línea. Pasa una línea de entrada al proceso de shell externo cuando presiona laRet
tecla.M-x term
pasa cada pulsación de tecla al proceso de shell externo, con la excepción deC-c
y creoEsc
. Cuando presionaTab
, será visto e interpretado por el proceso de shell externo.fuente
Como señaló @ user20119,
M-x term
podría ser una buena opción: también admite cambiar dinámicamente al "modo de línea", que es algo similar a lo que obtienesM-x shell
.M-x eshell
También trata de darle una mezcla de los dos comportamientos.También señalaré que
C-q TAB
no funcionó porque todo lo que hace es insertar un carácter TAB en el búfer (en lugar de enviar una TAB al subproceso). Además, simplemente enviar un TAB char al proceso subyacente no sería suficiente, porque el texto en la línea actual aún no se ha enviado al proceso, por lo que puede necesitar algo como:y, de hecho, probablemente también necesite convencer
M-x shell
para usar una configuración diferente para$TERM
.fuente