কীভাবে প্রস্থান করার পরে পূর্বের বাশ ক্রিয়াকলাপের সাথে ভিএম স্ক্রিন বাফারটি প্রতিস্থাপন করবেন?


14

আমি বাশ (বা ভিএম) বৈশিষ্ট্যটি কী তা জানার চেষ্টা করছি। এখানে দৃশ্যপট। আমি ব্যাশ টার্মিনালে আছি, তারপরে ভিমের সাহায্যে কিছু সম্পাদনা করুন, তারপরে ব্যাশে ফিরে যান। কিছু টার্মিনালগুলিতে, পূর্বের ব্যাশ শেল ক্রিয়াকলাপটি দেখানোর জন্য ভিম সেশন স্ক্রিনটি অদৃশ্য হয়ে যায় (এটি আমি যা চাই?)।

অন্যদের মধ্যে, ভিম সেশনের স্ক্রিন বাফারটি রয়ে গেছে (পুরানো বাশ শেল ক্রিয়াকলাপটি লুকিয়ে রাখছে)। আমাকে হয় স্ক্রিনটি সাফ করতে হবে, বা আমার বাশ ক্রিয়াকলাপটি স্ক্রিনের বাইরে ভিএম সেশনের বাফারটি না চাপানো পর্যন্ত অপেক্ষা করতে হবে।

পূর্বের ব্যাশ ক্রিয়াকলাপের সাথে ভিএম সেশন বাফার প্রতিস্থাপন করতে আমি কীভাবে এই আচরণটি নিয়ন্ত্রণ করতে পারি?

ধন্যবাদ টিম


superuser.com/questions/871170 সম্পর্কিত।
JdeBP

উত্তর:


10

যখন সেশন শুরু হয় এবং কখন শেষ হয় তখন ভিম প্রেরণ করে t_tiএবং t_ksটার্মিনালে প্রেরণ করে । এবং সিকোয়েন্স টার্মিনাল কারণ তার বিকল্প পর্দা স্যুইচ।t_tet_ket_tit_te

আপনার ~/.vimrcফাইলে আপনি vimনথিকে এই লাইনটি অন্তর্ভুক্ত করে বাইরে বেরিয়ে গেলে স্ক্রিনে ছেড়ে দিতে পারেন :

set t_ti=""

যদি আপনার অনুরূপ একটি লাইন থাকে, এটি সরিয়ে ফেললে আপনার প্রস্থান করার সময় পূর্ববর্তী টার্মিনাল সামগ্রী প্রদর্শিত হবে vim


4

এই সমস্যার কারণ হিসাবে প্রোগ্রামটি ব্যবহার করা যেতে পারে screen। আমি দেখতে পেয়েছি যে আমি যখন একটি screenসেশনে থাকি যখন ভিএম টার্মিনাল অবস্থাটি ফিরিয়ে দিতে পারে না।

উবুন্টু 15.10 এ স্ক্রিনে বা স্ক্রিনে / ভিএম কম্বোতে নির্দিষ্ট কিনা তা নিশ্চিত নয়। উপরে বর্ণিত একই কারণে, আমার ধারণা screenবিভিন্ন টার্মক্যাপ রয়েছে।


2
altscreen on~ / .Screenrc ফাইলটিতে যুক্ত করা পর্দার জন্য সমস্যাটি সমাধান করে।
বার্টবিকজবুই

3

~/.bash_profileআপনি লগইন করে প্রতিবার XTERM হিসাবে TERM রফতানি করার জন্য আপনার ফাইলটিতে কেবল একটি লাইন যুক্ত করুন । নিম্নরূপ করুন;

echo "TERM=xterm; export TERM" >> ~/.bash_profile

এখন পরের বার আপনি লগইন করলে আপনার সমস্যা ঠিক হয়ে যাবে এবং আপনি যদি পুনরায় লগইন না করতে চান তবে আপনি একটি করতে পারেন ...

// either ...
export TERM=xterm
// ... or ...
TERM=xterm; export TERM
// ... or ...
source ~/.bash_profile

1
তা হবে না export $TERM?
chrsblck

1
@ chrsblck: না, কারণ স্থানীয় ভেরিয়েবলের পরিবর্তে পরিবেশের পরিবর্তনশীল হিসাবে exportনামটি (যেমন TERMএই ক্ষেত্রে) রফতানি করে । আপনি যদি export $TERMএই উদাহরণটিতে ব্যবহার করেন তবে ভের আপনার $TERMসমাধান xtermকরবে এনভি ভার $xterm, যা সম্ভবত সংজ্ঞায়িত নয়। যদিও ভাল প্রশ্ন, এটি সবসময় আমার কাছেও ভুল দেখায়।
ইকারার

2

তীম। উপরের দুটি উত্তরই সঠিক। ভিম টার্মিনালটিকে "বিকল্প স্ক্রিনে" স্যুইচ করে যদি তা করার ক্ষমতা $ TERM- র জন্য টার্মক্যাপ এন্ট্রিতে সংজ্ঞায়িত হয়।

আপনি "কিছু টার্মিনালে (... এটি সঠিকভাবে কাজ করে ...)" এবং "অন্যদের মধ্যে (... এটি ভুল কাজ করে ...)" বলে

আপনি কি এই সমস্ত টার্মিনালগুলির জন্য ঠিক একই টার্মিনাল এমুলেটরটি চালাচ্ছেন?

উদাহরণস্বরূপ, আমার হোম লিনাক্স বাক্সে, আমার কাছে জিনোম-টার্মিনাল, এক্সটার্ম, কনসোল, ইয়াকুয়াক এবং সম্ভবত সিআরটিএল-এএলএফ-এফ 1 এর সাথে যুক্ত "ভার্চুয়াল টার্মিনালগুলি" সহ আমি আরও কিছু ভুলে গেছি ... ctrl-alt-F6 বা তাই। এর মধ্যে বেশিরভাগ "এক্সটার্ম" এর জন্য "স্ট্যান্ডার্ড" টার্মক্যাপ এন্ট্রি নিয়ে কাজ করতে পারে - ভার্চুয়াল টার্মিনালের ব্যতীত যাদের "লিনাক্স" নামক একটি টার্মিনাল সংজ্ঞা রয়েছে।

টার্মিনাল এমুলেটর নিজেই এবং যে টার্মিনালগুলি কাজ করে এবং don't TERM এর মান যা কাজ করে এবং যা আলাদা না তা পরীক্ষা করে দেখুন what's এছাড়াও, আপনি যদি কখনও কখনও ভিন্ন ব্যবহারকারী হিসাবে লগ ইন করেন তবে এটি সমস্যার কেন্দ্রস্থল হতে পারে - যেহেতু প্রতিটি ব্যবহারকারীর নিজস্ব নিজস্ব .bashrc বিভিন্ন সেটিংস ব্যবহারকারীর থেকে পৃথক হতে পারে।

আশা করি এইটি কাজ করবে!
-pbr


1

এটি আপনার টার্মিনাল এবং আপনার মেশিনের সেটিংস সাথে টার্মিনাল সম্পর্কিত তথ্যগুলির সাথে সম্পর্কিত। একটি বহনযোগ্য সমাধান হ'ল জিএনইউ স্ক্রিন ব্যবহার করা। একটি উইন্ডো ভিমের জন্য এবং অন্যটি বাশের জন্য খুলুন, যার ফলে দুটি সেশন আলাদা হবে। আপনি যদি কোনও গ্রাফিকাল টার্মিনাল যেমন এক্স 11-তে এক্সটারেম, জিনোমে জিনোম টার্মিনাল বা ওএস এক্স-এ টার্মিনাল.্যাপ ব্যবহার করছেন তবে একই প্রভাবটি অর্জন করতে আপনি একটি নতুন উইন্ডো বা ট্যাব খুলতে পারেন।

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