J'exécute Cygwin et je voudrais utiliser Notepad ++ comme éditeur de shell principal, un peu comme ce que j'ai sur mon Mac, où je peux taper mate whatever
pour ouvrir une instance de TextMate. Dans mon ~/.bashrc
fichier dans Cygwin, j'ai l'alias et la variable d'environnement suivants:
export EDITOR="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
alias np="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe"
Cela fonctionne principalement: lorsque je tape np whatever
ou lorsqu'un programme Cygwin appelle $ EDITOR, Notepad ++ s'ouvre.
Cependant, le shell attend que Notepad ++ soit fermé et n'autorisera aucune entrée jusque-là. Cela peut être spécifique à bash, mais comment puis-je ouvrir Notepad ++ à partir de Cygwin et dire au shell de ne pas attendre qu'un code de sortie continue? L'ajout d'un &
à la fin de la commande d'alias ne fonctionne pas correctement: il ouvre simplement un fichier sans titre et avertit filename: command not found
au lieu d'ouvrir le fichier.
Merci!
Je l'ai résolu avec un simple lien symbolique.
Bien sûr, ~ / bin est dans mon $ PATH.
Maintenant, pour ouvrir un fichier, je tape simplement "npp filename.txt" à partir de l'invite cygwin. Je n'ai pas eu à utiliser le & à la fin de la commande.
Cela lancera également un onglet dans la fenêtre Notepad ++ en cours d'exécution plutôt que d'en ouvrir un autre - ET si le fichier est déjà ouvert, il ne l'ouvrira pas à nouveau.
la source
fonctionne également pour x86
la source
Ajoutez simplement un espace et une esperluette (&) à la fin de votre commande et le shell retournera immédiatement en mode d'entrée tout en laissant le bloc-notes ++ ouvert.
lors de l'édition:
Je ne parle pas de l'ajouter à votre alias. Ajoutez-le à la fin de votre commande comme ceci:
np whatever &
la source
.bash_profile
afin que je n'ai pas besoin de le taper tout le temps?Les alias ne prennent pas d'arguments interpolés. Utilisez plutôt une fonction.
la source
Ce script démarre Notepad ++ en arrière-plan, en passant les arguments de ligne de commande avant le '&'
Comme Doug l'a conseillé , avoir une valeur par défaut
$EDITOR
qui ne bloque pas peut causer des problèmes.la source
Il y a une commande spécifique dans cygwin pour accomplir cela. Assurez-vous de télécharger run.exe et assurez-vous qu'il se trouve dans votre PATH (ou que votre PATH contient l'exécutable)
la source