Irgendeine Terminal-Shell mit Mausunterstützung?

8

Gibt es eine Terminal-Shell / einen Terminal-Emulator, die das Bearbeiten Ihres aktuellen Befehls mit der Maus unterstützt?

Insbesondere Dinge wie das Platzieren des Cursors durch Klicken (nützlich für lange Befehle) oder Doppelklicken und Drücken von Löschen, um ein Wort auszuwählen und zu löschen usw.

Das Terminal am unteren Rand von Midnight Commander (mc) unterstützt beispielsweise das Platzieren des Cursors per Mausklick. Ich suche nach etwas Ähnlichem, das sich mehr auf das Terminal konzentriert, da mc hauptsächlich ein Dateimanager ist.

Es ist in Ordnung, wenn es nur unter einer GUI-Umgebung funktioniert (ich bin auf Ubuntu 18.04 mit GNOME3).

isarandi
quelle
2
Midnight Commander ist genauso eine Terminalanwendung wie jede andere, und Sie suchen nach Shells , die die Mauseingabe verstehen, weil ihre ZLE / libedit / Readline-Bibliotheken dies tun. Die Terminalemulatoren bieten seit Jahren Mauseingabefunktionen . Was Sie suchen, sind Shells, die solche Eingaben ermöglichen und verstehen .
JdeBP
Ich könnte mir auch einen Terminalemulator vorstellen (verwenden Sie ein beliebiges Wort), der wie eine normale GUI-Anwendung funktioniert, beispielsweise wie MATLAB, bei dem Sie Ihren Befehl auf moderne Weise mit einem dünnen Liniencursor, Rechtsklickmenüs usw. richtig bearbeiten können Drücken Sie die Eingabetaste, und dann wird die gesamte Zeile als ein Befehl an bash übergeben. Ich kann jedoch sehen, wie problematisch dies für interaktive Terminalanwendungen wäre. Ich mache nur ein Brainstorming, weil ich die aktuellen Wege ziemlich unpraktisch finde.
Isarandi
Das würde ironischerweise nicht funktionieren, da die Bibliotheken ZLE / libedit / Readline im Weg wären. In der POSIX General Terminal Interface-Architektur ist die Bearbeitung entweder eine Funktion der Anwendungssoftware selbst (z. B. Shells mit ZLE / libedit / Readline) oder der Liniendisziplin im kanonischen Modus. Terminals sind nicht im Blockmodus und es gibt keine lokale Bearbeitung. Was Sie suchen, sind Shells, in denen die Editor-Bibliothek über Mausberichte Bescheid weiß.
JdeBP

Antworten:

8

zshkann mithilfe des mouse.zshZLE-Widgets von Stéphane Chazelas erweitert werden, um die von Ihnen beschriebene Mausbedienung zu unterstützen :

wget http://stchaz.free.fr/mouse.zsh
. ./mouse.zsh
zle-toggle-mouse

(und wenn Sie es getestet haben, fügen Sie es Ihrem hinzu ~/.zshrc).

Es funktioniert in jedem Terminal mit VT200-Mausverfolgung und in der Linux-Konsole mit gpm.

Stephen Kitt
quelle
Dies geht in die richtige Richtung, aber leider kann die Maus entweder zum Bearbeiten des aktuellen Befehls oder zum Auswählen von Text aus vorherigen Ausgaben verwendet werden, jedoch nicht beide gleichzeitig.
Isarandi
@isarandi Es ist etwas kompliziert, beide gleichzeitig in einem solchen Kontext innerhalb eines vorhandenen Terminals bereitzustellen. Wenn Sie zle-toggle-mousean einen Schlüssel binden , wie in der Dokumentation vorgeschlagen, können Sie das Verhalten auch während der Bearbeitung eines Befehls umschalten, wodurch das Problem etwas gelindert wird ...
Stephen Kitt
0

Obwohl nicht integriert, können Sie das Paket gpm installieren:

$ sudo apt-get install gpm

$ sudo /etc/init.d/gpm stop | Start

funktioniert gut für STRG + ALT + Fx-Konsole mit jeder Shell

Valerio
quelle