Option + Klick in iTerm

16

In Terminal kann ich mit Wahltaste + Klick meinen Cursor an einer beliebigen Stelle in der aktuellen Zeile platzieren - ideal zum Bearbeiten sehr langer Befehle.

Wie kann ich das in iTerm2 machen?

Update: Laut dieser Seite gibt es das Feature seit 0.7.0 (2003). Mir ist auch aufgefallen, dass sich der Cursor, wenn ich Befehlstaste + Wahltaste gedrückt halte, wie in Terminal in das vertraute Kreuz verwandelt. Durch Klicken wird der Cursor jedoch nicht neu positioniert.

Jeff
quelle
Ich habe mir den Quellcode angesehen und ja, die Funktion war in Version 0.7.0 von iTerm (nicht iTerm2) enthalten. Ist aber im Kofferraum (und wahrscheinlich auch in früheren Versionen) auskommentiert (in der Datei PTYSession.m). Und es iTerm2 die Funktion ist noch da aber leer und macht deshalb nichts.
boretom

Antworten:

6

Ich habe mich gefragt, wie schwer es sein kann (c), um es zu implementieren, und habe es heute ausprobiert.

Die Terminal.app scheint die ESC-Sequenz 'Cursor nach links / rechts bewegen' zu emulieren. Sie hören den berühmten Piepton, wenn Sie versuchen, den Cursor in die Shell-Eingabeaufforderung zu setzen. Und Sie werden es so oft hören, wie es ungültige Züge gibt.

Die Lösung in iTerm2 funktioniert genauso, indem die entsprechenden ESC-Sequenzen aufgerufen werden. Obwohl es nur einmal piept, wenn Sie versuchen, den Cursor in einem ungültigen Bereich zu platzieren;)

Terminal.app scheint nicht in der Lage zu sein, mehrzeilige Eingabeaufforderungen zu verarbeiten, nur das Bewegen in der letzten Zeile scheint zu funktionieren. Mehrzeilige Eingabeaufforderungen in dieser Implementierung sollten korrekt behandelt werden.

Ergebnisse finden Sie auf Github . Es ist eine Gabel des Originals mit einer ausstehenden Zuganforderung. Der Zweig, an dem ich arbeite, heißt "Option-Click-Hardcoded".

Und natürlich ist es höchst ungetestet. Das bedeutet, dass ich nur auf meinem MacBook Pro von Ende 2007 getestet habe, auf dem Mac OS X 10.7.3 ausgeführt wird.

Wenn Sie es ausprobieren möchten , indem Sie es selbst kompilieren oder die vorkompilierte Binärdatei für i386 / x86_64 / ppc ( iTerm_v1.0.0.git-085ec22c.zip ) herunterladen .

Langeweile
quelle
Wow, großartiges Zeug! Vorkompilierte Binärdateien scheinen auf meiner Seite bisher gut zu funktionieren, werden aber ein Auge darauf haben. tausend Dank!
Jeff
404 nicht gefunden ...
Aeroxy
1
Hey @aeroxy, diese Änderung wurde vor langer Zeit in das vorgelagerte iTerm ( github.com/gnachman/iTerm2/pull/77 ) integriert. Vor einiger Zeit habe ich meine Gabel ausgebaut, da es sie nur gab.
boretom
@boretom dann scheint es mein iterm2 3.1.5.beta.1 hat immer noch ein ähnliches Problem. Es sieht so aus, als würde ich bei Options-Click den letzten Befehl aufrufen (Pfeil nach oben). apple.stackexchange.com/questions/305554/…
aeroxy
@aeroxy, wenn es mit 3.1.5.beta2 auf meinem MacOS 10.12.6 ausgezeichnet funktioniert, wenn "Opt-Click bewegt den Cursor" unter "Einstellungen"> "Zeiger" aktiviert ist. Es geht darum, den Cursor auf der aktuellen Zeile zu positionieren. Versuchen Sie das zu erreichen?
boretom
2

iTerm 2 ist keine neue Version von iTerm - obwohl es auf dem gleichen Quellcode basiert, gibt es unter der Haube große Änderungen. Eines der Dinge, die entfernt oder beschädigt wurden (schwer zu sagen für die Absicht des Entwicklers), war die Cursorpositionierung.

Sie sind nicht der einzige, der diese Auslassung bemerkt hat. Es wird seit April 2011 als Bug abgelegt und erregt weiterhin Aufmerksamkeit. Sie können diese Funktion am besten nutzen (außer auf GitHub zu verzichten oder zu einer anderen Anwendung zu wechseln), indem Sie auf der oben genannten Google Code-Website einen Kommentar abgeben. Hoffentlich mit genügend Interesse, wird diese Funktion es zurück in das Produkt schaffen.

David
quelle
1

Die neueste Version von iterm2 (ich verwende Build 2.9.20150812-nightly) hat diese Funktion, aber damit es mit mehreren Zeilen funktioniert, müssen Sie die Shell-Integration aktivieren, wie unter https://gitlab.com/gnachman/ beschrieben. iterm2 / issues / 3638 .

Um das neueste iTerm zu installieren, verwende ich brew und führe Folgendes aus:

brew tap caskroom/versions && brew cask install iterm2-nightly

Ben Creasy
quelle
1

Meine Antwort wurde 2019 mit iTerm2 getestet.

Gehen Sie zu Einstellungen> Profile, wählen Sie das gewünschte Profil aus (dies kann das Standardprofil sein, das Sie für jedes wiederholen müssen), wählen Sie die Registerkarte "Tasten" und ändern Sie das Verhalten der Tasten LINKS und RECHTS (Alt) zu Esc +

Bildbeschreibung hier eingeben

Das steht eigentlich in ihren FAQ:

F: Wie kann ich die Optionstaste / Alt-Taste als Meta-Taste verwenden oder Escape-Codes senden? A: Gehen Sie zur Registerkarte Einstellungen> Profile. Wählen Sie links Ihr Profil aus und öffnen Sie die Registerkarte Tastatur. Unten finden Sie eine Reihe von Schaltflächen, mit denen Sie das Verhalten der Wahltaste auswählen können. Für die meisten Benutzer ist Esc + die beste Wahl.

BONUS

Wenn Sie nach Option (Alt) + Klicken fragen, möchten Sie vermutlich auch, dass Ihre Option (Alt) + Rücktaste funktioniert.

Klicken Sie in der gleichen Benutzeroberfläche (Tastenfeld) auf die Schaltfläche "Voreinstellung laden" und wählen Sie "Natürliche Textbearbeitung". Wiederholen Sie dies für jedes Ihrer Presets.

Jetzt können Sie mit Wahltaste + Klicken und Wahltaste + Rücktaste arbeiten.

sandre89
quelle