"^ [[ও" "এবং" ^ [[আমি "আইটার্ম 2 এ উপস্থিত হ'ল ফোকাস হারিয়ে ফেললে


23

আমি ইয়োসেমাইটে আইটার্ম 2 2.1.1 ব্যবহার করছি। টিএমউक्स নেই।

যখন iTerm (যখন Cmd-ট্যাবের দ্বারা অন্য অ্যাপ্লিকেশন অথবা অন্য উইন্ডোতে ক্লিক স্যুইচ) ফোকাস হারায়, একটি ^[[Iএবং ^[[Oবলে মনে হয় টার্মিনালে পাঠানো হবে। এটি ভিমে একটি ^[[I^[[Oবা আরও হতাশার উপস্থিতি সৃষ্টি করে, এই সংমিশ্রণটি অন্য একটি ছোট বাফারটি খুলবে।

নমুনা: শুরু করার পরে বেশ কয়েকবার সিএমডি-ট্যাব টিপুন cat

% cat
^[[I^[[O^[[I^[[O^[[I^[[O^[[I^[[O^[[I^[[O^[[I^[[O^[[I^[[O^[[I^[[O^[[I

এটি কেবলমাত্র আইটার্মে ঘটে এবং টার্মিনাল.্যাপে নয়। এছাড়াও, এটি বাশ বা শ -এ পুনরুত্পাদন করে, সুতরাং এটি কোনও zsh সমস্যা বলে মনে হয় না। কিছু গুগলিং পরামর্শ দিয়েছে যে এটি একটি "ফোকাস" ইস্যু, তবে টার্মিনালের অর্থগুলির মধ্যে "ফোকাস" কী, এবং এটি অক্ষম বা এড়াতে কোনও উপায় আছে?


যখন আমি জাপানি লিখছি (ভিমে) তখন এটি পুনরুত্পাদন করার মতো মনে হয় তবে আমি কী এখনও কোন কারণের কারণ তা নিশ্চিত নই ...
osyoyu

উত্তর:


25

মতে এই :

হারানো / অর্জিত ফোকাস রিপোর্ট করার জন্য সমর্থন যোগ করুন। এসএস [? 1004 ঘন্টা এটি চালু করে; তারপরে টার্মিনাল এস্ক পাঠায় [আমি ফোকাস করার সময়, এস এস [ডি-ফোকাস করার সময়। অক্ষম করতে এসকে [? 1004l পাঠান

Cmd- Rফোকাস প্রতিবেদনের বন্ধ করে দেবে রিসেট করতে (ধন্যবাদ এই )


1
Cmd-Rআমার জন্য যাদু ক্রম
ব্রুসেগ

তাই সহায়ক, ধন্যবাদ। এই SEO এর জন্য এটি আমাকে দীর্ঘ সময় নিয়েছে: এই গুগল: ম্যাক ইটার্ম ইটার্ম 2 ডিসপ্লে ক্লিপবোর্ড সামগ্রীগুলি ভিফ এক্স বাফার ফোকাসে
বিএসবি

11

এই উত্তরটি পরীক্ষা করার জন্য আমার কাছে কোনও ম্যাক হাতে নেই, তবে আমি এক্সটার্মে লিনাক্সের আওতায় খুব মাঝে মাঝে এই সমস্যার মুখোমুখি হয়েছি এবং (আইটার্ম 2 একই কন্ট্রোল কোডগুলিকে সম্মান করে) ধরে নিতে পারেন যে আপনি নীচের সমাধানটি সহায়ক হিসাবে খুঁজে পেতে পারেন।

আপনি যে সমস্যাটি দেখছেন সেখানে টার্মিনালের ভিতরে নিম্নলিখিত শেল কমান্ডটি চালান:

printf "\e[?1004l"

(মনে রাখবেন যে শেষ অক্ষরটি ছোট আকারের 'এল' রয়েছে))

এই এএনএসআই নিয়ন্ত্রণ ক্রমটি থমাস ডিকির উত্তরের তালিকাভুক্তের মতো, তবে এটি বৈশিষ্ট্যটি বন্ধ করে দেয় (পরিবর্তে)। চরিত্রগুলি একেবারেই ঘটতে দেওয়া থেকে বিরত রেখে কেবল ভিম নয়, সমস্ত অ্যাপ্লিকেশনে আপনার সমস্যার সমাধান করা উচিত।


লিনাক্সে আমি নিম্নলিখিত পদক্ষেপগুলির সাথে কাজ করে এই নিয়ন্ত্রণ ক্রমটি প্রদর্শন করতে পারি:

  • এটি xtermচালিয়ে বৈশিষ্ট্যটি চালান এবং সক্ষম করুন printf "\e[?1004h"
  • একই এক্সটার্ম থেকে চালান xeyesবা অন্য কোনও জিইউআই অ্যাপ্লিকেশন । (কোনও কারণে, প্রশ্নে থাকা এক্সটার্ম কোনও অ্যাপ্লিকেশন আরম্ভ না করা পর্যন্ত এই প্রভাবটি আমার জন্য ঘটে না why কেন কেউ জানেনা কেন?)
  • বারবার ফোকাসটি মূল এক্সটার্মের বাইরে এবং বাইরে (যেমন উইন্ডোতে ক্লিক করে) এবং দেখুন ^[[Oএবং ^[[Iমূল এক্সটার্মে "টাইপ" হচ্ছেন।
  • এখন জিৎস বন্ধ করুন, আসল এক্সটার্মে ফিরে আসুন এবং চালান printf "\e[?1004l"(বৈশিষ্ট্যটি অক্ষম করতে, উপরের ফিক্সে বর্ণিত হিসাবে)।
  • উপরের " রান xeyes, স্যুইচ ফোকাস " ধাপগুলি পুনরাবৃত্তি করুন , তবে এবার টার্মিনালে কোনও অক্ষর প্রবেশ করা যাচ্ছে না।

আমি ব্যক্তিগতভাবে কেবল তখনই এই সমস্যাটি দেখতে পাই যদি আমি অজান্তেই টার্মিনালে বাইনারি আউটপুট ডাম্প করে ফেলেছি, তবে আপনি যদি আরও নিয়মিতভাবে মুখোমুখি হন তবে printfআপনি এটি নিজের শেলের ইন্টারেক্টিভ স্টার্টআপ স্ক্রিপ্টে যুক্ত করতে চাইতে পারেন (যেমন ~/.bashrc)। বৈশিষ্ট্যটি ইতিমধ্যে অক্ষম করা থাকলে নিয়ন্ত্রণ কোড প্রেরণে (কমপক্ষে এক্সটার্মের অধীনে) কোনও ক্ষতি হওয়ার কথা মনে হচ্ছে না, তাই আপনি যদি কখনও কখনও এই সমস্যাটি দেখতে পান তবে এটি নিরাপদ হওয়া উচিত।

যদি আপনি নিজের শেলটি সর্বদা সেই আউটপুট তৈরির বিষয়ে উদ্বিগ্ন থাকেন তবে সম্ভবত আপনি কখনও কখনও এটি এমন জায়গায় ব্যবহার করেন যা এই নিয়ন্ত্রণ কোডগুলি ভালভাবে পরিচালনা করে না বা শেল শুরুর পরে যদি সমস্যাটি কখনও কখনও উদ্দীপিত হয় তবে আপনি সেট করতে পছন্দ করতে পারেন alias focusfix='printf "\e[?1004l"'ম্যানুয়ালি চালানো আরও সুবিধাজনক করার জন্য একটি উপাধি (যেমন সহ ) আপ করুন ।


আমি মাঞ্জারো লিনাক্স, জ্ঞোম, টার্মিনেটর এবং ওহ-মাই-জেডএস চালাচ্ছি। এই সমস্যাটি আমার কাছে ঘটছিল এবং এই উত্তরটি অনেক সাহায্য করেছিল।
ফ্যাবিও মন্টেফুস্কোলো

2

"ফোকাস" শব্দটি কোন টার্মিনাল (বা উইন্ডো) বর্তমানে কীবোর্ড এবং মাউস ইনপুট ইভেন্টগুলি গ্রহণ করছে তা বোঝায় । কেবল একজনেরই ফোকাস থাকতে পারে; গ্রাফিকাল পরিবেশে কীভাবে ফোকাস অর্জন এবং হারাবেন তা প্রতিষ্ঠার জন্য প্রোটোকল রয়েছে যা অন্বেষণে সহায়ক হবে না।

বিবরণ থেকে ( ফোকাস পুনরুদ্ধার করার সময় Tmux বর্তমান ফলক সূচকটিও দেখুন ), এটি আইটার্ম 2 এই xtermবৈশিষ্ট্যটি প্রয়োগ করে বলে মনে হয় :

FocusIn / FocusOut

ফোকাসআইএন / ফোকাসআউট যে কোনও মাউসের ইভেন্টের সাথে একত্রিত হতে পারে যেহেতু এটি ভিন্ন প্রোটোকল ব্যবহার করে। সেট করা থাকলে, টার্মিনালটি ফোকাস লাভ করার পরে সিএসআই আই প্রেরণে এক্সটারম সৃষ্টি করে এবং সিএসআই ও যখন ফোকাস হারিয়ে ফেলে।

এটি বেসরকারী মোড 1004 দ্বারা সক্ষম করা হয়েছে (2007 সালে এক্সটার্মে যুক্ত হয়েছে, প্যাচ # 224 ):

CSI ? Pm h
      DEC Private Mode Set (DECSET).
           Ps = 1 0 0 4  -> Send FocusIn/FocusOut events. 

এবং এই প্যাচ সম্পর্কিত হতে পারে: ভিম - ফোকাস রিপোর্টিং মোডের জন্য সমর্থন যুক্ত করুন (ডিসিএসইটি / ডেইসিআরএসটি 1004) এক্সটার্ম সামঞ্জস্যপূর্ণ টার্মিনালগুলিতে কাজ করে , যা "xterm" মাউসের বৈশিষ্ট্যগুলির সমস্ত আচরণকে একটি সেটিংয়ে সমান করে:

/ * ফোকাস রিপোর্টিং এক্সটার্ম সামঞ্জস্যপূর্ণ টার্মিনাল এবং tmux দ্বারা সমর্থিত। * /

তাই ... তুমি অক্ষম পারে যে তেজ আপনার টার্মিনাল xterm মাউস প্রোটোকল ব্যবহার করে না কহন দ্বারা। উদ্ধৃত প্যাচটি ভিমকে ফোকাসইন / ফোকাসআউট বৈশিষ্ট্যটি চালু করতে বলেছে (যা সাধারণত বন্ধ হওয়া উচিত) এবং যদি এর যুক্তিতে কিছু ত্রুটি থাকে তবে ভিএম থেকে বেরিয়ে আসার পরে বৈশিষ্ট্যটি সক্ষম থাকতে পারে।

মোড সক্ষম হওয়ার সর্বাধিক সম্ভাবনাময় কারণ ভিএম, এটি সম্ভবত অন্য কোনও প্রোগ্রাম (বা স্ক্রিপ্ট) এটি চালু করার সম্ভাবনা রয়েছে। অন্য উত্তরে প্রস্তাবিত হিসাবে, আপনি scriptপ্রোগ্রামটি (কোনও typescriptফাইল উত্পাদন করে ) ব্যবহার করে আপনার টার্মিনালে আউটপুট সংগ্রহ করে এটিকে সঙ্কুচিত করতে পারেন । সময় সাশ্রয়ী হতে পারে এমন বিশ্লেষণ (এবং যেহেতু এই সাইটটি সংযুক্তিগুলিকে সমর্থন করে বলে মনে হচ্ছে না, এটি বিশদ আলোচনা চাওয়া উপযুক্ত বলে মনে হয় না)। আমি সাধারণত unmapএই উদ্দেশ্যে টাইপস্ক্রিপ্ট ফাইলগুলি পঠনযোগ্য আকারে রূপান্তর করতে ব্যবহার করি ।


আপনার বিস্তারিত উত্তরের জন্য ধন্যবাদ। ভিমকে উপেক্ষা করতে \e\[Oএবং \e\[Iভিমে এই সমস্যাটি সমাধান করার কথা বলা , তবে অন্যান্য অ্যাপ্লিকেশনগুলিতে যেমন বিড়াল বা ইন rails server(সম্ভবত রিডলাইন ব্যবহার করে প্রোগ্রামগুলি?) নয়।
osyoyu

সুতরাং ... কেউ কীভাবে বলতে পারেন যে ঠিক কীভাবে "ভিমকে \ ই [ও ও \ ই [আমি" উপেক্ষা করতে বলা হচ্ছে?
লিবিন ওয়েন

0

এই সমস্যাটি সমাধান করতে, আপনাকে জানতে হবে কোন প্রোগ্রামটি ফোকাস রিপোর্টিং মোড সক্ষম করে। আপনার স্ক্রিপ্ট (1) কমান্ড দ্বারা লিপিবদ্ধ একটি লগ নেওয়া উচিত ।


ফোকাস কি এমন কোনও বৈশিষ্ট্য প্রতিবেদন করছে যা ডিফল্টরূপে বন্ধ থাকে এবং পালানোর ক্রম অনুসারে চালু হয়? আসলে, আমি লক্ষ্য করেছি যে এই সমস্যাটি একটি নতুন টার্মিনাল উইন্ডোতে ঘটে না, তবে কিছু করার পরে পুনরুত্পাদন করে , তাই আমি এটি সনাক্ত করার চেষ্টা করব।
osyoyu

-2

ফোকাস হারিয়ে গেলে আমার টার্মিনাল "^ @" প্রদর্শন করে সমাধান করার চেষ্টা করে আমি এই প্রশ্নটি পেয়েছি।

উত্তরগুলি পড়তে গিয়ে, আমি আইটার্ম 2 টি পছন্দ -> প্রোফাইল -> "ডিফল্ট" -> সেশন এবং আনচেকিংয়ের চেষ্টা করেছি: "যখন নিষ্ক্রিয় থাকে, তখন প্রতি 60 সেকেন্ডে এএসসিআইআই কোড 0 পাঠান"

সমস্যা সমাধান হয়েছে, আশা করি এটি কারও সাহায্য করবে

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