Хорошо, позвольте мне попробовать простыми словами. Каждый раз, когда вы копируете ( Mw ) или вырезаете ( Cw ), выделение вставляется в top так называемого кольца (которое похоже на закрытый конец список).
Интересная часть приходит после. Теперь, если вы вставите с помощью C-y , то самая последняя вставленная область (которая теперь является front элементом кольца) будет вставлена в буфер. Если вы продолжите нажимать My , то текст будет последовательно заменен старыми и старшими элементами из кольца, то есть кольцо будет повернуто, а более старый текст обозначен как front element каждый раз. Это дает вам доступ к старому вырезанному / скопированному тексту.
На этом полезная часть не заканчивается. Если вы вырезаете / копируете какой-либо другой текст, он будет вставлен в верх кольца, и кольцо будет снова повернуто так, что верх теперь будет спереди . И вы можете снова запустить последовательность C-y M-y , добавив новый текст, обозначенный как front .
Итак, подытожим:
- top кольца - это место, где вставляется вновь скопированный / вырезанный ( M-w / C-w ) текст. Когда это происходит, элемент top становится элементом front .
- элемент front кольца - это место, в котором работают команды вставки (aka yank) C-y и M-y , вставляя его в буфер. M-y также вращает кольцо, так что более старый текст в кольце становится front .
Вы можете визуализировать его, представляя круг с спереди , зафиксированным в положении 12 часов, но не являющимся частью кольца. Вместо этого top является частью кольца, поэтому, когда какая-либо команда вращает кольцо, top также поворачивается.
![alt text](https://i.stack.imgur.com/sFqrn.gif)