Terminalproblem mit Strg + Pfeil und Umschalt + Pfeiltasten

10

Ich verwende Mavericks auf einem neuen Macbook Pro. Wenn ich die Tasten Ctrlund Shiftzusammen mit den Pfeiltasten verwende, erhalte ich eine Art Tastencode als Ausgabe im Terminal. Ich bin mir ziemlich sicher, dass dieses Problem neu ist und dass es vor einigen Tagen nicht aufgetreten ist. Aber ich bin nicht 100% sicher. Jedenfalls passiert Folgendes:

Wenn ich Ctrl+ drücke (Pfeil nach links), ;5Dwird im Terminal ausgegeben. Ähnlich:

  • Ctrl+ (Rechtspfeil) Ausgänge;5C
  • Shift+ (Linker Pfeil) Ausgänge;2D
  • Shift+ (Rechtspfeil) Ausgänge;2C

Wie ich bereits erwähnt habe, bin ich mir ziemlich sicher, dass ich diese Verknüpfungen vor heute verwenden konnte, um zwischen Wörtern zu wechseln und Text auszuwählen. Hat das schon mal jemand gesehen? Ich habe bereits einige der vorhandenen Fragen zu Tastenkombinationen durchgesehen, aber keine Hinweise auf dieses genaue Problem gefunden.

Beachten Sie außerdem, dass ich die Tastenkombination, die mit den CtrlPfeiltasten + zwischen Desktops wechselt, deaktiviert habe.

Henrik Söderlund
quelle
Ihre Pfeiltasten werden irgendwo neu zugeordnet \],-(das ASCII-Äquivalent von Hex 5C 5D 2C 2D).
l'L'l
Möchten Sie näher darauf eingehen? Ich bin sehr neu in OSX. Wo würde ich nach diesen Neuzuordnungen suchen?
Henrik Söderlund

Antworten:

8

Das gleiche passiert auf meinen 10.9- und 10.8-VMs. Steuerpfeile und Umschaltpfeile führen in Bash standardmäßig nichts aus. Wo haben Sie überhaupt Umschaltpfeile verwendet, um Text auszuwählen? Emacs oder Vim?

Wenn Sie mit der linken und rechten Maustaste zwischen den Wörtern in Bash wechseln möchten, fügen Sie diese Zeilen hinzu zu ~/.inputrc:

"\e[1;5C": forward-word
"\e[1;5D": backward-word

Um in Emacs Shift-Pfeile zu verwenden, ordnen Sie Shift-Up \e[1;2A, Shift-Down \e[1;2B, Shift-Right \e[1;2Cund Shift-Left zu \e[1;2D. Wenn das Drücken der Umschalttaste zu einer Meldung wie führt <select> is undefined, versuchen Sie es TERMmit xterm-vt220.

Lri
quelle
Ich glaube, ich habe mich geirrt, wenn ich Text mit den Umschaltpfeilen ausgewählt habe. Ich bin ein Entwickler mit 13 Jahren Erfahrung, aber dies ist mein erster Versuch bei OSX. Bisher sehr verwirrt.
Henrik Söderlund
Ich habe die .inputrc-Sache herausgefunden. Ich habe überall nach der Datei gesucht, bis mir klar wurde, dass ich sie selbst erstellen muss. :) Ich kann jetzt wieder zwischen den Wörtern wechseln. Also danke dafür, ich markiere dies als Antwort. Nur noch ein paar Fragen, damit ich 100% klar bin: 1: Ich bin jetzt auf iTerm2 umgestiegen. Gibt es eine Möglichkeit, mit .inputrc oder auf andere Weise Umschalt + Links und Umschalt + Rechts zu verwenden, um Text in iTerm2 auszuwählen? 2: Du hast Emacs und Vim erwähnt. Sind das nicht nur Texteditoren? Wie würde ich sie als Terminal verwenden?
Henrik Söderlund
Ich kenne keine Möglichkeit, die Auswahl in iTerm 2 nach links und rechts zu ändern. Ich dachte, Sie hätten sie möglicherweise nur in Emacs verwendet.
Lri
In Ordung. Ich werde vorerst ohne leben müssen. Vielen Dank!
Henrik Söderlund
1
Es funktioniert nicht auf Macos Sierra, Shift + Right Arrow oder Shift + Left Arrow macht nichts.
Alessandro C
3

Strg + Links / Rechts sind standardmäßig im Terminal (macOS 10.12) vorhanden (Einstellungen → Profile → Tastatur). Ich habe versucht, Shift-Up / Down hinzuzufügen, ~/.inputrcaber es ist nichts passiert.

~/.inputrc:

"\e[1;2A": shift-up
"\e[1;2B": shift-down

Stattdessen habe ich Shift Up / Down programmgesteuert in den Terminaleinstellungen hinzugefügt. Das Problem ist, dass dies pro Profil gespeichert wird , von dem macOS standardmäßig ein Dutzend hat. Sie müssen also alle Profile (eines Oceanhier genannt) durchlaufen, um die Schlüssel für alle verfügbaren Profile hinzuzufügen. Ich weiß nicht, ob plutiloder defaultsetwas Magie, um dies zu vereinfachen, oder ob Sie einen XML-Parser verwenden müssen.

~/Library/Preferences/com.apple.Terminal.plist:

"Window Settings" = {
  Ocean = {
    keyMapBoundKeys = {
      "$F700" = "\033[1;2A";
      "$F701" = "\033[1;2B";
Forthrin
quelle
-1

Eine Alternative:

Gehen Sie in den Terminaleinstellungen zu Erweitert und deaktivieren Sie "Zeilenumbrüche als Wagenrücklauf einfügen".

Verwenden Sie dann Sublime, um komplizierte com zu schreiben

Rohit Sood
quelle