2010-08-24 12 views
0

J'utilise Alt-! (Alt-Bang) beaucoup à Emacs. Une des grandes choses que je l'utilise pour estemacs peut invoquer shell et exécuter des commandes - peuvent-ils agir sur les tampons Emacs?

Alt-! cat $logfile | grep 'this' # show me one kind of event 

ou parfois

Alt-! cat $logfile | grep 'this' | wc -l # count that one event's occurrences 

Deux choses:

1) Aucun onglet achèvement de cette invite: pourquoi pas?

2) Et si au lieu de $ logfile, je veux balayer l'un des tampons Emacs?

+0

Quelle version d'Emacs utilisez-vous? J'ai l'achèvement de tabulation à partir de l'invite 'shell-command'. (l'onglet est lié à 'minibuffer-complete-shell-command') – phils

Répondre

1

Alt-| fait est shell-command-sur-région

avec un préfixe numérique (ny) (par exemple Cu 1 Alt- |) de la région est remplacée par le résultat, sinon qui apparaît dans une nouvelle mémoire tampon

+2

n.b. 'Cu' fournit une valeur par défaut (4^n lorsque vous appuyez sur' Cu' n fois), donc quand le nombre est non pertinent, ou doit simplement être un nombre entier positif, vous ne devez pas utiliser 'Cu 1' quand vous pouvez juste utilisez 'Cu' seul (ou' M-1' ou 'C-1'). – phils

3

Pour analyser un tampon Emacs, utilisez au lieu de M-!: il passe la région en entrée de la commande. Utilisez M-1 M-| si vous souhaitez que la sortie de la commande remplace la région.

Pour la commande particulière que vous mentionnez, utilisez M-x grep si vous voulez voir tous les résultats. Ou vous pouvez l'ouvrir et voir les correspondances avec M-x occur.