Esta es ciertamente una pregunta superficial.
Aunque ansi-term
comienza a comportarse correctamente cuando lo abro por primera vez, parece degradarse a un modo 'editable' después de algunos comandos, por ejemplo, cuando lo hago C-a
(inicio de línea) seguido de C-k
(línea de cierre), borra todo el mensaje.
Para mi cordura estética, ¿hay alguna manera de hacer que las indicaciones y la salida anterior no sean editables (para shell
)? (Actualizado para excluir el término ansi dadas las diferencias significativas).
Estoy usando zsh en Emacs 24.4; El sistema operativo es LXDE (Ubuntu 14.04) a través de Virtual Box.
(Lo ideal sería poder mover el cursor ...)
C-c C-j
. Intente descubrir ese valor predeterminado o cambie al modo char conC-c C-k
.shell-mode
/term-mode
respectivamente no se deriva / nocomint-mode
, aquí hace dos preguntas muy diferentes al mismo tiempo. ¿Te importaría dividir esto en dos preguntas separadas?Respuestas:
los modos derivados de comint (como
shell
,ielm
...) admiten funciones de filtro, el siguiente fragmento hace que la salida y el mensaje sean de solo lectura:En cuanto a
ansi-term
(que no se deriva de comint ), presenta dos modos de operación,char mode
que se mantienen lo más veraz posible para los enlaces del shell y el software que se ejecuta en él, yline mode
que le permite editar el búfer como lo desee. Por lo general, debe permanecer enchar mode
(vinculado aC-c C-k
) y ocasionalmente cambiar aline mode
(vinculado aC-c C-j
) para editar la salida del comando.fuente
Cuando se mezcla
term
conshell-mode
, la variablecomint-use-prompt-regexp
parece establecerse ocasionalmente. Esto provoca un comportamiento un poco como el que ha descrito: en el modo shell C-a irá al principio de la línea, C-kmatará toda la línea, incluida la solicitud.Una solución simple es restablecer
comint-use-prompt-regexp
con C-: (setq comint-use-prompt-regexp nil), obligando al modo shell a usar propiedades de texto que las teclas de movimiento del cursor conocen.Hay una descripción de cómo funciona esto en el manual de GNU Emacs aquí: https://www.gnu.org/software/emacs/manual/html_node/emacs/Shell-Prompts.html
fuente
Intenta personalizar la variable
comint-prompt-read-only
at
.Esto afectará
shell-mode
y otros derivados decomint-mode
, pero noterm-mode
.fuente