Cada vez estoy más acostumbrado a hacer todo desde dentro de emacs, pero parece que eshell, shell y term solo ejecutarán una instancia cada uno. ¿Hay alguna manera de ejecutar múltiples terminales (preferiblemente término) dentro de emacs?Más de un terminal de emacs
Respuesta
Sólo hay que cambiar el nombre del búfer, he aquí una función para iniciar zsh y pedirá el nombre del búfer:
(defun zsh (buffer-name)
"Start a terminal and rename buffer."
(interactive "sbuffer name: ")
(term "/bin/zsh")
(rename-buffer buffer-name t))
Utilice el comando M-x rename-buffer
para dar el shell actual amortiguar un nuevo nombre, a continuación, se puede iniciar un nuevo shell.
También puede usar 'M-x rename-uniquely' para permitir que emacs encuentre el nuevo nombre –
Siempre se puede crear un nuevo shell con C-u-M x cáscara
depende del sistema operativo subyacente, ya sea que obtenga OTRO shell o salte al existente –
Puede cambiar el nombre de un término y comenzar uno nuevo. Estoy usando algo así, lo tomé de otra persona .emacs.
(require 'term)
(defun visit-ansi-term()
"If the current buffer is:
1) a running ansi-term named *ansi-term*, rename it.
2) a stopped ansi-term, kill it and create a new one.
3) a non ansi-term, go to an already running ansi-term
or start a new one while killing a defunt one"
(interactive)
(let ((is-term (string= "term-mode" major-mode))
(is-running (term-check-proc (buffer-name)))
(term-cmd "/bin/bash")
(anon-term (get-buffer "*ansi-term*")))
(if is-term
(if is-running
(if (string= "*ansi-term*" (buffer-name))
(call-interactively 'rename-buffer)
(if anon-term
(switch-to-buffer "*ansi-term*")
(ansi-term term-cmd)))
(kill-buffer (buffer-name))
(ansi-term term-cmd))
(if anon-term
(if (term-check-proc "*ansi-term*")
(switch-to-buffer "*ansi-term*")
(kill-buffer "*ansi-term*")
(ansi-term term-cmd))
(ansi-term term-cmd)))))
O puede tener un solo y empezar una screen session en ella.
I modificado la respuesta aceptada por Harpo para que se inicie un nuevo shell sin preguntar, conchas será nombrado en la forma * shell-1 *, * shell-2 *, * shell-3 * etc .:
(setq bash-counter 1)
(defun bash()
"Start a bash shell"
(interactive)
(setq bash-counter (+ bash-counter 1))
(let
((explicit-shell-file-name "/bin/bash"))
(shell (concat "*shell-" (number-to-string bash-counter) "*"))
))
He aquí una pequeña función super ligero que se puede llamar de nombre el término que' vuelva a encender, y luego comience un nuevo término:
(defun new-ansi-term()
(interactive)
(if (string= "*ansi-term*" (buffer-name))
(rename-uniquely))
(ansi-term "/bin/bash"))
une entonces que dentro de ANSI plazo, encontré esto funciona:
(defvar ansi-term-after-hook nil)
(add-hook 'ansi-term-after-hook
'(lambda()
(define-key term-raw-map (kbd "C-t") 'new-ansi-term)))
(defadvice ansi-term (after ansi-term-after-advice (org))
(run-hooks 'ansi-term-after-hook))
(ad-activate 'ansi-term)
Si a continuación también ates nueva-ansi plazo de Ct de la forma habitual, encontrará que cuando se No estoy mirando un término ansi, Ct enfocará el búfer de ansi-término, y luego si está mirando un término ansi, Ct lo cambiará a un nombre único y luego abrirá un nuevo término ansi para usted . Esto funciona muy bien en combinación con tabbar, que le mostrará todos sus términos ansi abiertos justo encima de la primera línea del búfer. Fácil de cambiar entre ellos ;-)
- 1. Emacs: Terminal vs shell?
- 2. Terminal serie en emacs
- 3. Terminal de ajuste de tamaño en Emacs
- 4. emacs en terminal metaflexión combinaciones de teclas
- 5. abrir un archivo en un búfer de Emacs, mientras que en el terminal de emacs
- 6. .emacs ¿Editar para iniciar siempre Emacs en modo terminal?
- 7. soporte de ratón Emacs a través de ssh terminal de
- 8. ¿Cómo se envía S-RET a Emacs en un terminal?
- 9. Extrayendo texto en un terminal que se ejecuta en Emacs
- 10. emacs opciones de menú mientras se ejecuta en la terminal
- 11. Instalación de Emacs en la terminal en Chrome OS
- 12. Enviar "C- (" a Emacs en terminal VT100/xterm (Terminal Mac OS X)?
- 13. Ejemplo más útil de usar dired (Emacs)
- 14. abriendo más de un archivo dividido verticalmente mediante emacs -nw
- 15. Ciertas combinaciones de teclas no funcionan cuando se usan emacs en un terminal
- 16. Cómo preservar los colores de emacs de la pantalla de terminal regular a gnu
- 17. manera más rápida de abrir una terminal de ubuntu en un directorio particular
- 18. Calendario de Emacs: mostrar más de 3 meses?
- 19. Crea más de una instancia de Eshell en emacs
- 20. ¿Editores de texto con terminal incorporada?
- 21. Terminal en Emacs en Windows - Mensaje de error: "Proceso hijo engendrando; argumento no válido"
- 22. emulador de terminal PHP
- 23. Textview actúa como un terminal
- 24. ¿Cómo pegar en un terminal?
- 25. Coloración de sintaxis más avanzada en emacs para Python
- 26. consola de actualización emacs (/ usr/bin/emacs) en Mac
- 27. ¿Cómo hacer mazos de cuerda más rápido en emacs?
- 28. ¿Dónde puedo encontrar la configuración de Emacs más popular?
- 29. Emacs se desplacen más allá del extremo de tampón
- 30. ncurses tamaño de terminal
Todavía sucede de vez en cuando que las personas voten para cerrar las preguntas de emacs como "no relacionadas con la programación". No estoy de acuerdo Si la pregunta era sobre cómo formatear una perspectiva de Eclipse, o cómo configurar Visual Studio para leer un feed rss, nadie consideraría recomendar su cierre de esta manera. No tiene sentido tratar las preguntas relacionadas con emacs de esta manera. (ps: have a upvote) – Cheeso