आप शायद एक विम का उपयोग कर सकते हैं :!
चलाने की आज्ञा tmux send-keys
एक नियंत्रण-आर भेजने के लिए † अपने अन्य फलक के लिए। जबसे send-keys
किसी भी फलक (न केवल सक्रिय एक) के लिए कीस्ट्रोक्स भेज सकते हैं, आपको सक्रिय पैन को आगे और पीछे स्विच करने की भी आवश्यकता नहीं है।
यहाँ यह एक विम मैपिंग है (आप इसे अपने में डाल सकते हैं .vimrc
या बस में पेस्ट करें :
इसे आजमाने के लिए तत्पर):
:map <Leader>rl :w<Bar>execute 'silent !tmux send-keys -t bottom C-r'<Bar>redraw!<C-M>
यह मैप करता है \rl
मुख्य अनुक्रम ( <Leader>
करने के लिए चूक \
, लेकिन इसे अनुकूलित किया जा सकता है), विम आदेशों के निम्नलिखित अनुक्रम (द्वारा अलग किया गया) के लिए <Bar>
; देख :help map_bar
):
- इसकी फाइल पर करंट बफर लिखें।
- चलाएं tmux नियंत्रण-आर को नीचे भेजने के लिए कमांड ‡ फलक।
हम प्रयोग करते हैं execute
यहाँ ताकि अगले Vim कमांड ( redraw
) के भाग के रूप में नहीं लिया जाता है :!
शेल कमांड।
हम उपयोग करते हैं silent
"प्रेस जारी रखने के लिए एंटर" से बचने के लिए उपसर्ग कमांड प्रॉम्प्ट।
आप छोड़ सकते हैं slient
यदि आप संकेत चाहते हैं या आउटपुट देखना चाहते हैं :!
कमांड (जैसे) tmux कमांड काम नहीं कर रहा है, और आप यह देखना चाहते हैं कि क्या यह एक त्रुटि संदेश दे रहा है)।
- स्क्रीन redraw।
यह आमतौर पर "प्रेस एंटर" प्रॉम्प्ट के बाद होता है, लेकिन हम इसे दबा रहे हैं silent
।
† मेरे पास नहीं है बनबिलाव हाथ में, लेकिन कंट्रोल-आर को "lynx reload" (यानी) के लिए मेरी खोज के आधार पर रीलोड कुंजी लगती है। "फ़ाइलों को पुनः लोड करना और प्रदर्शन को ताज़ा करना" उपयोगकर्ता गाइड के)।
‡ के अतिरिक्त bottom
, लक्ष्य फलक निर्दिष्ट करने के अन्य तरीके हैं (में "लक्ष्य-फलक" खोजें) tmux आदमी पेज ):
.+1
, .-1
: इस विंडो में अगला, पिछला फलक
top
, bottom
, left
, right
, और संयोजन top
/ bottom
साथ में left
/ right
(अर्थात। bottom-left
)
%42
( tmux 1.5+): ए %
लक्ष्य फलक के TMUX_PANE पर्यावरण चर से -प्रभात पृष्ठ संख्या
यदि आपका लिंक्स फलक हमेशा समान नहीं है, तो यह अंतिम रूप उपयोगी हो सकता है tmux खिड़की विम के अपने उदाहरण के रूप में। लिंक्स लॉन्च करने से पहले, TMUX_PANE का मान एक अस्थायी फ़ाइल में सहेजें, फिर लक्ष्य-फलक तर्क बनाने के लिए फ़ाइल पढ़ें
# before running Lynx (anytime really, but "before" is usually scriptable)
echo "$TMUX_PANE" > /tmp/my-lynx-pane
# in the Vim :! command in the mapping:
tmux send-keys -t "$(cat /tmp/my-lynx-pane)" C-r