2017-09-21 3 views
0

J'utilise vagabond pour fournir un environnement de développement (Ubuntu 16.04 sur un hôte 17.04). Donc je développe dans emacs sur ma machine locale (17.04) afin d'avoir X et autre intégration, mais compile sur l'invité vagabond.compiler avec emacs à l'intérieur de vagabond - et next-error

M-x compile 
vagrant ssh -c "cd /vagrant; make -C . -j 6 -k" 

Et cela fonctionne, mais maintenant next-error échoue, car emacs est en train de lire le make: Entering directory /vagrant au début du tampon.

Existe-t-il un moyen de dire à emacs le nom local du répertoire ou de faire le nom que je veux signaler pour emacs? Ou une autre façon de coordonner ces deux?

Faire un lien symbolique «/errante » est un hack trop intrusif ...

+0

Si vous utilisez tramp pour entrer dans l'invité vagabond (ce qui peut être aussi simple que C-x C-f/ssh: errant-guest-name:/vagrant RET), vous pouvez exécuter des commandes dans l'invité de façon transparente. En particulier, vous pouvez simplement exécuter 'M-x compilez RET make -C. -j 6 -k RET' de la mémoire tampon clochard et ça devrait juste marcher. – jpkotta

+0

Je devrais dire que je ne suis pas super familier avec vagabond. Ma compréhension est qu'il peut faire tourner une machine virtuelle avec un serveur ssh en cours d'exécution, donc vous devriez être capable de se connecter à ce serveur SSH à partir du système hôte. Si oui, vous pouvez simplement le traiter comme n'importe quel serveur SSH. – jpkotta

Répondre

0

Ce n'est pas une réponse parfaite par tous les moyens. En fin de compte, j'ai créé un lien symbolique de/vagrant vers mon répertoire de travail. Cela fonctionne pour moi parce que je ne fais cela que pour un projet et parce que c'est ma machine (donc je suis le seul utilisateur à le faire). C'est donc une solution inadéquate au-delà de mon cas particulier.

Je n'ai pas réussi à obtenir un clochard qui fonctionne bien pour moi. Peut-être que c'est possible, mais GNU make veut vraiment commencer en indiquant où il compile, ce qui est généralement une bonne chose. Tramp n'affecte que la façon dont j'accède à l'hôte invité (vagabond).