Cambio di scheda nel terminale Mac con Ctrl + PageUp / PageDown


10

Di recente ho iniziato a utilizzare un Mac (con Lion) e c'è un'incongruenza che mi sta prendendo.

In Chrome e MVim, posso cambiare scheda con Ctrl+ PageUp/ PageDown. Ma, nel Terminale, devo usare Cmd+ Shift+ Left/ Right.

Vorrei cambiare quest'ultimo in Ctrl+ PageUp/ PageDown, ma non riesco a farlo.

Quando entro in Preferenze di Sistema → Tastiera → Scorciatoie da tastiera → Scorciatoie applicazione e aggiungo una scorciatoia in "Seleziona scheda successiva" del terminale, posso impostarla in modo che sia praticamente qualsiasi cosa purché non includa un tasto PageUp / PageDown.

Perché esiste una tale limitazione e posso aggirarla?

Risposte:


7

defaults write -g NSUserKeyEquivalents -dict-add "Select Previous Tab" "^\UF72C" "Previous Tab" "^\UF72C" "Previous Workspace" "^\UF72C" "Select Next Tab" "^\UF72D" "Next Tab" "^\UF72D" "Next Workspace" "^\UF72D"

-gmodifica ~/Library/Preferences/.GlobalPreferences.plist. È necessario riaprire le app per applicare le modifiche e i collegamenti aggiunti manualmente non vengono visualizzati nei collegamenti alle applicazioni .


Prima di provarlo, come potrei annullare questo? C'è qualcosa come -dict-remove? (Inoltre, mi piacerebbe sapere come hai trovato questa soluzione.)
Foxcub,

1
defaults delete -g NSUserKeyEquivalents. È inoltre possibile modificare il file manualmente con: f=~/Library/Preferences/.GlobalPreferences.plist; plutil -convert xml1 $f; open $f. Non l'ho scoperto da nessuna parte in particolare.
Lri,

Penso che i codici chiave siano sbagliati. Cerca di impostare tutto in modo che sia Ctrl + Pagina su. Dove posso cercare questi codici?
Foxcub,

Scusa, riparato. lri.me/chars
Lri

Accettare questa risposta, poiché è un approccio più diretto alla mia domanda. (Mi dispiace di non poterlo votare - non abbastanza reputazione.)
Foxcub

3

Potresti usare iTerm, dal momento che ha un sistema di scorciatoie molto più flessibile, ma ti imbatterai inevitabilmente in un'altra applicazione che non funziona nel modo desiderato.

Penso che scoprirai che Command+ shift+ [e Command+ shift+ ]sono le uniche scorciatoie coerenti per passare da una scheda all'altra ed è meglio semplicemente cambiare le tue abitudini.


C'è un modo per cambiare il collegamento di Chrome per cambiare le schede allo stesso? (Penso di sapere come farlo per MVim.) Sto bene cambiando le mie abitudini, ma ho bisogno di coerenza.
Foxcub,

Chrome utilizza già queste scorciatoie, così come MacVim e ogni altra applicazione che ho usato, ad eccezione di Adium.
Jared O'Connor,

Maiusc-Comando-Freccia sinistra / destra cambia anche le schede nel Terminale. Inoltre, a partire da Mac OS X Lion 10.7, il gesto "Scorri con tre dita" cambia scheda (purché non si abbia la preferenza di sistema impostata per utilizzare lo scorrimento con tre dita per qualcos'altro).
Chris Page

Nota che per le persone con (molti) layout di tastiera non inglesi, qualsiasi scorciatoia che coinvolga tasti come [] {} è difficile da digitare. Ecco perché preferisco di gran lunga le scorciatoie che utilizzano tasti che non dipendono dal layout della tastiera. Come PageUp e PageDown.
tml,

3

La risposta di Lri funziona (e FWIW, l'ho votata), ma utilizza un approccio un po 'di fucile: crea impostazioni globali (anziché impostazioni specifiche del Terminale) e alcune delle cose che imposta in realtà non hanno alcun effetto sul Terminale - - In realtà non so a cosa servano.

Se, come me, sei un po 'paranoico e preferisci un approccio più "chirurgico", ecco una versione modificata della risposta di Lri:

defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Previous Tab"    "^\UF72C"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Next Tab"        "^\UF72D"

Questo aggiunge solo due combinazioni di tasti ^PageUpe ^PageDowne li aggiunge solo al Terminale.


Qualche idea se questo dovrebbe ancora funzionare (in El Capitan)? Purtroppo non funziona per me.
Chris,

@ Chris Sembra che tu abbia ragione. Questo non sembra più funzionare! Per prima cosa, le voci del menu hanno cambiato nome (ora dicono "Mostra" invece di "Seleziona), ma anche correggere per questa impostazione non sembra avere alcun effetto. In realtà non riesco a ottenere NSUserKeyEquivalents a lavora per il Terminal a El Capitan Ugh
Laurence Gonsalves,

1

Sulla base di questa risposta ecco una versione di questo per macOS High Sierra:

defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Next Tab" "^\UF72D"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Previous Tab" "^\UF72C"

Ha confermato che funziona su Mojave, sebbene questa risposta sembri essere un duplicato della risposta di Laurence Gonsalves . Inoltre, PSA: ricordati di riavviare Terminal dopo l'esecuzione.
RACKGNOME
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.