comment obtenir grep travail dans Emacs sous Windows (EmacsW32)
M-x grep, M-x lgrep, M-x rgrep ne fonctionnent pas dans EmacsW32 pour moi.
Je ne M-x lgrep et il dit grep n'est pas un commandement:
grep -i -n "hello" * NUL
'grep' is not recognized as an internal or external command,
operable program or batch file.
Grep finished with no matches found at Sun Jan 31 05:59:06
Aussi ce que c'est que NULLE chose? EmacsW32 page d'accueil, dit-il livré avec Gnuwin32 les services publics, mais il semble que les travaux de la configuration d'utiliser effectivement le Gnuwin32 grep est laissée à l'utilisateur.
Comment puis-je le configurer pour utiliser le expédiés Gnuwin32 grep ou cygwin grep? Sont à la fois fines?
Oui, les deux grep doit être fine.
Avez-vous réglé votre variable d'environnement PATH pour contenir un répertoire qui a une
Si vous avez
NUL
est un faux fichier, l'équivalent de /dev/null
dans Unix, qui se comporte comme un fichier vide. Je pense que l'intention est que si vous oubliez de mettre une liste de fichiers sur la ligne de commande, grep
ne va pas échouer avec un message d'erreur (puisqu'il en est le fichier NUL), mais si vous pensez au sujet de la fourniture des fichiers, NUL sera ignoré (car il n'est jamais matches). Si c'est la raison, c'est un peu de cheveux de fractionnement de la part d'Emacs créateurs.Avez-vous réglé votre variable d'environnement PATH pour contenir un répertoire qui a une
grep
commande? Si grep
est fourni avec EmacsW32, il devrait être dans un endroit bien en vue.Si vous avez
git-bash
installé, vous pouvez inclure ...\Git\usr\bin
dans votre variable PATH de Windows où ... c'est le chemin d'accès à votre git-bash installation.OriginalL'auteur Yoo | 2010-01-30
Vous devez vous connecter pour publier un commentaire.
Cet article a quelques conseils sur la façon d'obtenir ce travail.
J'ai eu ce travail, l'autre jour, vous pouvez définir la variable d'environnement PATH à l'intérieur d'emacs, et si vous avez cygwin et/ou gnuw32 installé juste à définir le chemin d'accès à ceux-ci. Ceci est un extrait de mon .emacs est applicable uniquement sur windows. J'ai mis à l'variables (cygwin-bin, gnu-bin) pour le chemin d'accès où les programmes sont installés. Puis construire le chemin d'accès à ceux-ci. Un inconvénient est qu'il souffle loin du reste de mon chemin. Qui n'a pas été un problème jusqu'à présent, mais Si j'ai été plus intelligent avec LISP, je pourrais sans doute trouver quelque chose. De toute façon, espérons que cette aide.
Devrais-je ajouter, je suis arrivé à cette solution parce que mettre qnuwin32 devant le chemin d'accès dans windows semble être une proposition risquée, vous courez le risque de perturber le fonctionnement d'autres programmes sur votre machine. Si cela semblait être un bon compromis.
OriginalL'auteur Tom Willis
Windows ne vient pas avec un
grep
utilitaire (en fait, il n'ontfindstr
, mais ce n'est pas exactement la même), si vous avez besoin d'installer quelque chose comme cygwin ou unix utils pour windows. Après l'installation, vous devez avoir à les ajouter à%PATH%
, de sorte que windows ne savez pas où chercher pour eux. Vous pouvez le faire soit en ligne de commande en exécutantcmd.exe
et l'exécution d'une commandeset PATH=<your_path>;%PATH%
ou, dans certains milieux, veuve que vous obtenez en cliquant droit sur un Mon Ordinateur icône (appelé quelque chose comme variables d'environnement ici quelques photos de celui-ci).Note, windows dispose d'un utilitaire appelé
find
et c'est aussi dans le système de%PATH%
, qui peut rendre certaines commandes (M-x grep-find
) ne fonctionne pas correctement, il est important de vous mettre unix-trouver d'abord dans votre%PATH%
.OriginalL'auteur Dmitry
Je pense que le EmacsW32 utilisateur devons définir l'option user
w32shell-shell
via le menuOptions > Customize EmacsW32
, qui est définie sur none, à l'origine, et l'utilisateur devra soit de le cmd ou cygwin. Le paramètre cmd moyens M-x grep va utiliser le haut-Gnuwin32 grep (et cmd.exe comme une coquille) et si le paramètre est enregistré correctement, le dotemacs contiendra les lignes suivantes:L'personnalisé-set-variable formulaire doit être placé le plus près du début de la dotemacs que possible.
Pour quelque raison dans mon système, ce n'est pas suffisant, M-x grep va insister pour utiliser un "grep -n" comme son modèle, plutôt que de "grep -nH -e" et il ajoute toujours "NUL". Dans ce cas, ajouter la ligne suivante dans le dotemacs fichier.
OriginalL'auteur Yoo
Voici un no-nonsense réponse qui fonctionne:
http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/39cd9d63b07a9988#
Profitez-en!
OriginalL'auteur Terrence Brannon
J'utilise Cygwin (une vieille version). Pour Emacs-je utiliser les bibliothèques cygwin-mont.el et d'installation de cygwin.el, chargé de cette commande. Fonctionne très bien.
OriginalL'auteur Drew