Emacs повтаря низ n пъти

Научавам основите на навигация/редактиране в Emacs и съм любопитен как човек може да изпълни следната задача:

  • Повторете низа 'bla' n пъти в нормален режим за редактиране на текст.

Да кажем, че искам да го повторя пет пъти, за да генерирам „бла бла бла бла бла“. Опитах...

C-u 5 bla

...но командата се изпълнява след въвеждане на 'b' и получавам само 'bbbbb'.

Сигурен съм, че има някаква основна команда, която може да ми помогне тук...някой ще бъде ли така добър да ме просветли :)?


person sammy34    schedule 27.07.2013    source източник


Отговори (2)


Един от начините е чрез клавиатурен макрос:

C-x (bla C-x)C-u4C-x e

Можете също така просто да вмъкнете броя на повторенията преди прекратяването на макроса:

C-x (bla C-u5C-x)

person Keith Flower    schedule 27.07.2013
comment
Клавиатурни макроси... страхотно! Нещо ми подсказва, че ще харесам Emacs :). - person sammy34; 27.07.2013
comment
Само за протокола, официалният начин за използване на макроси е F3 за започване на запис и F4 за завършване и F4 за изпълнение. Версията C-x е остаряла и може да се промени. - person Malabarba; 27.07.2013
comment
@Malabarba Това е новина за мен. Мога по-лесно да докосна тип C-x ( и т.н. Малко история на пламъка тук: xahlee.info/UnixResource_dir/ writ/emacs_keybinding.html - person remcycles; 04.05.2018

Можете да го направите с макроси на клавиатурата: f3blaM-5 f4.

  1. f3 означава "стартиране на запис"
  2. след това вмъквате bla
  3. M-5 означава "5 пъти"
  4. f4 означава край

Алтернатива на M-5 f4 е просто f4 много пъти.

person abo-abo    schedule 27.07.2013