Können in Bash (Mac / Linux-Terminal-Shell) die Aufwärts- und Abwärtspfeiltasten so eingestellt werden, dass sie wie in Texteditoren funktionieren?

8

Wenn ich in Texteditoren die Aufwärts- und Abwärtspfeiltasten drücke, bewegt sich der Cursor zwischen den Textzeilen.

Wenn ich in Bash einen langen Befehl eingebe, der mehrere Zeilen umfasst, und die Aufwärts- und Abwärtspfeiltasten drücke, wird der Befehlsverlauf durchlaufen.

Ich möchte das frühere Verhalten in Bash. Ist das möglich? Wenn nicht, gibt es eine Möglichkeit, den Cursor in einem mehrzeiligen Befehl direkt nach oben oder unten zu bewegen?

Frungi
quelle
Sie bewegen sich zwischen Linien ... nur dass die Linie sehr lang ist.
vonbrand

Antworten:

11

Nein, es ist nicht möglich. Bash verwendet GNU Readline für die interaktive Zeileneingabe . In Readline gibt es weder einen Befehl, der sich wie gewünscht zwischen Anzeigezeilen bewegt, noch eine Konfigurationsvariable, die mit der visuellen Variablen für die Zeilenverschiebung von GNU Emacs vergleichbar ist und bewirkt, dass die nächste und vorherige Zeile um Anzeigezeilen verschoben werden.

Kyle Jones
quelle
Enttäuschend, aber danke! Und ich denke, die Antworten auf eine andere Frage wären für Leute mit derselben Frage nützlich: stackoverflow.com/questions/657130/…
Frungi
5

Ich drücke STRG + Pfeil nach links und es wird zum ersten Buchstaben nach dem zuletzt gefundenen Leerzeichen gesprungen. Auf diese Weise gelangen Sie schnell dorthin, wo Sie es benötigen.

chrstphrmllr
quelle
1
Das ist eine nicht standardmäßige Schlüsselbindung. Die Standardtastenbindung für das Zurückbewegen um ein Wort ist Alt + b. Siehe cnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC5
sleske
3

Vielleicht suchst du so etwas wie xiki. Es ist wie eine Shell / ein Texteditor.

Hier ist eine Video-Demo: http://youtu.be/bUR_eUVcABg

Jason
quelle
Xiki sieht toll aus! Ich möchte so etwas, das unter Windows laufen kann ...
Max
2
@Max laut der Github-Seite des Projekts: "Wir haben gerade el4r gepatcht, daher besteht die Möglichkeit, dass Xiki in Windows funktioniert." Sie können es hier überprüfen: github.com/trogdoro/xiki
Jason
Das ist erstaunlich ordentlich und nerdig, aber wirklich nicht das, was ich tun wollte. Ich wollte nur Bash oder eine andere gängige Shell verwenden. Trotzdem danke!
Frungi
3

Sie können Ctrl+ Leftund Ctrl+ verwenden Right, um durch Wörter anstatt durch Zeichen zu navigieren Homeund Endzum Anfang und Ende des eingegebenen Befehls zu gelangen.

Sekhemty
quelle
2
Auch Strg + A, um zum Anfang zu gehen, und Strg + E, um zum Ende zu gehen
ignis
1
@ignis du solltest das in eine Antwort setzen.
Evilsoup
2

Weitere Navigationsverknüpfungen finden Sie in der bash(1)Manpage unter der Überschrift Commands for Moving.

Nevin Williams
quelle
1

Strg + A, um zum Anfang zu gelangen, und Strg + E, um zum Ende des Befehls zu gelangen.

ignis
quelle