10
votes

Emacs Remote Shell

J'ai tendance à courir ma coquille dans Emacs, mais quand je l'utilise à SSH dans un autre ordinateur, cette onglet est terminée. Y a-t-il un moyen de résoudre ce problème?


1 commentaires

Peux-tu élaborer? Vous attendiez-vous à l'achèvement du nom de fichier sur un chemin spécifique à la machine (par exemple le disque local)? Commandes en général?


7 Réponses :


9
votes

Essayez: xxx

qui doit configurer ange-ftp (ou tramp), puis l'achèvement de l'onglet pour les chemins doit fonctionner correctement pour ce shell - jusqu'à ce que vous vous connections à une machine différente. < / p>

Vous pouvez configurer un filtre à traiter COMINT pour reconnaître lorsque vous tapez ssh pour le faire pour vous automatiquement, mais c'est difficile à obtenir juste car il devrait revenir lorsque vous quitterez le ssh session, mais ne pas être trompé par d'autres utilisations de Quitter .

pour une solution automatisée, je suggérerais d'augmenter L'approche que j'utilise personnellement pour garder les EMACS synchronisés avec le Répertoire de travail actuel du tampon Shell. Il suffit d'ajouter un bit supplémentaire d'informations avec le nom d'hôte et utilisez-le pour définir le nom d'hôte et le chemin comme indiqué ci-dessus.


0 commentaires

1
votes

Vous pouvez essayer M-X ANSI-TERM pour héberger votre shell si vous obtenez un comportement inattendu avec des mappages clés. Cela dit que je ne pouvais pas ré-produire le problème de votre décrivant sur votre configuration.


0 commentaires

0
votes

J'ai eu un problème similaire que je pense et je l'ai résolu en édité mon ~ / .bash_login sur la machine Supprimer la machine et appendez

export TERM=xterm


0 commentaires

2
votes

Dans un autre fil, quelqu'un a mentionné Eshell que je n'ai jamais utilisé mais je l'ai essayé avec SSH et toutes sortes d'une bonne intégration se produisent. Il est temps d'apprendre Ehell.


0 commentaires

0
votes

Je viens d'écrire une petite fonction pour ouvrir une coquille sur un hôte distant. L'appel CD avant shell obtient l'achèvement de l'onglet fonctionner.

Ceci peut être différent de votre choix, puisqu'il ouvre une nouvelle coquille au lieu de Ssh'ing dans une locale coquille. Au-delà de cela, vous pouvez rechercher des emacs Suivi du répertoire (ou voir qui d'autre a). xxx


0 commentaires

0
votes

shell m-x invoqué dans la mémoire tampon A passera à un tampon de coquille B; généralement shell . Sans surprise, cela crée B si nécessaire. Un préfixe Arg causera qu'il demande le nom de B. Si A affichait quelque chose sur un hôte distant, le shell sera exécuté sur l'hôte distant. Mais seulement s'il ne peut pas trouver un B. existant à ce moment-ci, l'achèvement du nom de fichier fonctionnera.

Il y a quelques notes sur la façon de bricoler avec cela dans le wiki Emacs. Voir par exemple la fonction My-Shell dans Cette section , qui prolongera le nom par défaut pour B Fichiers si distants Obtenez des coquillages distants. Je fais cette même chose par conseiller la fonction shell .

L'achèvement automatique du nom de fichier fonctionnera bien. Commande autocomplete? Moins donc. Pour moi, il bloque les emacs et ne fonctionne pas réellement.


0 commentaires

0
votes

J'utilise aride pour accéder à la machine distante et ouvrez une coquille là-bas.

Voici la fonction que j'utilise, prise et modifiée à partir de Tikhon Jelviss 'Configuration emacs : xxx

Exemple: xxx


0 commentaires