Die Tasten home
und end
auf einem MacBook Pro können mit Fn + Pfeil nach links oder Fn + Pfeil nach rechts emuliert werden. Oder wenn bestimmte Einstellungen geändert werden, mit der Befehlstaste (Apple) anstelle von fn.
Keines davon funktioniert in Terminal.
Da ich häufig an den Anfang oder das Ende der Zeile gehen muss und auch gerne wortweise vorwärts oder rückwärts springen möchte.
Wie kann ich im Terminal auf einer Linie herumspringen?
Um die Frage zu beantworten, wie der Anfang oder das Ende der Zeile abgerufen werden kann, weist Terminal ihr standardmäßig die folgenden Schlüssel zu:
Wenn Sie möchten, dass zu Hause und am Ende "normal" gearbeitet wird (und keine Schicht erforderlich ist), gehen Sie zu [Terminal-Menü] → Einstellungen → Registerkarte "Profile" (oder Einstellungen in einigen Versionen von OS X) → Unterregisterkarte "Tastatur".
Dann ändern / fügen Sie diese Schlüssel so hinzu, dass sie die folgende "Zeichenfolge an Shell senden" sind
\033[H
\033[F
Sie können das
\033
Teil erhalten, indem Sie die Escape-Taste in der Eingabe des Bearbeitungsdialogs drücken, wenn Sie es hinzufügen müssen.Dann klappt home und end wieder wie gewohnt (puh).
Beachten Sie auch, dass "alt + ←" und "alt + →" in der Terminalzuordnung standardmäßig links und rechts stehen, eine weitere nützliche Kombination, an die Sie sich erinnern sollten.
Wenn sich in späteren Versionen von Mac OS X der Terminalbildschirm beim Drücken der Start / Ende-Taste nach oben oder unten verschiebt, muss möglicherweise die Starttaste auf
\033[1~
und die Ende-Taste auf gestellt werden\033[4~
, um die gewünschten Ergebnisse zu erzielen (keine Verschiebung erforderlich). .Sie können diese Antwort ändern, um weitere nützliche Tastenkombinationen hinzuzufügen, da es sich um ein Community-Wiki handelt.
quelle
Es hört sich so an, als ob Sie Hilfe bei der Verwendung von readline und bash suchen. Hier ist eine verrückte Liste von Tastaturen, die geändert wurden von: http://www.math.utah.edu/docs/info/features_7.html#SEC45
Ctrla Gehen Sie zum Zeilenanfang.
Ctrle Bewegen Sie sich an das Ende der Zeile.
Escf Bewegen Sie sich ein Wort vorwärts.
Escb Gehen Sie ein Wort zurück.
Ctrll Löschen Sie den Bildschirm und drucken Sie die aktuelle Zeile oben erneut.
Ctrlk Töte den Text von der aktuellen Cursorposition bis zum Ende der Zeile.
Escd Töte vom Cursor bis zum Ende des aktuellen Wortes oder zwischen Wörtern bis zum Ende des nächsten Wortes.
EscDel Töte vom Cursor den Anfang des vorherigen Wortes oder, wenn zwischen den Wörtern, den Anfang des vorherigen Wortes.
Ctrlw Töte vom Cursor zum vorherigen Leerzeichen. Dies ist anders als EscDelCtrla weil sich die Wortgrenzen unterscheiden.
Ctrld Löschen Sie das Zeichen unter dem Cursor.
Ctrl_ Machen Sie das letzte, was Sie getan haben, rückgängig. Sie können den gesamten Vorgang bis zu einer leeren Zeile rückgängig machen.
Und hier erfahren Sie, wie Sie den Text zurück in die Zeile ziehen. Ruckeln bedeutet, den zuletzt getöteten Text aus dem Tötungspuffer zu kopieren.
Ctrly Ziehen Sie den zuletzt getöteten Text in den Puffer am Cursor zurück.
Escy Drehen Sie den Killring und ziehen Sie das neue Oberteil heraus. Sie können dies nur tun, wenn der vorherige Befehl Ctrlyoder lautet Escy.
quelle
Wenn Sie die Pfeiltasten bevorzugen, können Sie mit fnShift+ Left Arrowauf der Befehlszeile nach Hause gehen. Ebenso bringt Sie fnShift+ Right Arrowzum Ende.
quelle
Mit option+ leftund option+ können Sie jeweils ein Wort verschieben right.
In Bezug auf die Verwendung von homeund endlauten die Standardbindungen von Terminal wie folgt:
In vielen anderen Terminal-Apps (auf mehreren Plattformen) werden diese geänderten und nicht geänderten Paare umgekehrt (dh nackt) homeund endzum Springen in der aktuellen Zeile verwendet, und die geänderten Versionen (ob von shiftoder anders) werden zum Navigieren im Bildlauf-Zurück-Puffer verwendet ). Sie können die Terminal-Bindungen umkehren, um auf diese Weise zu arbeiten, wenn Sie dies wünschen, indem Sie folgendermaßen vorgehen:
Gehen Sie zu Terminalmenü → Einstellungen → Registerkarte Einstellungen / Profil → Unterregisterkarte Tastatur.
Ändern Sie dann die Schlüssel-Aktions-Paare wie folgt:
Hinweis: Durch Drücken der Escape-Taste wird \ 033 in das Feld für den zu sendenden Text im Dialogfeld "Bearbeiten" eingegeben.
Während Sie dort sind, möchten Sie möglicherweise die Bindungen von geändert und nicht geändert auf ähnliche Weise austauschen page upund page down, um die Konsistenz zu gewährleisten, eine Navigationstaste mit shifteinem Befehl an Terminal selbst drücken (um wie bei einem Dokument durch den Bildlaufpuffer zu navigieren), während Sie eine Taste ohne drücken sendet den Tastendruck durch, was auch immer läuft innerhalb es (zB
bash
,less
,nano
,screen
, etc.). Die Schlüssel-Aktions-Paare dafür sind:quelle
Die anderen Antworten sind großartig und portabler, aber hier ist "der OS X-Weg" für eine normale Tastatur (die sich von vielen anderen Terminals unterscheidet). Versuche Folgendes:
ShiftHome- Zeilenanfang
ShiftEnd- Zeilenende
Von http://www.greenend.org.uk/rjk/tech/macbits.html
quelle
Mapping homeund endTasten mit der gewünschten Funktionalität lösen das Problem auf einfache Weise.
Es wurden viele Antworten gepostet, aber falls Sie verwenden
zsh
, können Sie Folgendes einstellen home:und setze endauf:
durch Klicken auf Präferenz - Profil - Tastatur.
quelle
Dies ist der effektivste Weg, um es auch mit vim zum Laufen zu bringen. Gehen Sie zu Terminal -> Einstellungen -> Profile -> Tastatur und fügen Sie Folgendes hinzu:
Taste: ↖ Aktion: \ 033OH
Taste: ↗ Aktion: \ 033OF
quelle
Ich möchte eine alternative Lösung für dieses Problem anbieten. Dies funktioniert hervorragend, wenn Sie ein vi-Benutzer sind. Vim Key Bindings in Terminal bietet eine Möglichkeit, Ihr Terminal im Vim-Stil zu verwenden. Sie können dies tun, indem Sie das
set -o vi
Terminal eingeben und es nach Belieben eingeben.bash_profile
. Danach ist Ihr Terminal praktisch ein VIM-Editor. Sie können dieesc
Taste verwenden, um in den Befehlsmodus zu wechseln und auf vim Art und Weise herumzulaufen. Zum Beispiel0
bekommt man zu Beginn und$
bringt Sie bis zum Ende. Sie können auchI
und verwendenA
, um zum Anfang und zum Ende zu gelangen und sofort in den Bearbeitungsmodus zu wechseln.w
undb
lassen Sie sich um ein Wort vorwärts und rückwärts bewegen. Und wenn Sie versuchen, durch Drücken von in den visuellen Modus zu wechselnv
Sie erhalten einen VIM-Editor und der Text, den Sie haben, wenn Sie diesen Editor verlassen, wird im Terminal ausgeführt.Beachten Sie, dass durch diese VIM-Tastenkombination alle Tastenkombinationen ungültig werden, die Sie aus anderen Antworten gelernt haben.
quelle
Hier ist die Liste in druckbarer Form, wie gewünscht :)
http://pastebin.com/uCqwn7qs
Ich habe auch einen "Bug" in der Beschreibung behoben. Dies ist, was Sie ursprünglich in der Anleitung lesen konnten:
ESC-d Tötet vom Cursor den Anfang des vorherigen Wortes oder, wenn zwischen Wörtern, den Anfang des vorherigen Wortes.
Dies riecht nach einem Fehler beim Ausschneiden und Einfügen, da beide Teilsätze dasselbe aussagen. Die erste Hälfte muss laut Klartext tatsächlich "vom Cursor bis zum Anfang des aktuellen Wortes" lauten.
quelle
quelle