जवाबों:
मैंने इसे एक के रूप में पोस्ट किया मुद्दा और यह जवाब मिला:
आप अपनी सभी कुंजियों को जोड़ने के लिए रिबंड कर सकते हैं
switch-client -Tprefix
प्रत्येक कमांड अनुक्रम के अंत में, लेकिन ऐसा करने का कोई स्वचालित तरीका नहीं है।
यहाँ मुद्दा यह है कि यदि कमांड एरर फेंकता है तो यह काम नहीं करेगा, लेकिन आप इसके द्वारा काम कर सकते हैं
हाँ त्रुटि रन-शेल उदाहरण का उपयोग करके आप इस आदेश को प्राप्त कर सकते हैं
run "tmux mycmd; tmux switch-client -Tprefix"
लेकिन वह त्रुटि को प्रदर्शित होने से छिपा सकता है।
मेरा वर्तमान विन्यास इस तरह दिखता है:
bind c new-window \; switch-client -T prefix
bind . command-prompt \; switch-client -T prefix
bind , copy-mode \; switch-client -T prefix
# Vim style splits
bind s split-window -v \; switch-client -T prefix
bind v split-window -h \; switch-client -T prefix
# Double tab to cycle panes
bind C-a select-pane -t :.+ \; switch-client -T prefix
मैं जो इकट्ठा करता हूं, उससे tmux अलग-अलग बाइंडिंग के लिए अलग-अलग संदर्भों का उपयोग करता है। यह निर्दिष्ट करने के लिए कि आप किस संदर्भ में बाइंड का उपयोग करते हैं bind <key> -T <context>
, जहां उपसर्ग डिफ़ॉल्ट है। आप संदर्भ का उपयोग कर स्विच कर सकते हैं switch-client -T <context>
, इसलिए हम जो करते हैं वह प्रत्येक कमांड के बाद उपसर्ग फिर से लागू करते हैं।
इस विधि की कमियां हैं:
बोनस! आप एक फंकी इंडिकेटर जोड़ सकते हैं, जो तब काफी मददगार होता है जब आप किसी चीज का उपयोग करके लंबे समय तक उपसर्ग मोड में रहते हैं
set -g status-right "#{?client_prefix,#[reverse]● #[noreverse],#[reverse]○ #[noreverse]}"