Problema terminale con i tasti Ctrl + Freccia e Maiusc + Freccia


10

Sto eseguendo Mavericks su un nuovo Macbook Pro. Quando uso i tasti Ctrle Shiftinsieme ai tasti freccia, ottengo una sorta di codici chiave come output nel terminale. Sono abbastanza sicuro che questo problema sia nuovo e che non si sia verificato alcuni giorni fa. Ma non sono sicuro al 100%. Comunque, ecco cosa succede:

Se premo Ctrl+ (freccia sinistra), ;5Dviene emesso nel terminale. Allo stesso modo:

  • Ctrl+ (Freccia destra) uscite;5C
  • Shift+ (Freccia sinistra) uscite;2D
  • Shift+ (Freccia destra) uscite;2C

Come ho già detto, sono abbastanza sicuro che prima di oggi avrei potuto usare quelle scorciatoie per spostarmi tra le parole e selezionare il testo. Qualcuno l'ha mai visto prima? Ho già esaminato alcune delle domande esistenti sulle scorciatoie da tastiera, ma non ho trovato riferimenti a questo esatto problema.

Inoltre, tieni presente che ho disattivato la scorciatoia da tastiera che si sposta tra i desktop utilizzando i Ctrltasti freccia +.


I tasti freccia vengono rimappati da qualche parte per essere utilizzati \],-(l'equivalente ascii di hex 5C 5D 2C 2D).
L'

Ti andrebbe di elaborare? Sono molto nuovo di OSX. Dove dovrei cercare questi rimappaggi?
Henrik Söderlund,

Risposte:


8

La stessa cosa accade sulle mie macchine virtuali 10.9 e 10.8. Le frecce di controllo e le frecce maiuscole non fanno nulla per impostazione predefinita in bash. Dove stavi usando le frecce maiuscole per selezionare il testo? emacs o vim?

Se vuoi usare control-left e control-right per spostarti tra le parole in bash, aggiungi queste righe a ~/.inputrc:

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

Per usare le frecce di spostamento in Emacs, mappare lo spostamento verso l'alto \e[1;2A, lo spostamento verso il basso \e[1;2B, lo spostamento da destra a \e[1;2Ce lo spostamento da sinistra a \e[1;2D. Se premendo Maiusc si ottiene un messaggio simile <select> is undefined, provare a impostare TERMsu xterm-vt220.


Immagino di aver sbagliato a usare le frecce maiuscole per selezionare il testo. Sono uno sviluppatore con 13 anni di esperienza, ma questa è la mia prima esperienza in OSX. Finora molto confuso.
Henrik Söderlund,

Ho capito cosa .inputrc. Ho cercato ovunque il file fino a quando ho capito che dovevo crearlo da solo. :) Ora posso spostarmi di nuovo tra le parole. Quindi grazie per questo, lo segnerò come risposta. Solo un altro paio di domande, quindi sono chiaro al 100%: 1: ora sono passato a utilizzare iTerm2. Esiste un modo, usando .inputrc o altro, per ottenere Maiusc + Sinistra e Maiusc + Destra per selezionare il testo in iTerm2? 2: Hai menzionato emacs e vim. Questi non sono solo editor di testo? Come li userei come terminale?
Henrik Söderlund,

Non so come fare in modo che shift-left e shift-right modifichino la selezione in iTerm 2. Ho pensato che avresti potuto usarli solo in Emacs.
Lri

Tutto a posto. Dovrò vivere senza di essa per ora. Grazie!
Henrik Söderlund,

1
Non funziona su macos Sierra, Maiusc + Freccia destra o Maiusc + Freccia sinistra non fa nulla.
Alessandro C,

3

Ctrl + Sinistra / Destra sono presenti nel Terminale (macOS 10.12) per impostazione predefinita (Preferenze → Profili → Tastiera). Ho provato ad aggiungere Shift-Up / Down ~/.inputrcma non è successo niente.

~/.inputrc:

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

Invece ho aggiunto Shift su / giù programmaticamente in Preferenze terminale. Il problema è che questo è memorizzato per profilo , di cui macOS ha una dozzina per impostazione predefinita, quindi devi scorrere su tutti i profili (uno chiamato Oceanqui) per aggiungere le chiavi per tutti i profili disponibili. Non so se plutilo defaultshai un po 'di magia per renderlo facile, o se devi usare un parser XML.

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

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

-1

Un'alternativa:

In Preferenze terminale vai su Avanzate e deseleziona "Incolla nuove righe come ritorni a capo".

Quindi utilizzare Sublime per scrivere com complicate

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.