Je suis de plus en plus habitué à tout faire depuis l'intérieur d'emacs, mais il semble que eshell, shell et term n'exécuteront qu'une instance chacun. Existe-t-il un moyen d'exécuter plusieurs terminaux (de préférence terme) à l'intérieur d'emacs?Plus d'un terminal emacs
Répondre
Il vous suffit de renommer le tampon, voici une fonction pour démarrer zsh et demande le nom du tampon:
(defun zsh (buffer-name)
"Start a terminal and rename buffer."
(interactive "sbuffer name: ")
(term "/bin/zsh")
(rename-buffer buffer-name t))
Utilisez la commande M-x rename-buffer
pour donner le shell courant tampon un nouveau nom, alors vous pouvez commencer une nouvelle coquille.
Vous pouvez également utiliser 'M-x rename-uniquely' pour laisser Emacs trouver le nouveau nom –
Vous pouvez toujours créer un nouveau shell avec C-u shell M-x
dépend de l'OS sous-jacent, si vous obtenez un autre shell ou sauter à l'existant –
Vous pouvez renommer un terme et commencer une nouvelle. J'utilise quelque chose comme ça, je l'ai pris chez quelqu'un d'autre.
(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)))))
Ou vous pouvez avoir un seul et commencer une screen session en elle.
J'ai modifié la réponse acceptée par Harpo pour qu'il démarre une nouvelle coquille sans demander, des coquillages sera nommé sous la forme * shell-1 *, * shell-2 *, * coquille 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) "*"))
))
Voici une petite fonction super léger que vous pouvez appeler pour renommer automatiquement le terme que vous » re sur, puis commencer un nouveau terme:
(defun new-ansi-term()
(interactive)
(if (string= "*ansi-term*" (buffer-name))
(rename-uniquely))
(ansi-term "/bin/bash"))
ensuite à se lier qu'à l'intérieur terme ansi, je trouve cela fonctionne:
(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 vous Rabattre aussi nouveau-ansi-terme Ct de façon normale, vous constaterez que lorsque vous Ne regardez pas un terme d'ansi, Ct mettra l'accent sur le tampon ansi-terme, et si vous regardez un terme-année, Ct le renommera en un nom unique, puis ouvrira un nouveau terme pour vous . Cela fonctionne très bien en combinaison avec tabbar, qui vous montrera tous vos ansi-termes ouverts juste au-dessus de la première ligne du tampon. Facile de basculer entre eux ;-)
- 1. Le DUND d'Android prend-il en charge DUN DT (alias Dial Up client alias Data Terminal aka "dund --connect")
- 2. Envoyer "C- (" à Emacs dans le terminal VT100/xterm (Terminal de Mac OS X)?
- 3. La commande pdflatex ne fonctionne pas en mode terminal Emacs
- 4. emacs sur les touches de contrôle du terminal gnome
- 5. Emacs supprimer rectangle de plus d'une page
- 6. Emacs et cygwin
- 7. Mac Terminal: Comment obtenir des capturations plus rapides?
- 8. emacs, etags et utiliser emacs comme IDE
- 9. Commande shell Emacs introuvable
- 10. Pipe ESS au terminal en dehors d'Emacs?
- 11. Yacc: Code après chaque terminal non-terminal
- 12. Existe-t-il un moyen d'obtenir un meilleur terminal dans emacs?
- 13. Quelles sont les commandes EMACS les plus courantes?
- 14. Le tutoriel de coloration syntaxique Emacs le plus simple?
- 15. Exemple le plus utile d'utilisation de dired (Emacs)
- 16. Emacs et MySQL sur Mac
- 17. emacs keybinding pour compiler le fichier C
- 18. Comment rendre les couleurs des terminaux Emacs identiques à celles des cartes graphiques Emacs?
- 19. Emacs: pymacs ne se charge pas ropemacs avec Emacs carbone
- 20. Comment déterminer si un terminal est compatible couleur?
- 21. Meta et # dans un terminal mac anglais
- 22. Emacs ... comme votre shell par défaut?
- 23. Emacs - emacsclient ou nouveau cadre?
- 24. Coller du texte dans emacs sur Macintosh
- 25. Terminal interactif dans VIM
- 26. MAMP Mysql dans Terminal
- 27. Microsoft Terminal Services
- 28. Terminal base de commandline
- 29. Taille du terminal ncurses
- 30. terminal de lancement de l'application
Il arrive encore de temps en temps que les gens votent pour fermer les questions Emacs comme "non liés à la programmation". Je ne suis pas d'accord. Si la question concernait la mise en forme d'une perspective Eclipse ou la configuration de Visual Studio pour la lecture d'un flux RSS, personne ne songerait à la recommander de la sorte. Cela n'a aucun sens de traiter les questions liées à emacs de cette façon. (ps: avoir un upvote) – Cheeso