Was bedeutet „den Killring drehen“?

Was bedeutet „den Killring drehen“?

Auf den Readline-Infoseiten:

info bash -n "Commands For Kill"

M-y Drehen Sie den Killring und ziehen Sie den neuen Deckel ab. Sie können dies nur tun, wenn der vorherige Befehl C-yoder lautet M-y.

Ich verstehe, dass C-yder zuletzt gelöschte Text „eingefügt“ wird, aber ich konnte nicht genau herausfinden, was M-ydas bewirkt.

Können Sie es erklären?

Antwort1

M-ymacht den letzten Ruck rückgängig, rotiert die Listen aller behaltenen Kill-Strings und reißt den neuen Anfang der Liste. Versuchen Sie dieses Beispiel:

  1. Geben Sie die 5 Zeichen ein a b c(keine neue Zeile)
  2. Positionieren Sie den Cursor (mit C-b) vor dem cund geben Sie C-kto kill the coben auf dem Kill-Ring ein.
  3. Positionieren Sie den Cursor 2 Zeichen nach links und geben Sie ein, C-kum das , zu löschen b.
  4. und erneut zum Anfang der Zeile und geben Sie ein, C-kum das abzubrechen a.

Geben Sie jetzt C-yund ein, um das avom Anfang der Liste zu entfernen. Wenn Sie C-yerneut tippen, erhalten Sie lediglich ein weiteres a. Wenn Sie jedoch sofort darauf tippen, wird M-ydas aentfernt und durch ersetzt b.

Wenn Sie jetzt ein anderes eingeben, C-yerhalten Sie b, nicht a, da der Kill-Ring gedreht wurde. Ebenso wird a das durch ein M-yersetzen .bc

Wenn Sie die Sequenz C-ygefolgt von vielen eingeben M-y, erhalten Sie nacheinander alle Kill-Ring-Zeichenfolgen.

Antwort2

Ich bin kein Emacs-Benutzer, aber im letzten Monat habe ich mit dem Emacs-Modus in Readline als Alternative zum Vi-Modus experimentiert.

Jedes Mal, wenn Sietöten(löschen) Text, wird dieser aus dem Puffer entfernt und demTötungsring. Wenn duRuck(Einfügen) des Textes mit C-Y, der zuletzt eingefügte Text wird an die Cursorposition gedruckt.

Wenn dusofortfolgen Sie diesem mit M-Y(MetaAltTaste kann normalerweise durch Drücken von - Yoder Escgefolgt von ) erreicht werden , der durch den Ruck Ygedruckte Text wird durch den vorletzten gelöschten Text ersetzt. Wenn Sie darauf ein weiteres drücken , wird der eingefügte Text durch den drittletzten gelöschten Text ersetzt und so weiter. Jedes weitere Drücken von ändert den eingefügten Text in den des nächsten „Kills“ im Kill-Ring, bis Sie das Ende des Kill-Rings erreichen – wo esC-YM-YM-Ydreht sichzurück zum letzten Kill.

verwandte Informationen