কীভাবে শিফট + তীর এবং সিটিটিএল + তীরগুলি ভিমে ইন টিএমউক্সে কাজ করবেন?


44

এটি সবই ওএস এক্স-এর আইটার্ম 2-এ রয়েছে

আমি আছে ব্যবহৃত

export TERM='xterm-256color'

আমার মধ্যে .bashrc। এর অর্থ tmux এ Vim 256 টি রঙ ব্যবহার করেছে।

এবং একবার আমি যোগ

set -g xterm-keys on

তারপরে মডিফায়ারগুলির সাথে কীবোর্ড শর্টকাটগুলি ভিমে দুর্দান্ত কাজ করেছে। যথা: shift+left/rightআমি ভিম ট্যাবগুলি স্যুইচ করতে ম্যাপ করেছি, ctrl+up/downযেগুলি ("বুদ্বুদ") লাইনগুলি সরাতে আমি ম্যাপ করেছি এবং shift+left/rightযা কমান্ড-লাইন মোডে (যেমন কিছু টাইপ করার সময় :e foo bar baz) বাক্সে ঝাঁপিয়ে পড়ে বক্সের বাইরে কাজ করেছিল worked

তবে, এই সেটআপটিতে সমস্যা ছিল যে ভিম ব্যাকগ্রাউন্ডের রঙটি কেবল এখানে উল্লিখিত হিসাবে পাঠ্যের পিছনে প্রদর্শিত হবে ।

তাই আমি সরিয়েছি

export TERM='xterm-256color'

আমার কাছ থেকে .bashrcএবং পরিবর্তে এটি আমার .tmux.conf:

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

এটি ভিম পটভূমির রঙ স্থির করেছে, তবে কীবোর্ড শর্টকাটগুলি ভেঙে দিয়েছে - তারা পরিবর্তে অপ্রত্যাশিত কাজ করে (কার্সারটি সরান, পাঠ্য মুছুন)।

ctrl+vমূল সংমিশ্রণগুলি ( এখানে বর্ণিত হিসাবে ) থেকে ভার্ব্যাটিম আউটপুট toোকাতে ব্যবহার করে , আমি এটির চারপাশে কাজ করতে সক্ষম হয়েছি:

map [1;5A <C-Up>
map [1;5B <C-Down>
map [1;2D <S-Left>
map [1;2C <S-Right>
cmap [1;2D <S-Left>
cmap [1;2C <S-Right>

এটি শর্টকাটগুলি কাজ করে, তবে এটি সঠিক সমাধান বলে মনে হয় না। কেউ কি আমাকে বলতে পারে যে এখানে কী ঘটছে এবং কীভাবে এটি ঠিক করা যায়?

উত্তর:


68

আপনাকে tmux উইন্ডো বিকল্পটি সেট করতে হবে xterm-keysযাতে tmux এই কীগুলি তার টার্মিনালের মধ্যে দিয়ে দেবে। আপনি সম্ভবত এটি আপনার মধ্যে রাখতে চান ~/.tmux.conf:

set-window-option -g xterm-keys on

তেজ সাধারণত স্বয়ংক্রিয়ভাবে এই কী যখন শব্দ তার হ্যান্ডলিং সেটআপ করবে xterm-something, কিন্তু এটা অগ্রাহ্য শব্দ এই যেহেতু screen-256color। আপনি নিজের ~/.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

কমপক্ষে সেই পদ্ধতিতে আপনাকে সমস্ত বিভিন্ন সংমিশ্রণ মানচিত্র করতে হবে না।


ধন্যবাদ! আমার যা ছিল তার চেয়ে এটি দেখতে আরও ভাল দেখাচ্ছে এবং আমি তার ব্যাখ্যাটির প্রশংসা করি। একটি জিনিস যা আমার যা ছিল তা দ্বারা স্থির করা হয়েছিল, তবে আপনার লাইনগুলি দ্বারা নয়, এটি হ'ল এখানে বর্ণিত কমান্ড-টি প্লাগইনে উপরে / ডাউন তীরগুলি কাজ করে নি: superuser.com/questions/237751/… আমি কেবল map <Esc>[B <Down>একটি থেকে যুক্ত করেছি উত্তর। প্লাগইন নিজেই তৈরি কিছু খারাপ অনুমান আছে কারণ মনে হচ্ছে।
হেনরিক এন

কেবল স্পষ্ট করে map <Esc>[B <Down>বলতে গেলে, অন্য সমাধান থেকে আপনার সমাধান প্লাস মানে এখন সবকিছু ঠিকঠাক কাজ করে।
হেনরিক এন

@ হেনরিকএন আপনি কি দয়া করে তা পরিষ্কার করতে map <Esc>[B <Down>পারেন? আমার .vimrc ফাইলে এটি যুক্ত করে আমি কোনও পার্থক্য দেখছি না।
ফ্রান্সেস্কো বোকার্ডো

@Francesco Boccardo: আপনি আমার আগের মন্তব্যে লিঙ্কটি অনুসরণ করুন, এবং তারপর সেখান থেকে আবার লিঙ্কটি অনুসরণ করুন, তাহলে আপনার সাথে যোগাযোগ superuser.com/a/215181 যা বিস্তারিত যন্ত্রণাদায়ক মধ্যে :) তা ব্যাখ্যা বলে মনে হয়
হেনরিক এন

@ হেনরিক এন ধন্যবাদ সুতরাং এটি সম্ভবত কোনও ওএসএক্স সম্পর্কিত সমস্যা, বা সম্ভবত এটি এই 7 বছরেই সমাধান হয়ে গেছে, কারণ কমান্ড (নিয়ন্ত্রণ?) টিপলে টিমাক্স আমার জন্য ভিম-তে তীর কীগুলি বিশৃঙ্খলা করে না (আমি লিনাক্সে আছি)।
ফ্রান্সেস্কো বোকার্ডো

8

এখানে যেমন বর্ণনা করা হয়েছে , টার্মিনাল অপশনটি সাফ করে ব্যাকগ্রাউন্ড কালার ইরেজ (বিসিই) অক্ষম করুন t_ut( :set t_ut=ভিমে চালান এবং তারপরে টার্মিনালের প্রদর্শনটি রিফ্রেশ করতে Control+ চাপুন L) যাতে টিমাক্স এবং জিএনইউ স্ক্রিনের ভিতরে ভিম ব্যবহার করা হয় তখন রঙিন স্কিমগুলি সঠিকভাবে কাজ করে।

এইভাবে, আপনি যথাযথ কী সনাক্তকরণ TERMহিসাবে আপনার মান রাখতে পারেন xterm-256colorএবং যথাযথ ভিএম রঙের স্কিমও সরবরাহ করতে পারেন! :-)


1
সুন্দর! দুর্দান্ত গোয়েন্দা কাজ।
হেনরিক এন

2
আমি ঠিক এটি পরিবর্তন করেছি: github.com/henrik/dotfiles/commit/… রং এবং সংশোধক কীগুলি tmux এর বাইরে এবং ভিতরে উভয়ই ভাল কাজ করে বলে মনে হচ্ছে।
হেনরিক এন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.