Что означает «повернуть кольцо поражения»?

Что означает «повернуть кольцо поражения»?

На страницах информации readline:

info bash -n "Commands For Kill"

M-y Поверните кольцо-убийцу и дерните новую вершину. Вы можете сделать это только если предыдущая команда — C-yили M-y.

Я понимаю, что это C-y«вставляет» последний убитый текст, но я не могу понять, что M-yименно делает.

Можете ли вы объяснить?

решение1

M-yотменяет последнее выдергивание, вращает списки всех сохраненных строк уничтожения и выдергивает новую вершину списка. Попробуйте этот пример:

  1. введите 5 символов a b c(без перевода строки)
  2. поместите курсор (с C-b) перед cи введите команду C-kkill cв верхней части кольца убийств.
  3. Поместите курсор на 2 символа влево и введите, C-kчтобы уничтожить b,
  4. и снова в начало строки и введите команду C-kkill a.

Теперь введите C-yи вы выдерните aиз верхней части списка. Введите C-yснова, вы просто получите еще один a, но если вы сразу же введете , M-yон aбудет удален и заменен на b.

Если вы теперь введете another , C-yто получите b, а не a, потому что kill-ring был повернут. Аналогично, a M-yзаменит bна a c.

Когда вы вводите последовательность, C-yза которой следует множество, M-yвы получаете каждую из строк кольца-убийцы, одну за другой.

решение2

Я не являюсь пользователем Emacs, но в течение последнего месяца я экспериментировал с режимом Emacs в Readline в качестве альтернативы режиму Vi.

Каждый раз, когда тыубийство(удалить) текст, он удаляется из буфера и добавляется вкольцо убийств. Когда тыдергать(вставить) текст с помощью C-Y, последний удаленный текст будет напечатан в позиции курсора.

Если вынемедленнопосле этого следует M-Y(Метаkey обычно можно получить, нажав Alt- Yили Escпосле этого Y), текст, напечатанный C-Yyank, заменяется вторым по времени уничтоженным текстом. Если после этого вы нажмете еще один M-Y, вставленный текст заменяется третьим по времени уничтоженным фрагментом текста и так далее. Каждое последующее нажатие изменяет M-Yвставленный текст на текст следующего «уничтожения» в kill-ring, пока вы не достигнете конца kill-ring – где онвращаетсявернемся к последнему убийству.

Связанный контент