अपरकेस-कम कमांड को विशेष रूप से अपरकेस अक्षर (C-H बनाम C-h) से बाँध नहीं सकता


1

मेरे पास निम्नलिखित उपसर्ग-कम प्रमुख बाइंडिंग हैं tmux.conf

bind -n C-J swap-window -t -1
bind -n C-K swap-window -t +1
bind -n C-H select-window -p
bind -n C-L select-window -n

ये बाइंडिंग सी-एच, सी-एल, आदि द्वारा सक्रिय की जाती हैं। समस्या यह है कि वे अपने लोअरकेस समकक्षों, यानी सी-एच, सी-एल, इत्यादि द्वारा भी सक्रिय होती हैं, जो कमांड लाइन बाइंडिंग में हस्तक्षेप करती है। यह उम्मीद के मुताबिक काम क्यों नहीं करेगा?

जवाबों:


2

अधिकांश टर्मिनलों के बीच अंतर नहीं होता है Ctrl तथा Ctrl खिसक जाना - परिणामी इनपुट में हमेशा एक ही बिट्स परेशान होता है (0x6f) o या 0x4f O → 0x0f ^O )।

आप इसका उपयोग करके सत्यापित कर सकते हैं stty cbreak; xxd -c1 और के विभिन्न संयोजनों को दबाने Ctrl हे तथा Ctrl खिसक जाना हे ; आप इस कार्यक्रम को सब कुछ देख कर देखेंगे 0x0f


ठीक है, इसके लिए धन्यवाद, और विशेष रूप से सत्यापन आदेश के लिए। मैंने इसके बजाय मेटा कुंजी का उपयोग करने का निर्णय लिया है क्योंकि यह अलग है।
stereolink

2

जाहिर तौर पर कुछ टर्मिनल एमुलेटर विशिष्ट कीकोड को संशोधित करने के लिए .Xdefaults / .Xresources के माध्यम से एक विकल्प प्रदान करते हैं।

मेरे पास वर्तमान में मेरे .Xdefaults में निम्नलिखित हैं और यह एक आकर्षण की तरह urxvt के साथ काम करता है:

URxvt*keysym.Shift-Prior: string:\002[
URxvt*keysym.Shift-Up: string:cd ..\n
URxvt*keysym.Shift-Down: string:cd --\n

देख यहाँ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.