প্রস্থানের পরে ভিএম পাঠ্যটি না দেখানোর জন্য কীভাবে বাশ প্রদর্শন সেট করবেন?


28

আমার প্রশ্নটি সহজ, তবে এটিকে ফ্রেম / ব্যাখ্যা করা খুব সহজ মনে হচ্ছে।

আমি বিভিন্ন অ্যাকাউন্ট সহ বেশ কয়েকটি ইউনিক্স বাক্সে লগ ইন করি। ভিএম-তে পাঠ্য ফাইল সম্পাদনা করার সময় user1এবং এর জন্য আমি 2 টি ভিন্ন জিনিস দেখতে পাচ্ছিuser2

USER1

আমি যখন টাইপ করি তখন vim filenameভিম খোলে এবং আমি ফাইলটি সম্পাদনা করি। আমি যখন এটি বন্ধ করি তখন ফাইলটি থেকে সম্পূর্ণ পাঠ্য চলে যায় এবং আমি টেমিনালের কমান্ড / আউটপুট দেখতে পাই যা পূর্বে উপস্থিত ছিল।

USER2

আমি যখন টাইপ করি তখন vim filenameভিম খোলে এবং আমি ফাইলটি সম্পাদনা করি। আমি যখন এটি বন্ধ করি, তখন ফাইলের যে অংশটি প্রদর্শনীতে উপস্থিত ছিলাম যখন আমি তখনও প্রদর্শনীতে উপস্থিত ছিলাম এবং vimপূর্ববর্তী সমস্ত টার্মিনাল ডিসপ্লে স্ক্রল আপ হয়ে যায়। ফাইলটি মাত্র 1 লাইন হলেও, ভিএম প্রস্থান করার পরে, প্রদর্শনটি প্রথম লাইনটি প্রদর্শন করে, সমস্ত কিছু বিশ্রামের সাথে ~এবং আমি পর্দার নীচে কমান্ড প্রম্পটটি দেখি।

বিস্তারিত

$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
$ vim --version
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:08:36)

আমি vimrcউভয় ব্যবহারকারীর জন্য ফাইলগুলি তুলনা করেছি এবং আমি সমস্ত সেটিংস সম্পর্কে সচেতন এবং এই আচরণের সাথে সম্পর্কিত কোনও সেটিংস / কনফিগারেশন পাই না।

এই আচরণটি কি শেল কনফিগারেশনের সাথে সম্পর্কিত? আমি কীভাবে জিনিসগুলি সেট করব, যাতে দৃশ্যে প্রদর্শিত আচরণটি পেতে পারি user1?

আমি এটি সহজেই বর্ণনা করতে সক্ষম হচ্ছি না, গুগলের পক্ষেও এটি কঠিন মনে হয়েছে, কারণ এই জাতীয় আচরণের জন্য কী কীওয়ার্ডটি সন্ধান করতে হবে তা আমার জানা নেই। আমাকে জানাবেন, যদি আমার আরও বিস্তারিত বলা উচিত।


হয় user1এবং user2একই বা ভিন্ন মেশিনে অ্যাকাউন্ট?
জেসনওয়ারিয়ান

@ জেসনওয়ারিয়ান একই মেশিনে লগ ইন করাও একই পরিস্থিতি দেখায়। @ warl0ck এর জন্য ধন্যবাদ।
mtk

1
আপনি যদি এই আচরণটি জোর করতে চান তবে আপনার টার্মিনালের
ধরণটি

উত্তর:


24

এই আচরণের অন্যতম কারণ হ'ল প্রতিটি ব্যবহারকারীর জন্য টার্মিনাল স্থাপন করা।

উদাহরণ স্বরূপ:

  • USER1 শব্দটি = ব্যবহার করছে xterm এই ক্ষেত্রে যখন আপনি তেজ থেকে প্রস্থান এটা টার্মিনাল সাফ করবে।
  • USER2 শব্দটি = ব্যবহার করছে vt100 এই ক্ষেত্রে যখন আপনি তেজ থেকে প্রস্থান এটা টার্মিনাল পরিষ্কার করা হবে না।

ব্যবহারকারী 1 কী টার্মিনালটি ব্যবহার করছে তা পরীক্ষা করুন echo $TERMএবং ব্যবহারকারীর জন্য একই সেট করুন। বাশ জন্য:

শব্দটি = xterm; এক্সপোর্ট TERM


+1 সঠিক / নিখুঁত সমাধান। ধন্যবাদ !!! ভাবি নি যে এত সহজ। আপনি কি দয়া করে বিস্তারিত বলতে পারেন TERM? বা কিছু সংস্থান সংকেত নির্দেশ? আমার এটি বুঝতে হবে। এটি কেবল তখনই প্রভাবিত হয় যখন আমরা মাধ্যমে সংযোগ করি putty?
mtk

আপনি পুট্টি সেশনে টার্মিনাল সেটিংটি নির্দিষ্ট করতে পারেন তবে ব্যবহারকারীরা এটির পরিবেশের ভেরিয়েবলগুলিতে নির্দিষ্ট করতে পারেন। TERM আপনার টার্মিনাল প্রকারটি সংজ্ঞায়িত করবে এবং কিছুতে আরও আরও বৈশিষ্ট্য রয়েছে যা উদাহরণস্বরূপ, xterm রঙগুলিকে সমর্থন করে এবং এটি সারি এবং কলামগুলি স্বয়ংক্রিয়ভাবে আপডেট করবে। আপনি যদি ভিটি 100 ব্যবহার করেন, এটি 80 কলাম দ্বারা 24 সারিগুলিতে ডিফল্ট হয়ে যাবে যখন আপনি আপনার টার্মিনালটির আকার পরিবর্তন করবেন আপনি দেখতে পাবেন যে এটি 24x80 এ আটকে গেছে। এই ইউনিক্স.স্ট্যাকেক্সেঞ্জার.কম / সেকশনগুলি / 43945/… দেখুন , এটি আমার চেয়ে ভাল ব্যাখ্যা করতে পারে।
বিটসঅফনিক্স

এটি টার্মিনাল আচরণ, শেল নয়। টার্মিনাল এমুলেটর সেটিংস সংযোগের জন্য আপনি যে কোনও সরঞ্জামই ব্যবহার করেন। পার্থক্যটি এখানে বিশদে ব্যাখ্যা করা হয়েছে: unix.stackexchange.com/questions/4126/…
লিওনিড

@ লিওনিড, ঠিক নয়, আপনি যদি পুটি ব্যবহার করেন তবে আপনি সংজ্ঞায়িত করতে পারেন এবং ব্যবহারকারী যখন কোনও TERM সংজ্ঞায়িত না করে তবে সংযোগ করার সময় এটি আপডেট হবে। ব্যবহারকারীর যদি এটির সংজ্ঞা দেওয়া থাকে তবে আপনি সঠিক, এটি কোনও সরঞ্জামই নয় যে এটি কোনও পরিবেশের পরিবেশে সেটিংসকে প্রাধান্য দেবে not
বিটসঅফনিক্স

এই সমাধান সম্পর্কে কেবল একটি নোট: ওয়াইএমএমভি। এটি সর্বদা "এক্সটার্ম" নয়। ফ্রিবিএসডি 10-তে ডেনমু সহ ডিডব্লিউএম (ডায়নামিক উইন্ডো ম্যানেজার) ব্যবহার করে দৃশ্যপটটি দেখতে আমি "আরএক্সভিটি" ব্যবহার করে টার্মিনালটি নকল করতে হয়েছিল। আপনি আপনার ~ / .vimrc ফাইলটিতে "সেট টার্ম = আরএক্সভিটি" যুক্ত করে শব্দটি সেটিংটি এড়িয়ে যেতে পারেন You ।
রাইদার

18

এই জাতীয় ব্যবহারই আমাকে ব্যবহার থেকে দূরে রাখে screen। এটি "স্ক্রিন" টার্মিনাল ব্যবহার করে এবং এটি "xterm" এ পরিবর্তন করার ফলে কোনও লাভ হয়নি।

altscreen on~ / .Screenrc এ বিকল্প যুক্ত করা এটি সমাধান করেছে। স্ক্রিনের ম্যানুয়াল থেকে:

altscreen on|off

If set to on, "alternate screen" support is enabled in virtual terminals, just like in xterm.  Initial setting is `off'.

@ ফক্স ওপিতে তিনি যে টিআরএম ব্যবহার করছেন সে সম্পর্কে কোনও উল্লেখ করেনি, সুতরাং এটি কেবল বিকল্প উত্তর হতে পারে। যাইহোক, স্ক্রিন ইস্যুতেও গুগল করার সময় এই পৃষ্ঠাটি খুব উপরে রয়েছে।
বার্টবিকজবুই

2
এই কৌশলটি! কীওয়ার্ডস: "ভিম ছাড়ুন ভিজ্যুয়াল আর্টিক্টস টার্মিনালটি ছেড়ে যায়"
জে টেলর

0

আমি এই সমস্ত অপশন চেষ্টা করে দেখেছি তবে ফলাফলটি আমার প্রত্যাশা ছিল না। !clearপুরো স্ক্রিনটি সাফ করবে এবং পূর্ববর্তী বাশ আদেশগুলি পিছনে ছাড়বে না।

সহজ এবং সঠিক সমাধানটি সংযোগ-> ডেটা এর অধীনে পুটি সেটিংগুলিতে টার্মিনাল বিবরণে টার্মিনাল টাইপ স্ট্রিংটিতে xtermএবং টার্মিনাল গতিতে সেট করা 38400,38400

সেটিংস সংরক্ষণ করুন এবং আপনি যেতে ভাল।

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