Tmux के साथ Byobu का उपयोग करते समय विम में Ctrl + एरो कीज़ का उपयोग करने में समस्या


12

विम में, मैंने शब्दों को छोड़ने के लिए Ctrl + एरो कुंजी सेट किया था। यह ठीक काम करता है जब सूक्ति-टर्मिनल के अंदर विम चल रहा है।

हालांकि, बायोबु (tmux) का उपयोग करते समय , यह अजीब व्यवहार दिखाता है: यह कर्सर के बाद सब कुछ हटा देता है।

संदर्भ के लिए, ये मेरी vim सेटिंग्स हैं:

:inoremap <C-Left> <C-\><C-O>b
:inoremap <C-Right> <C-\><C-O>w

जवाबों:


7

समस्या दुगुनी है। सबसे पहले, tmuxडिफ़ॉल्ट रूप से नियंत्रण-तीर कुंजी को एक प्रकार के भागने के क्रम से दूसरे में परिवर्तित करता है। तो विशेष कुंजी जैसे कि संशोधक के बिना controlleftभेजे जाते हैं vim, जैसे left। यदि आप cat -vअलग-अलग एस्केप अनुक्रमों को देखने के लिए उपयोग करते हैं, तो आप कुछ इस तरह देख सकते हैं

^[OD

बनाम यह (tmux के बाहर):

^[[1;5D

रेखा

set-window-option -g xterm-keys on

उस पहलू को ठीक करता है। दूसरा हिस्सा यह है कि tmuxडिफ़ॉल्ट रूप से टर्मिनल विवरण का उपयोग करता है screen। टर्मिनल विवरण नियंत्रण-तीर कुंजी का वर्णन नहीं करता है। टर्मिनल डेटाबेस से ये प्रविष्टियाँ VTE (सूक्ति-टर्मिनल) के लिए सबसे उपयुक्त होंगी:

अन्य हैं, जैसे कि

जो जब में चल स्वचालित रूप से चयनित किया जाएगा screenयदि इसी TERMके बाहर थे vte, vte-256colorआदि tmuxइस स्वत: चयन नहीं करता है; आपको इसकी कॉन्फ़िगरेशन फ़ाइल को संशोधित करना होगा।

वैसे, कोई "screen.xterm" प्रविष्टि नहीं है क्योंकि यह कुछ usages के साथ हस्तक्षेप करेगा screen। के साथ कोई संघर्ष नहीं है TERM=xterm-new

यदि आपके पास एक डिफ़ॉल्ट (न्यूनतम) टर्मिनल डेटाबेस है जैसे कि ncurses-baseडेबियन में, आपके पास नहीं हो सकता है। अधिक आम होगा xterm-256color, जो कि विम और टमक्स के साथ उपयोग करने के लिए पर्याप्त है।

उदाहरण के लिए, अगर मैं .tmux.confइसे अपनी फ़ाइल में जोड़ता हूं, तो यह वैसा ही व्यवहार करता है जैसा कि आप vim में उम्मीद करते हैं:

set -g default-terminal "xterm-256color"

आगे की पढाई:


हम्म् ... यह काम करता है :) लेकिन केवल आंशिक रूप से। केवल Control+ Leftकाम कर रहा है; Control+ Rightनहीं है। मैं परीक्षण करूंगा और बाद में अपडेट करूंगा।
शिवांश

1
आपके पास नियंत्रण + अधिकार (दिए गए विवरण, मैं सलाह दे सकता हूं) के साथ कुछ अन्य बाध्यकारी हस्तक्षेप हो सकता है।
थॉमस डिकी

प्रस्ताव के लिए धन्यवाद :) मैंने थोड़ी जांच की और पाया कि वास्तव में कुछ अन्य कीबाइंडिंग व्यवधान पैदा कर रही हैं। उदाहरण के लिए मेरे मैक पर यह ठीक काम करता है, जबकि लिनक्स में (Guake का उपयोग करके) यह नहीं है। हालाँकि, मैं सही स्टेशन से बाहर हूँ और अपने लिनक्स तक नहीं पहुँच सकता। जब मैं समस्या का समाधान करूंगा तो मैं अपडेट करूंगा।
शिवांश जू

@ थोमम डिके: इस बीच, मैं आपके उत्तर को स्वीकार कर रहा हूं क्योंकि यह वास्तव में समस्या का समाधान करता है।
शिवांश जू

@ThomasDickey मैं बस इतना ही कहना चाहूंगा, "गो राइब मैले मैथ अगत" जो आयरिश में शाब्दिक रूप से अनुवादित है "मई आपके पास एक हजार अच्छी चीजें हैं।" इस उत्तर के लिए बहुत बहुत धन्यवाद। तुम एक सितारा हो।
रोब

2

यहां से आप बायोबू में प्रमुख संयोजन को खोल सकते हैं:

के ~/.byobu/.tmux.confसाथ एक फ़ाइल बनाएँ (या यदि फ़ाइल मौजूद है तो जोड़ें):

set-window-option -g xterm-keys on

फिर निम्नलिखित जोड़ें ~/.byobu/keybindings.tmux:

unbind-key -n C-Left
unbind-key -n C-Right

यह काम नहीं करता है। हालांकि इसने मुझे ठोस नेतृत्व दिया है। मैं लीड का पालन करने और कुछ समाधान के साथ आने की कोशिश करूंगा। धन्यवाद :)
shivams
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.