Wiederholen Sie die Eingabe in OSX Bash

9

In Bash unter OSX kann ich ctrl-_das rückgängig machen, was ich zuletzt eingegeben habe. Gibt es einen entsprechenden Wiederherstellungsbefehl?

amindfv
quelle
2
Ich habe einen kurzen Blick in die Manpage von readline (3) geworfen und kann nichts über Redo Command / Shortcut finden. readline (3) ist die Bibliothek, die für Verknüpfungen und historische Funktionen in Bash verantwortlich ist. Wenn Sie interessiert sind, können Sie sich das Handbuch hier unixhelp.ed.ac.uk/CGI/man-cgi?readline+3 ansehen . In dieser Manpage sind alle Standardverknüpfungen aufgeführt.
Bruno Coimbra
@BrunoCoimbra: Es sieht so aus, als gäbe es vielleicht nichts, aber danke für den Hinweis.
Amindfv

Antworten:

4

ctrl-yist der Readline-Befehl 'yank', der den Kill-Puffer abruft. ctrl-uKills vom Punkt bis zum Anfang der Linie (ähnlich wie bei OSX / Bash, ctrl-_wodurch die gesamte Linie gelöscht wird). Die Emacs-ähnlichen Readline-Bindungen werden in Bash aktiviert, und eine Teilmenge wird an vielen anderen Stellen (Browsersuchleisten usw.) aktiviert.

  • ctrl-u vom Linienanfang bis zur Einfügemarke töten
  • ctrl-k von der Einfügemarke bis zum Ende der Linie töten
  • ctrl-w töte vorheriges Wort (und stelle vor, um Puffer zu töten)
  • ctrl-y Ziehen Sie den Inhalt des Kill-Puffers
idoimaging
quelle
1
Ich bekomme ein anderes Verhalten (in Terminal in OS X und XTerm und Emacs in Fedora) - ctrl-_macht die letzte Aktion rückgängig und ctrl-yruft auch getöteten Text ab, nicht nur mit ctrl-u. Trotzdem hatte ich noch nie davon gehört ctrl-y- danke!
Amindfv
Ich habe meine Antwort bearbeitet, um "Readline" anstelle von "Emacs" zu sagen, obwohl viele Schlüsselbindungen gemeinsam genutzt werden, um auch die Definition des Kill-Puffers zu erweitern. Der Readline-Befehl kill-whole-line, der dasselbe tut wie Ihr Befehl , ctrl-_ist standardmäßig ungebunden. Ich habe mich immer gefragt, ob es einen Kill-Whole-Line-Befehl gibt. Ich benutze ctrl-a-k( Zeilenanfang ), um die ganze Zeile zu töten.
Idoimaging
7
Für mich, ctrl-_tötet aber nicht die ganze Zeile - es ist ein Rückgängig-Befehl
amindfv
4
Und es beantwortet auch nicht die Frage.
Suzanshakya