Tmux ব্যবহার করার সময় আমি কীভাবে সিএমআরএল কী বাইন্ডিং তৈরি করব?


3

আমি টিমক্সের ভিতরে ভিম ব্যবহার করি, এবং সম্প্রতি আমার সাথে নিম্নলিখিতগুলি যুক্ত করেছি .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

নিশ্চিতভাবেই এই কমান্ডগুলি ভীমের মাধ্যমে পাস করার একটি সহজ উপায় আছে?

আমি এই পোস্ট মাধ্যমে পড়া:

Shift + arrow এবং ctrl + টিম কিভাবে টিমক্সে ভিমে কাজ করে?

এবং আমার নিম্নলিখিত যোগ করার চেষ্টা .vimrc, কোন discernable প্রভাব সঙ্গে:

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

আমি ভিম সংস্করণ 7.4 চলমান করছি

উত্তর:


1

প্রস্তাবিত TERM tmux জন্য সেটিং হয় screen-256color এবং আপনি আপনার যোগ স্নিপেট vimrc শুধুমাত্র একটি কাজ করে TERM যে দিয়ে শুরু হয় screen তাই আপনি যদি আপনার ব্লক কোড ব্লক করা হবে না নিশ্চিত হতে পারে TERM হয় xterm

আমি এই মেশিনে অতীতের খুব স্নিপেটটি সফলভাবে ব্যবহার করছি, বিনা set-window-option -g xterm-keys on, কিন্তু যে কোনও কারণে এটি আমার জন্য আর কাজ বলে মনে হচ্ছে না (আমি গত তিন মাসে টিএমক্স ব্যবহার করি নি)। আমি কি ঘটছে তা আশ্চর্য। একটি iTerm আপগ্রেড? একটি tmux আপগ্রেড?

যোগ করার পদ্ধতি set-window-option -g xterm-keys on আমার দিকে ~/.tmux.conf সমস্যা সংশোধন করে।

যাইহোক, আপনি সরাসরি উত্পাদিত কাঁচা ক্রম মানচিত্র করতে পারে <C-Left> এবং <C-Right> একটি অস্থায়ী workaround হিসাবে।

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

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