Existe-t-il un moyen rapide (raccourci clavier) pour ouvrir un émulateur de terminal (dans mon cas urxvt) dans le même répertoire que le fichier dans le tampon emacs actuel?
la source
Existe-t-il un moyen rapide (raccourci clavier) pour ouvrir un émulateur de terminal (dans mon cas urxvt) dans le même répertoire que le fichier dans le tampon emacs actuel?
La combinaison M-!
vous permet de lancer des commandes shell. Vous pouvez l'utiliser pour lancer un autre urxvt
.
M-! urxvt RET
Je viens de l'essayer avec xterm
(je n'ai pas urxvt
) et il s'est ouvert dans le même répertoire que le fichier dans le tampon.
Si vous souhaitez définir un raccourci, ajoutez quelque chose de similaire dans votre fichier init:
(global-set-key (kbd "C-c s") (kbd "M-! urxvt RET"))
Dans mon cas, j'ai lié le raccourci à: Ctrl+ C- S.
J'utilise habituellement M-x term
.
Vous pouvez également commander:
M-x terminal
M-x shell
M-x term
lance effectivement un émulateur de terminal écrit en elisp. De l'aide:
terme
M-x ... RET Démarrer un émulateur de terminal dans un nouveau tampon. (terme PROGRAMME)term est une fonction Lisp interactive compilée dans `term.el '.
Démarrez un émulateur de terminal dans un nouveau tampon. Le tampon est en mode Term; voir `term-mode ' pour les commandes à utiliser dans ce tampon.
Tapez Cc b pour basculer vers un autre tampon.
M-x term
, ça a l'air sympa mais ce n'est pas exactement ce que je veux. Je ne veux pas démarrer un shell (par exemplebash
ouzsh
dans un tampon emacs mais un émulateur de terminal (xterm
ouurxvt
...).multi-term
La commande emacs
M-x shell
démarrera un shell dans un nouveau tampon (ou basculera vers un tampon shell existant, s'il y en a un). S'il s'agit d'un nouveau tampon shell, il sera démarré dans le répertoire du fichier visité dans le tampon courant. S'il s'agit d'un tampon shell existant, il sera toujours dans le répertoire où vous l'avez laissé après sa dernière utilisation. Afin d'obtenir toujours le comportement que vous souhaitez, n'oubliez pas de tuer le tampon shell lorsque vous en avez fini avec (C-x k
)Si
M-x shell
c'est trop de frappe, vous pouvez définir une clé globale pour démarrer un shell pour vous. Quelque chose comme(global-set-key (kbd "C-x S") 'shell)
dans votre fichier de démarrage devrait le faire (mais attention à ne pas masquer une autre commande utile avec votre raccourci!)De plus, sachez qu'il s'agit d'un "terminal stupide", donc certaines commandes comme des
git commit
options comme-m
et les mots de passe seront en clair sur votre écran.la source
Je voulais exécuter une application terminal dédié,
konsole
. Je voulais ouvrir un nouvel onglet dans konsole s'il est en cours d'exécution, ou en lancer un s'il ne l'est pas.Depuis que j'étais plus jeune à l'époque, j'ai divisé l'implémentation entre emacs et bash. J'appelle le defun suivant d'emacs:
Le defun appelle le script bash,
bk_konsoles.bash
:la source
La plupart du temps, j'utilise
shell-mode
. J'utilise donc beaucoup shell-here . Mais quand j'ai besoin d'un terminal externe. J'utilise urxvt-client avec tmux en utilisant ceci:Cela ouvrira urxvt-client (avec tmux) dans votre répertoire actuel. Je le lie dans dired-mode-map.
Je choisis urxvt-client car c'est simple et rapide. N'oubliez pas d'exécuter votre démon urxvt au démarrage.
la source
Si le
helm
framework de complétion est installé, vous pouvez utiliserhelm-run-external-command (C-x c C-c C-x)
pour exécuter un émulateur de terminal de votre choix ou tout autre programme externe dans le répertoire du tampon actuel.la source