Tmux का उपयोग करते समय मैं vim में CTRL कुंजी बाइंडिंग कैसे बनाऊं?


3

मैं tmux के अंदर विम का उपयोग करता हूं, और हाल ही में मेरे साथ निम्नलिखित जोड़ा है .vimrc फ़ाइल:

" easy navigation
nnoremap <C-Left> :tabprevious
nnoremap <C-Right> :tabnext

लेकिन इसका कोई असर नहीं हुआ (आई प्रेस) CTRL+l या CTRL+Right और मेरा कर्सर वैसे ही चलता है जैसे मैंने दबाया नहीं था CTRL बिल्कुल भी)। मैं अनुमान लगा रहा हूं कि tmux इसके लिए किसी तरह जिम्मेदार है

मैंने निम्नलिखित पंक्तियों में से प्रत्येक को (दोनों को नहीं) अपने में जोड़ने का प्रयास किया .tmux.conf कोई फायदा नहीं:

set -g default-terminal "xterm"
set-window-option -g xterm-keys on

निश्चित रूप से इन आज्ञाओं को पारित करने के लिए एक सरल तरीका है विम के माध्यम से?

मैं इस पोस्ट के माध्यम से पढ़ा:

शिफ्ट + तीर और ctrl + तीर कैसे प्राप्त करें Vm में tmux?

और मेरे साथ निम्नलिखित जोड़ने की कोशिश की .vimrc, बिना किसी प्रभाव के:

if &term =~ '^screen'
    " tmux will send xterm-style keys when its xterm-keys option is on
    execute "set <xUp>=\e[1;*A"
    execute "set <xDown>=\e[1;*B"
    execute "set <xRight>=\e[1;*C"
    execute "set <xLeft>=\e[1;*D"
endif

मैं am.४ संस्करण चला रहा हूं

जवाबों:


1

की सिफारिश की TERM tmux के लिए सेटिंग है screen-256color और आपके द्वारा जोड़ा गया स्निपेट vimrc केवल एक के लिए काम करता है TERM इसके साथ शुरू होता है screen तो आप यह सुनिश्चित कर सकते हैं कि कोड ब्लॉक कभी निष्पादित नहीं होगा यदि आपकी TERM है xterm

मैं सफलतापूर्वक इस मशीन पर अतीत में बहुत स्निपेट का उपयोग कर रहा हूं, के बिना set-window-option -g xterm-keys on, लेकिन जो भी कारण से यह मेरे लिए अब काम नहीं करता है (मैंने पिछले तीन महीनों में tmux का उपयोग नहीं किया)। मुझे आश्चर्य है कि क्या चल रहा है। एक iTerm उन्नयन? एक tmux उन्नयन?

जोड़ा जा रहा है set-window-option -g xterm-keys on मेरे लिए ~/.tmux.conf समस्या को ठीक करता है।

वैसे भी, आप द्वारा उत्पादित कच्चे अनुक्रमों को सीधे मैप कर सकते हैं <C-Left> तथा <C-Right> अस्थायी वर्कअराउंड के रूप में।

nnoremap <C-v><C-Left> :tabprevious<CR>

आपको कुछ इस तरह देना चाहिए:

nnoremap ^[[D :tabprevious<CR>

0

एक वैकल्पिक समाधान निम्नलिखित हो सकता है:

" Note:  Move to the next tab! By Questor
nnoremap <silent> <C-Up> :tabnext<cr>
inoremap <silent> <C-Up> <C-O>:tabnext<cr>
vnoremap <silent> <C-Up> :<C-U>tabnext<cr>v

" Note:  Move to the previous tab! By Questor
nnoremap <silent> <C-Down> :tabprevious<cr>
inoremap <silent> <C-Down> <C-O>:tabprevious<cr>
vnoremap <silent> <C-Down> :<C-U>tabprevious<cr>v

मेरे लिए महान काम करता है!

में उपयोग का एक उदाहरण देखें https://github.com/eduardolucioac/groovim/blob/master/.vimrc

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