927 Stimmen

Wie man den Cursor im OS X Terminal wortweise bewegt

Ich kenne die Kombination Ctrl + A um an den Anfang des aktuellen Befehls zu springen, und Ctrl + E um zum Ende zu springen.

Aber gibt es eine Möglichkeit, Wort für Wort zu springen, wie Alt + / in Cocoa-Anwendungen tut?

2 Stimmen

Welche Shell verwenden Sie? Bash?

4 Stimmen

ITerm2 ist so viel schöner als das eingebaute Terminal. Ich habe unten eine Anleitung gepostet, wie man die Tastatur anpassen kann :)

2 Stimmen

Warum wird dies nicht auf den Superuser übertragen?

673voto

Kristian J. Punkte 9941

Direkt nach dem Auspacken können Sie die recht bizarren Esc + F um an den Anfang des nächsten Wortes zu gelangen und Esc + B um an den Anfang des aktuellen Wortes zu gelangen.

62 Stimmen

Es war lästig, beide Tasten erneut zu drücken, um den Befehl erneut auszuführen. Ich finde es ziemlich lahm, dies im Mac OSX Terminal zu tun, verglichen mit dem GNOME Terminal.

278 Stimmen

Sie können die Option "Option als Metaschlüssel verwenden" in Terminal > Voreinstellungen > Einstellungen > [Profil] > Tastatur . Dann müssen Sie das Esc nicht mehr manuell eingeben.

12 Stimmen

Auch wenn Sie auf Esc + F am Ende einer Zeile oder die andere Tastenkombination am Anfang der Zeile, fügt er stattdessen einfach den Buchstaben ein. Lästig!

581voto

Varun Katta Punkte 5826

Unter Mac OS X funktionieren die folgenden Tastenkombinationen standardmäßig. Beachten Sie, dass Sie die Option Schlüssel wirken wie Meta in den Terminaleinstellungen (unter der Registerkarte Tastatur)

  • alt () + F zu springen F auf ein Wort hin
  • alt () + B zu springen B um ein Wort zurückgeblieben

Ich habe festgestellt, dass die Standard-Emacs-Tastenbelegung für einfache Textnavigation auch in Bash-Shells zu funktionieren scheint. Sie können verwenden

  • alt () + D um ein Wort ab der aktuellen Cursorposition zu löschen
  • ctrl + A um zum Anfang der Zeile zu springen
  • ctrl + E um zum Ende der Zeile zu springen
  • ctrl + K um die Zeile ab der Cursorposition zu löschen
  • ctrl + Y zum Einfügen von Text aus dem Kill-Buffer
  • ctrl + R zur Rückwärtssuche nach Befehlen, die Sie in der Vergangenheit eingegeben haben, in Ihrem Verlauf
  • ctrl + S um die Suche weiterzuleiten (funktioniert bei mir in zsh, aber nicht in der Bash)
  • ctrl + F sich um ein Zeichen vorwärts zu bewegen
  • ctrl + B um ein Zeichen rückwärts zu gehen
  • ctrl + W um das Wort rückwärts von der Cursorposition zu entfernen

1 Stimmen

Danke! Ich habe mich gefragt, warum es nicht sofort funktioniert, das ist genau das, was ich brauchte.

32 Stimmen

Sie können die Metadaten in iterm2 wie folgt ändern: Einstellungen -> Profile -> Tasten -> Linke Optionstaste fungiert als +ESC dann können Sie mit OPTION f/b das Wort entsprechend vorwärts oder rückwärts bewegen. Mehr

6 Stimmen

[ Strg + W ] - um das Wort rückwärts von der Cursorposition zu entfernen

312voto

Fil Punkte 3507

So können Sie es tun

Standardmäßig verfügt das Terminal über diese Tastenkombinationen zum wortweisen Verschieben (nach links und rechts):

  • esc + B (links)
  • esc + F (rechts)

Sie können konfigurieren alt + y um diese Sequenzen für Sie zu generieren:

  • Öffnen Sie die Terminaleinstellungen ( cmd + , );
  • Wählen Sie auf der Registerkarte Einstellungen die Option Tastatur und doppelklicken Sie auf wenn sie vorhanden ist, oder fügen Sie sie hinzu, wenn sie nicht vorhanden ist.
  • Legen Sie den Modifikator wie gewünscht fest, und geben Sie die Tastenkombination in das Feld ein: esc + B und erzeugt den Text \033b (Sie können diesen Text nicht manuell eingeben).
  • Wiederholen Sie den Vorgang für Wort-rechts ( esc + F wird \033f )

Alternativ dazu können Sie auch diesen Blogbeitrag bei textmate lesen:

http://blog.macromates.com/2006/word-movement-in-terminal/

8 Stimmen

Für Benutzer von MacOSX 10+ und iTerm: Entweder Sie weisen die Tastenkombination in den globalen Einstellungen oder als Profiltastenkombination zu. Vergewissern Sie sich, dass Sie "Send Escape Sequence" im Dropdown-Menü ausgewählt haben und geben Sie nur B für zurück ou F für weiter in die Esc+ Feld

0 Stimmen

+1 für eine tolle Eselsbrücke, an die ich vorher nicht gedacht habe. Ich werde definitiv/unglücklicherweise pas Ich erinnere mich jetzt daran, weil ich die alt left y alt right um diese Sequenzen zu erzeugen

0 Stimmen

Wenn ich die Tastenzuordnung zu Terminal hinzufüge, wird sie an '^[B' statt an Esc-B gebunden.

194voto

cwd Punkte 50020

Wechseln zu iTerm2 . Es ist kostenlos und viel schöner als das einfache alte Terminal. Außerdem hat es viel mehr Optionen für die Anpassung, wie Tastaturkürzel.

Ich finde es auch toll, dass man die cmd und 1-9, um zwischen den Registerkarten zu wechseln. Probieren Sie es aus und Sie werden nie wieder zum normalen Terminal zurückkehren :)

Wie man in iterm2 benutzerdefinierte Tastatureinstellungen einrichtet

  • iTerm2 installieren
  • Starten Sie und gehen Sie dann zum Einstellungsbereich.
  • Wählen Sie die Registerkarte Tastaturprofile
  • Sie müssen entweder das Profil in ein neues Profil kopieren und dann die Pfeiltastenkombinationen löschen, z. B. ^ + Right / Left oder wenn Sie sich nicht um eine Sicherung kümmern, löschen Sie sie einfach aus dem Standardprofil.
  • Vergewissern Sie sich als Nächstes, dass Ihr geändertes Profil ausgewählt ist (mit Sternchen versehen).

Picture 1.png

  • Wählen Sie nun die Registerkarte Tastatur (oberste Zeile)

iTerm 2

  • Klicken Sie auf die Plus-Schaltfläche, um ein neues Tastaturkürzel hinzuzufügen
  • Geben Sie in das erste Feld CMD + Left arrow
  • Wählen Sie im zweiten Feld "Escape-Code senden".
  • Geben Sie in das dritte Feld den Buchstaben B

Picture 2.png

  • Wiederholen Sie den Vorgang mit den gewünschten Tastenkombinationen. escape + B rückt ein Wort nach links, escape + f verschiebt ein Wort nach rechts.
  • können Sie auch Folgendes einrichten cmd + d um das Wort vor dem Cursor zu löschen, mit escape + d

Ich habe oft die falsche Taste gedrückt ( cmd / control / alt ) mit einer Pfeiltaste und so habe ich meine Pfeiltastenkombinationen mit diesen Tasten alle so eingestellt, dass die Wörter vor- und zurückspringen, aber macht bitte, was euch am besten passt.

5 Stimmen

Egal, was ich tue, ich kann nicht eintreten Ctrl + Arrow Left ou Right - Up y Down funktioniert :/ versucht mit und ohne das neue Profil als Standard eingestellt

6 Stimmen

Lösung: Ich musste die Tastenkombinationen für die Missionssteuerung unter MacOS Systemeinstellungen -> Tastatur deaktivieren :)

0 Stimmen

Die obige Anweisung funktioniert nicht mehr mit iTerm2. Bitte beachten Sie meine untenstehenden Antworten für iTerm2 Build 3.3.4.

190voto

mdubez Punkte 2776

Eigentlich gibt es einen viel besseren Ansatz. Halten Sie option ( alt auf manchen Tastaturen) und drücken Sie die Pfeiltasten nach links oder rechts, um sich wortweise zu bewegen. So einfach ist das.

option
option

Auch ctrle bringt Sie zum Ende der Zeile und ctrla bringt Sie zum Start.

9 Stimmen

In bestimmten Fällen funktioniert das nicht. Bei mir war es in Ordnung, wenn ich Terminal.app öffnete, aber bei IntelliJ wurde nur [D y [C . Um dies zu beheben, fügen Sie bind '"[D": backward-word' y bind '"[C": forward-word' zu meinem .bashrc .

0 Stimmen

@JamieCounsell Ich habe das Bindungsding zu meinem .bashrc aber es hat nicht funktioniert, ist irgendetwas falsch für mich? (Ich verwende RubyMine)

0 Stimmen

@ Ich bin nicht sicher, ob RubyMine liest .bashrc wenn das Terminal hochfährt. Versuchen Sie echo "here" und prüfen Sie, ob diese Meldung angezeigt wird, wenn Sie ein neues Terminal öffnen. Außerdem müssen Sie das Terminal schließen und erneut öffnen oder source ~/.bashrc um die neue Datei zu lesen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X