Tmux এর ভিতরে ভিম স্প্লিটকে পুনরায় আকার দিতে পারে না


47

সব কিছু বাইরে কাজ করছে tmux। তবে tmuxআমি মাউসের সাহায্যে বিম বিভক্তিকে পুনরায় আকার দিতে পারি না। আমি set mouse=aআমার .vimrc হবে। এটির কোন সমাধান আছে?

.tmux.conf:

$ cat ~/.tmux.conf
set-option -g mode-mouse on
set-option -g mouse-resize-pane on
set-option -g mouse-select-pane on
set-option -g mouse-select-window on

আফাইক এটি একটি পরিচিত / অমীমাংসিত সমস্যা। অবশ্যই, আপনি যদি নিজের কীবোর্ডের পক্ষে মাউস ফেলে দেন তবে এটি একটি অ-ইস্যু হয়ে উঠবে।
রোমেনেল

11
আপনার কাছে সেটিং চেষ্টা ttymouse=xterm2মধ্যে তেজ ? যে দেয় আমার চারপাশের টেনে তেজ টুকরা ভিতরে tmux (এটা ডিফল্ট বলে মনে হয় xterm2যখন দিয়ে চালানো TERM=xterm, যা সম্ভবত ক্ষেত্রে বাইরে tmux )।
ক্রিস জনসেন

@ ক্রিস জোনসেন এটি কাজ করে !! দয়া করে এই মন্তব্যটি উত্তর হিসাবে পোস্ট করুন এবং আমি এটি গ্রহণ করব :)
হোমস

@romainl হ্যালো! ডিফল্ট উইম কী বাইন্ডিং সহ উইন্ডোজগুলির আকার পরিবর্তন করা মোটামুটি আইএমএইচও। xD
trusktr

এটি কোনও পুটি ইস্যু নয়
জেসনসভাও

উত্তর:


69

দেখা যাচ্ছে যে একটি বিভক্ত আকার পরিবর্তন করতে অবস্থা লাইন টেনে সম্ভব যখন নয় তেজ বিকল্প ttymouseনেই xterm; এটি মান কার্যকর হয় যখন কাজ করে xterm2। পরবর্তী মানটি একটি বর্ধিত মাউস রিপোর্টিং মোডের জন্য জিজ্ঞাসা করার জন্য ভিমকে কনফিগার করে যা (অন্যান্য জিনিসের মধ্যে) আরও ভাল টেনে আনার সমর্থন সরবরাহ করে। এই প্রসারিত মোডটি কেবল এক্সটারের নতুন সংস্করণগুলি (এবং tmux সহ অন্যান্য সামঞ্জস্যপূর্ণ টার্মিনাল এমুলেটর ) সহ কাজ করে , সুতরাং এটি ডিফল্ট মান নয়।

.vimrcবিকল্পটি সেট করতে আপনি নীচের মতো কিছু ব্যবহার করতে পারেন :

set mouse+=a
if &term =~ '^screen'
    " tmux knows the extended mouse mode
    set ttymouse=xterm2
endif

(যদিও, আমি নিশ্চিত নই যে এটি কীভাবে প্রকৃত পর্দার উদাহরণগুলিতে প্রভাব ফেলবে , যা একটি টিআরএম ব্যবহার করে যা শুরু হয় screen))

আপনি যখন tmux এর বাইরে থাকবেন , TERM এনভায়রনমেন্ট ভেরিয়েবল সম্ভবত একটি xtermআইশ মানের, এবং ভিম নিয়ন্ত্রণ সিকোয়েন্সটি ব্যবহার করে এক্সটার্ম সংস্করণটি অনুসন্ধান করবে versiont_RV


3
এটি কীভাবে স্ক্রিনকে প্রভাব ফেলবে তা না জেনে উল্লেখ করেছেন ( tmux এর বিপরীতে )। উত্তরটি হ'ল: স্ক্রিনটিতে একই সমস্যা রয়েছে এবং এই সঠিক ফিক্সটি সেখানে কাজ করে।
মোস কলাম

1
শর্তটি আমার টিমাক্সে সত্য হয়ে ওঠে না, তবে কেবল setপরিবর্তনশীল কাজগুলি টাই করে।
জেসনঝাঁও

1
আপনি যদি একটি টার্মিনাল যা 223 ওভার কলাম রয়েছে কাজ করেন তাহলে, আপনি সেট করতে হবে ttymouseকরতে sgrযেমন xterm2যে অতিক্রম যেতে না। আপনি না পরীক্ষা করতে যদি আপনার তেজ সমর্থন sgrদিয়ে has("mouse_sgr")। এটি সর্বদা sgrপরিবর্তে সেট করা নিরাপদ হওয়া উচিত xterm2কারণ এটি পিছনের দিকে সামঞ্জস্যপূর্ণ। দেখুন:help ttymouse
সুডো বাশ

14

আমার ক্ষেত্রে এটি উভয় ক্ষেত্রেই সমাধান করেছে: প্রশস্ত স্ক্রিনের জন্য মাউস বিভাজন পুনরায় আকার এবং মাউস অবস্থানের সমস্যা।

ফিক্সটি হ'ল:

if has("mouse_sgr")
    set ttymouse=sgr
else
    set ttymouse=xterm2
end

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