আমি কীভাবে সুপারের সাথে tmux উপসর্গ বাঁধতে পারি?


20

আমি এমনকি Ctrl+bদেখতে খুব emacsপছন্দ করে কিন্তু আমি বিষয়টি বুঝতে। আমি ভাবছি যদি আমি এটির মতো কী ব্যবহার না করে একটি চাবির একক কিপ্রেসে আবদ্ধ করতে পারি? যথা Super_L(বাম উইন্ডোজ কী হিসাবেও পরিচিত why কেন আমি সুপার_এলটি xevএকটি টার্মিনাল থেকে শুরু করে সেই কীটি টিপব say

উত্তর:


15

Super_Lএকটি এক্স কীসিম। টমুক একটি টার্মিনালে চলে। কীজিকে একটি অক্ষর অনুসারে রূপান্তর করা আপনার টার্মিনাল এমুলেটরের উপর নির্ভর করে। সুতরাং আপনি আপনার টার্মিনাল এমুলেটর এবং tmux উভয়ই কনফিগার করতে হবে।

Tmux ডকুমেন্টেশনের দিকে তাকালে, উপসর্গটি কেবলমাত্র একটি keyচ্ছিক সংশোধক সহ একটি মূল কী হতে পারে। আপনি যদি একটি কী সমন্বয় সেট করতে পারেন তাই tmux উপসর্গ আপনি ব্যবহার না বলে M-F12, এবং চরিত্র ক্রম পাঠানোর জন্য আপনার টার্মিনাল পেতে M-F12যখন আপনি টিপুন Super_L। আরও কিছু কাজ করার সাথে আপনি এমন কী ব্যবহার করতে পারেন যা আপনার কীবোর্ডের সম্ভবত নেই (tmux মূল নাম হিসাবে গ্রহণ F13করে F20তবে সেগুলি টার্মিনফোতে ঘোষণা করতে হবে)।

টার্মিনাল এমুলেটর সাইডে, আপনাকে Super_Lকী সিকোয়েন্স তৈরি করার ব্যবস্থা করতে হবে \e\e[24~(জন্য M-F12) বা \e[34~(জন্য F20) (যেখানে \eপালানোর চরিত্রটি রয়েছে)। এটি কীভাবে করবেন তা নির্ভর করে টার্মিনাল এমুলেটারের (এবং কিছু এটির জন্য যথেষ্ট কনফিগারযোগ্য নয়)। এক্সটার্মের সাহায্যে এটি এক্স সংস্থার মাধ্যমে সম্পন্ন হয়েছে:

! Make Super_L act as Meta+F12
XTerm.VT100.translations:       #override \
    <Key>Super_L:  string("\033\033[24~")

আপনি একটি ছিনতাই করতে পারেন Super_Lযা সাধারণত একটি সংশোধক হয় এবং যখন কোনও সংশোধনকারী প্রয়োজন হয় তখন মোডিফায়ার কীগুলি সর্বদা কাজ করে না। আপনি যদি Super_Lকোনও সংশোধক হতে না চান , আপনি এটির পরিবর্তকটি সরিয়ে নিতে পারেন, বা (কম বিভ্রান্তিকরভাবে) শারীরিক কীটির জন্য আলাদা কীসিম ব্যবহার করতে পারেন। এটি এক্সমোডম্যাপের মাধ্যমে (পুরানো ফ্যাশনযুক্ত এবং বোঝার সহজ), এক্সকেবি (আধুনিক, দুর্বল-নথিভুক্ত, শক্তিশালী এবং জটিল উপায়) এর মাধ্যমে, বা সম্ভবত আপনার ডেস্কটপ পরিবেশের জিইউআই কনফিগারেশন সরঞ্জামের মাধ্যমে করা যেতে পারে।


এটি কি কেবল এক্সে কাজ করবে? উদাহরণস্বরূপ, যদি আমি এক্স ফরওয়ার্ডিং না করে দূর থেকে আমার সিস্টেমে শেলিং করি তবে এটি কার্যকর হবে না।
xenoterracide

2
@ এক্সেনোটেরাকাইড: হয় আমি আপনার প্রশ্নটি বুঝতে পারি না বা আপনি আমার উত্তরটি বুঝতে পারেন না। Super_Lএটি একটি এক্স কীসিম, সুতরাং সম্ভবত আপনার কোথাও একটি এক্স সার্ভার রয়েছে (যদি আপনি উইন্ডোজ থেকে লগ ইন করে থাকেন, তবে আমি মনে করি আপনি কীটি বাম উইন্ডোজ কীটি কল করবেন)। টিএমাক্স একটি টার্মিনালে চালিত হয়, এবং তার ইনপুটটি বাইট হিসাবে পড়বে, ফাংশন কীগুলি দিয়ে পালানোর অনুক্রমগুলিতে অনুবাদ করা হয়। একটি রিমোট লগইন স্বচ্ছ, এসএসএস কেবলমাত্র বাইটগুলি প্রেরণ করে যা পালানোর ক্রম তৈরি করে।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

1
এটি একটি ম্যাকের জন্য চেষ্টা করেছি এবং আমি অন্যদের কিছুটা সময় সাশ্রয় করতে পারি। দেখে মনে হচ্ছে আইটিર્મ 2 F13-F20 প্রেরণ সমর্থন করে না। দেখুন code.google.com/p/iterm2/issues/detail?id=1630
বালু

3

আপনি পারবেন না। একটি কী বাঁধাই ডাকব cmd_bind_key_parseফাংশন থেকে cmd-bind-key.cযা আবার পাবেন (অবশেষে) কলের key_string_get_modifiersথেকে key-string.c:

/* Find modifiers. */
105     int
106     key_string_get_modifiers(const char **string)
107     {
108         int modifiers;
109         
110         modifiers = 0;
111         while (((*string)[0] != '\0') && (*string)[1] == '-') {
112             switch ((*string)[0]) {
113                 case 'C':
114                 case 'c':
115                 modifiers |= KEYC_CTRL;
116                 break;
117                 case 'M':
118                 case 'm':
119                 modifiers |= KEYC_ESCAPE;
120                 break;
121                 case 'S':
122                 case 's':
123                 modifiers |= KEYC_SHIFT;
124                 break;
125             }
126             *string += 2;
127         }
128         return (modifiers);
129     } 

tmux.cপরিবর্তক কী আছে #defineঘোষণা এবং যে ফাইল থেকে আমরা আছে:

106     /* Key modifier bits. */
107     #define KEYC_ESCAPE 0x2000
108     #define KEYC_CTRL 0x4000
109     #define KEYC_SHIFT 0x8000
110     #define KEYC_PREFIX 0x10000 

তলদেশে যদিও, এটি সংশোধন করা খুব কঠিন দেখাচ্ছে না ; সম্ভবত কোন সপ্তাহান্তে (বিখ্যাত শেষ শব্দগুলি;)) প্রকল্প?


3
আপনি এখানে একটি পদক্ষেপ মিস করছেন: tmux একটি পাঠ্য মোড প্রোগ্রাম, এটি কী কী ক্রমগুলি পড়ছে, এক্স কীওয়ার্ড নয়। সুতরাং এটি টার্মিনাল এমুলেটর এবং tmux উভয়ই সঠিকভাবে কনফিগার করে সত্যই সম্ভব।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন' evil

2

আমি একটি কাস্টম সংশোধক কীতে উপসর্গ সেট করতে সক্ষম হইনি, তবে আমি মেটেসটির সাথে সংযুক্ত হয়ে জিনোমের অধীনে একটি কাস্টম সংশোধক কীটির সাথে tmux বাইন্ডিংগুলি সংজ্ঞায়িত করতে পেরেছি। উদাহরণস্বরূপ, Mod4+ মানচিত্র করতে kএবং Mod4+ jবর্তমান প্যানেলে যথাক্রমে উপরে এবং নীচে স্থানান্তরিত করতে:

gconftool-2 --set /apps/metacity/keybinding_commands/command_1 --type string "tmux select-pane -D"
gconftool-2 --set /apps/metacity/keybinding_commands/command_2 --type string "tmux select-pane -U"
gconftool-2 --set /apps/metacity/global_keybindings/run_command_1 --type string "<Mod4>j"
gconftool-2 --set /apps/metacity/global_keybindings/run_command_2 --type string "<Mod4>k"

এটি উদাহরণস্বরূপ উইন্ডোজ কী এর সাথে tmux বাঁধাইয়ের অনুমতি দেয়। এই লাইনের সাথে কিছু এমন যে কোনও উইন্ডো ম্যানেজারের জন্য কাজ করে যা গ্লোবাল কীবোর্ড শর্টকাটগুলি (কমপিজ, কেউইন, ইত্যাদি) সংজ্ঞায়িত করতে দেয়।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.