Terminale: map super / tasto di comando in stty

5

Voglio rimappare le scorciatoie da terminale (In particolare, voglio rimappare INTR da CTRL+C a Command+C ) nel Terminale.

Quindi questi sono i miei attuali collegamenti stty

$ stty -a
speed 38400 baud; 38 rows; 179 columns;
lflags: icanon isig iexten echo echoe echok echoke -echonl echoctl
    -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
    -extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8
    -ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
    -dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
    eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
    min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
    stop = ^S; susp = ^Z; time = 0; werase = ^W;

Ad esempio, se desideri rimappare qualcosa, sarebbe come

stty intr \^c

Quale mappa SIGINT a CTRL+C

Ma voglio mappare SIGINT a COMMAND+C . Qualcosa di simile (che non è valido):

stty intr ⌘c

Ora so che il terminale non riconosce realmente il tasto Comando, ma esiste un modo creativo per farlo?

Nota: so che può essere fatto con ITerm2, ma mi chiedo se c'è un modo per farlo con il terminale vanilla.

Grazie

    
posta cozos 07.03.2017 - 04:22
fonte

1 risposta

2

@Niklas Ho risolto il problema, ma non ho usato stty. Invece, ho utilizzato Karabiner-Elements per eseguire la configurazione personalizzata sui tasti del terminale (senza influire sul resto dei miei binding ).

Fondamentalmente si installa l'app Karabiner-Elements e poi si scrive una regola di "modifiche complesse" nel file karabiner.json per scambiare qualsiasi cosa si desideri. Qui è una guida su come configurare la configurazione di json.

Il mio karabiner.json ha un aspetto simile al seguente:

{
  "name" : "com.apple.Terminal",
  "simple_modifications" : {
    "left_option" : "left_control",
    "left_command" : "left_option",
    "right_control" : "right_command",
    "right_option" : "right_control",
    "right_command" : "right_option",
    "left_control" : "left_command"
  },
  "complex_modifications" : {
    "rules" : [
      {
        "manipulators" : [
          {
            "to" : [
              {
                "key_code" : "c",
                "modifiers" : [
                  "left_command"
                ]
              }
            ],
            "type" : "basic",
            "from" : {
              "key_code" : "c",
              "modifiers" : {
                "mandatory" : [
                  "left_control"
                ],
                "optional" : [
                  "any"
                ]
              }
           }
        ]
      },
      ... more rules for all the stty characters, etc
    ]
  }
}     
    
risposta data 21.03.2018 - 11:40
fonte

Leggi altre domande sui tag