टर्मिनल: स्टटी में नक्शा सुपर / कमांड कुंजी


5

मैं (विशेष रूप से, मैं पुन: मैप करना चाहते हैं टर्मिनल शॉर्टकट को पुन: मैप करना चाहते INTRसे CTRL+Cकरने के लिए Command+C) टर्मिनल में।

तो ये मेरे वर्तमान स्टेंट बाइंडिंग हैं

$ 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;

और उदाहरण के लिए यदि आप कुछ रीमैप करना चाहते हैं तो वह ऐसा होगा

stty intr \^c

कौन सा नक्शे SIGINTकोCTRL+C

लेकिन मैं मैप करना चाहते SIGINTकरने के लिए COMMAND+C। ऐसा कुछ (जो अमान्य है):

stty intr c

अब मुझे पता है कि टर्मिनल वास्तव में कमांड कुंजी को नहीं पहचानता है, लेकिन क्या ऐसा करने का एक रचनात्मक तरीका है?

नोट: मुझे पता है कि यह ITerm2 के साथ किया जा सकता है, लेकिन सोच रहा हूं कि क्या वेनिला टर्मिनल के साथ ऐसा करने का कोई तरीका है।

धन्यवाद


अरे मैं भी बिल्कुल वैसा ही चाहता हूं। क्या आपको कोई रास्ता मिला? यह भी iTerm 2 के साथ कैसे संभव है?
निकल्स

@ निक्लेस मुझे नहीं पता कि आप इसे देख सकते हैं लेकिन मैंने पोस्ट को अपडेट किया कि मैंने इसे कैसे हल किया। ITerm2 के साथ बाइंडिंग स्वैप करने के लिए कॉन्फ़िगरेशन हैं, लेकिन मैं व्यक्तिगत वरीयताओं के कारण मूल Apple टर्मिनल के साथ गया था।
कोजोस

मैं आपको धन्यवाद दे सकता हूं। मैं एक समाधान खोजना चाहूंगा जो केवल iTerm 2 के साथ काम करता है।
निकल्स

जवाबों:


2

@ निक्लास मैंने समस्या को हल किया, लेकिन स्टाइट का उपयोग नहीं किया। इसके बजाय, मैं का उपयोग कर रहा हूँ karabiner-तत्वों (मेरे बाइंडिंग को प्रभावित किए बिना) टर्मिनल कुंजी पर कस्टम विन्यास करने के लिए।

मूल रूप से आप Karabiner-Elements ऐप इंस्टॉल करते हैं और फिर जो कुछ भी आप चाहते हैं उसे स्वैप करने के लिए karabiner.json फ़ाइल में "जटिल संशोधन" नियम लिखें। यहाँ पर एक गाइड है कि जोंस कॉन्फिगर को कैसे कॉन्फ़िगर करें।

मेरा कर्बिनर.जॉन कुछ इस तरह दिखता है:

{
  "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
    ]
  }
}     

क्या प्रोफ़ाइल का नाम इन नियमों को केवल टर्मिनल ऐप पर लागू करने के लिए प्रतिबंधित है क्योंकि मैं इसे डॉक्स में नहीं पा रहा था। मुझे पहले से मौजूद सभी प्रोफ़ाइल कहां मिल सकती हैं?
एगलेव

1
हां, "com.apple.Terminal" कुंजी को केवल उस ऐप में संशोधित करने के लिए प्रतिबंधित करता है। Google Chrome के लिए मेरे पास एक है। मुझे कोई भी दस्तावेज आसानी से नहीं मिल रहा है लेकिन इसे गीथब: गीथुब्यूटेक्ज़ो / केरबिनर- ईलर्स / विस //808 पर उल्लिखित देखें ।
cozos
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.