2013-07-27 14 views
16

uczę podstaw nawigacyjnego/edycji w Emacs i jestem ciekaw, jak można było wykonać następujące zadania:Emacs powtórzyć ciąg n razy

  • Powtórz string „bla” N razy w normalnym tekście tryb edycji.

Załóżmy, że chcę powtórzyć to pięć razy, aby wygenerować "bla bla bla bla". Próbowałem ...

C-u 5 bla 

... ale polecenie wykonuje po „b” jest wpisana, a ja się tylko „bbbbb”.

Jestem pewien, że istnieje pewne podstawowe polecenie, które może mi pomóc ... Czy ktoś byłby na tyle uprzejmy, aby mnie oświecić?

Odpowiedz

15

Jednym ze sposobów jest poprzez keyboard macro:

Cx( bla Cx)Cu Cxe

Można też po prostu wstawić licznik powtórzeń przed zakończeniem makro:

C-x( bla C-u C-x)

+0

Makra na klawiaturze ... niesamowite! Coś mi mówi, że pokocham Emacsa :). – sammy34

+4

Po prostu dla zapisu, oficjalnym sposobem użycia makr jest 'F3', aby rozpocząć nagrywanie i' F4', aby zakończyć i 'F4', aby wykonać. Wersja 'C-x' jest przestarzała i może się zmienić. – Malabarba

+0

https://www.emacswiki.org/emacs/KeyboardMacros –

12

Można to zrobić z makr klawiaturowych: f3blaM-5 f4.

  1. f3 oznacza "rozpocząć nagrywanie"
  2. następnie wstawić bla
  3. M-5 oznacza "5 razy"
  4. f4 środki zakończyć

zastępcę M-5 f4 jest po prostu f4 kilka razy.

+1

Działa również za ... bardzo dziękuję :)! – sammy34