Unter Windows und Linux konnte ich immer ctrl+ ←oder ctrl+ →drücken, um ein Wort im Terminal nach links oder rechts zu überspringen. In Texteditoren scheint ⌥+ ←/ zu →funktionieren, aber keine Würfel im Terminal. Ich habe Google durchsucht und nichts gefunden, außer einer Wikipedia-Seite, die behauptet, ⌥+ B/ Ferledigt den Job, aber alles, was sie tut, ist, ∫ und ƒ Zeichen auf mein Terminal zu drucken (oder ı und Ï, wenn ich halte ⇧). Irgendwelche Ideen?
19
Das hat mich auch verrückt gemacht, aber ich wollte kein Terminal-spezifisches Update, da ich kein Terminal verwende, und um SSH in meine OSX-Box einbinden zu können, mussten auch die richtigen Tastenkombinationen verwendet werden.
Auch persönlich interessierte mich der ⌥Schlüssel nicht, wie zuvor besprochen; Ich wollte die ctrl+ ←/ →Kombination beibehalten, die ich unter Linux gewohnt bin.
Um dieses Problem zu lösen, habe ich Folgendes zu meinem hinzugefügt
~/.profile
:Beachten Sie, dass die ersten beiden für Bash im Terminal gelten . Die letzten beiden gelten für Bash in iTerm2 und eingehende SSH- Verbindungen. Frag mich nicht, warum die Tastaturemulation anders ist;)
Für die Aufzeichnung konnte ich dank eines Hinweises aus dieser Stackoverflow-Antwort herausfinden, was die Schlüsselcodes tatsächlich waren : Sie können
cat > /dev/null
die genauen Schlüsselcodes überwachen, die während einer Tastenkombination gesendet wurden.(Beachten Sie, dass beim Ausführen
cat > /dev/null
und Drücken von ctrl+ Folgendes← erzeugt wird^[[1;5D
. Ihr genauer Schlüsselcode kann abweichen , der erste^[
wird jedoch\e
wie in meinem Beispielcode dargestellt dargestellt.)Übrigens, wenn Sie alle aktiven Bash-Tastenkombinationen sehen möchten, führen Sie aus
bind -p
.quelle
xxd
, um Tastatureingaben zu untersuchen. Sie können das Zeichen sehen, während Sie esxxd
eingeben , und geben dann den Wert in hexadezimaler Form aus, wenn Sie return eingeben.Ab Mac OS X Lion 10.7 ordnet Terminal ⌥- ←/ →to esc+ B/ Fstandardmäßig zu. Dies ist jetzt für Bash- und andere Programme integriert, die diese Emacs-kompatiblen Tastenkombinationen verwenden.
quelle
Wenn Sie wissen, wie man vi verwendet, können Sie den vi-Zeilenbearbeitungsmodus auch
set -o vi
in Ihrer.bash_profile
oder jederzeit in der Befehlszeile aktivieren. Anschließend können Sie zwischen dem Befehl vi und dem Einfügemodus wechseln. Sie können also Escape drücken und dann die vi-Befehle zum Navigieren in der Zeile verwenden:Sobald Sie an der richtigen Position angekommen sind, können Sie mit den anderen vi-Befehlen den Einfüge- oder Anhänge-Modus aufrufen oder Zeichen nacheinander entfernen usw.
quelle
ESC ^
ist es großartig, wenn Sie es brauchen, es ist nur ärgerlich, wenn Sie etwas ganz anderes machen wollten :)Öffnen Sie das Terminal, gehen Sie zu Einstellungen, Tastatur. In der Liste finden Sie "Strg-Cursor rechts" und "Strg-Cursor links".
Ändern Sie die zugewiesenen Aktionen in "\ 033f" bzw. "\ 033b", und Sie können ctrl+ →und ctrl+ ←zum Bewegen verwenden, ohne die Alt-Taste zu verlieren.
quelle
Es scheint, dass esc+ Bund esc+ Fstandardmäßig zugeordnet sind, um an den Anfang und das Ende von Wörtern zu gelangen. Für mein System kann man zwar nicht gedrückt halten, escsondern muss es für jedes Wort erneut drücken.
quelle
Die neueste Version des Betriebssystems ordnet dies Spaces zu. Selbst wenn Sie Leerzeichen deaktiviert haben, können die Hotkeys an dieser versteckten Stelle kurzgeschlossen werden:
Terminal.app-Cursortasten: Deaktivieren Sie die Systemeinstellungen -> Verknüpfungen -> Missionssteuerung -> Nach links ein Leerzeichen verschieben
quelle