Ich möchte in der Lage sein, Text in der Befehlszeile in Bash mit denselben Tastaturbelegungen zu kopieren und einzufügen, die Emacs standardmäßig verwendet (z. B. mit C-space
for set-mark
, M-w
um Text zu kopieren C-y
, M-y
einzufügen usw.).
Die GNU Bash-Dokumentation besagt, dass Bash einige dieser Schlüsselbindungen enthält, die standardmäßig eingerichtet sind.
Zum Beispiel funktioniert yanking ( C-y
) auf meinem Terminal standardmäßig. Allerdings kann ich nicht bekommen set-mark
und copy
Befehle an die Arbeit, und sie scheinen nicht auf irgendwelche Tasten standardmäßig gebunden zu sein.
Normalerweise kann ein Benutzer seine eigenen Tastenkombinationen definieren, indem er sie hinzufügt .inputrc
. Daher habe ich in der Dokumentation die folgenden Bash-Funktionen gesucht und gefunden, die mir vermutlich dabei helfen können, das von mir gewünschte Emacs-ähnliche Verhalten (dh set-mark
mit C-space
und copy
mit M-w
) zu definieren.
copy-region-as-kill ()
Kopieren Sie den Text in der Region in den Kill-Buffer, damit Sie sofort daran ziehen können. Standardmäßig ist dieser Befehl nicht gebunden.
und
set-mark (C-@)
Setzen Sie die Marke auf den Punkt. Wenn ein numerisches Argument angegeben wird, wird die Markierung auf diese Position gesetzt.
Wenn ich das richtig verstehe, bedeutet dies, dass das Gerät copy-region-as-kill
standardmäßig nicht an eine Tastatursequenz set-mark
gebunden ist , während es standardmäßig an eine Tastatursequenz gebunden ist C-@
.
Ich habe C-@
mein Terminal ausprobiert , glaube aber nicht, dass es ausgeführt wird, set-mark
da beim Bewegen des Cursors kein hervorgehobener Text angezeigt wird. Auf jeden Fall habe ich versucht , den Funktionen und höher in my Tastaturbelegungen ( M-w
und C-
) hinzuzufügen und sie dann mit neu zu laden , aber das hat nicht funktioniert. Ich weiß, dass meine anderen Einträge in Arbeit sind, weil ich andere benutzerdefinierte Tastenkombinationen darin definiert habe.copy-region-as-kill
set-mark
.inputrc
C-x C-r
.inputrc
Was mache ich falsch? Vermisse ich etwas?
bash
und welches Terminalprogramm verwenden Sie?