কেন `ESC কার্সারটিকে ভিএম-তে ফিরিয়ে আনবে?


62

ভিমে, যখন আমি ESCকমান্ড মোডে ফিরতে আঘাত করি , তখন কার্সার একটি অক্ষরকে বামে সরিয়ে দেয়। এটি আমি আশা করি না, মাঝে মাঝে আমি তত্ক্ষণাত্ lসেই স্থানে ফিরে যেতে, সম্ভবত কোনও চরিত্র মুছতে হিট করেছি ।

এই আচরণের কোনও কারণ আছে কি? আমি অনুপস্থিত যে ব্যবহারের প্যাটার্নটির জন্য এটি কি সুবিধাজনক?


1
আমি এখন পর্যন্ত এটি কখনও লক্ষ্য করি নি ... এবং আমি প্রতিদিন ভিএম ব্যবহার করি। কেন আমার কোনও ধারণা নেই তবে আমি উত্তরগুলি শুনতে আগ্রহী।
গ্যাবে

5
সন্নিবেশ মোডে ফিরে যাওয়ার পরে, আপনি iোকানোর জন্য 'আমি' এর পরিবর্তে অ্যাপেনডের জন্য 'একটি' টিপতে পারেন। তারপরে আপনি পালাতে চাপার আগে আপনি যে অবস্থানে ছিলেন সেখানে ফিরে যেতে হবে।
পেঙ্গুইন 359

উত্তর:


40

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

মোডগুলির মধ্যে স্যুইচিংয়ে কার্সারটিকে একটি অর্ধ-অক্ষর দ্বারা সরানো হয়, তাই কথা বলতে। iকমান্ড প্যাচসমূহ বাম, চরিত্র এটি ছিল আগে কার্সার করা। aকমান্ড অধিকার চলে আসে। সন্নিবেশ মোডের বাইরে গিয়ে (টিপে Esc) যদি সম্ভব হয় তবে কার্সারটি বামে সরানো হয় (যদি এটি লাইনটির শুরুতে হয় তবে এটি ডানদিকে সরানো হয়)।

আমি মনে করি Escআচরণের ধরণটি বোধগম্য হয়। প্রায়শই, আপনি লাইনের শেষে টাইপ করছেন এবং Escকেবল বাম দিকে যেতে পারে। সুতরাং সাধারণ আচরণ সবচেয়ে সাধারণ আচরণ।

গত আকর্ষণীয় চরিত্র কার্সার অধীনে চরিত্র নিয়ে ভাবুন, এবং সন্নিবেশ কমান্ডের a। আপনি a Escকার্সারটি সরিয়ে না রেখে পুনরাবৃত্তি করতে পারবেন , আপনি যদি খালি খালি লাইনের শুরুতে শুরু করেন তবে ডানদিকে আপনাকে একটি অবস্থানে চাপ দেওয়া হবে।


21

দৃশ্যত, এটি জিভিমে আরও বোধ করে:

সম্পাদনা করার সময়, আপনার কার্সর অক্ষরের মধ্যে রয়েছে:
এখানে চিত্র বর্ণনা লিখুন

যখন স্বাভাবিক মোডে থাকে তখন এটি সর্বশেষ অক্ষরের শীর্ষে থাকে:
এখানে চিত্র বর্ণনা লিখুন

সুতরাং এটি সত্যিই একটি অক্ষর ফিরে যেতে না শুধু হওয়া থেকে মধ্যবর্তী r এবং sহচ্ছে উপর r


1
অসাধারণ ছবি. সত্যি কথা বলতে, আমি শিবিরে আছি যে বলে যে mস্বাভাবিক মোডে ফিরে আসার পরে চরিত্রটি হাইলাইট করা উচিত ...
স্টিভেন লু

উফ। ছবির লিঙ্কগুলি এখন মারা গেছে।
স্টিভেন লু

1
চিত্র লিঙ্ক এখন মৃত।
স্টিভেন লু

1
হ্যাঁ ম্যানুয়ালি আপনার চিত্রগুলি হোস্ট করা এই সাইটের মার্কডাউন এডিটরটিতে কেবল সরঞ্জামটি ব্যবহার করার চেয়ে বেশি কাজ এবং কম নির্ভরযোগ্য।
স্টিভেন লু

1
তাদের সাথে আবার কি সবকিছু ঠিক আছে? এটি "কার্সর" তারা কী টাইপ করেছে এবং আপনার পাঠ্যে "জে" উল্লেখ করেছে
পোয়েজ

15

এই আচরণটি এখানে উত্তর হিসাবে সম্পাদনাযোগ্য , তবে থামুন এবং এক সেকেন্ডের জন্য কী চলছে তা চিন্তা করুন। আপনি যখন সন্নিবেশ মোডে থাকবেন, আপনি আসলে কোনও চরিত্রের উপরে নন তবে এগুলি অনুসরণ করুন। আপনি যখন কিছু সন্নিবেশ করান তখন কার্সারটি আপনি যা inোকালেন তার শেষ দিকে লাফ দেয় যাতে sertedোকানো পরবর্তী জিনিসটি তার পরে থাকে after আপনি যদি কেবল একটি চিঠি টাইপ করেন, তবে এটিতে কিছু করতে চাইলে এখন চিন্তা করুন think হিট Escকরা আপনার নির্বাচিত সর্বশেষ অক্ষরটির উপরে সরাসরি নির্বাচিত কার্সারটি রাখবে। যদি এটি এটি না করে, এটি আসলে বরং বিশ্রী হবে।

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


15
আমার কাছে তা বোঝা যায় না। আপনি কীভাবে বারবার iএবং ESCকীপ্রেসগুলির হাঁটার পিছনের দিকের আচরণটি ব্যাখ্যা করবেন ?
ওয়ারেন ইয়ং

4
সন্নিবেশ মোডে যাচ্ছি, কিছু .োকানো হয় না, তারপরে ছেড়ে দেওয়া মোটামুটি পরীক্ষা নয়। আপনি কিছু sertোকানো না হলে আপনি কেন সন্নিবেশ মোডে থাকবেন। আপনি যদি কিছু সন্নিবেশ করান তবে স্বাভাবিক মোডে ফিরে যাওয়া আপনি নির্বাচিত নির্বাচিত অক্ষরটি রেখে দেয়। খুব স্বজ্ঞাত।
কালেব

4
এটি "ফর্সা" সম্পর্কে নয়, এটি ব্যাখ্যামূলক শক্তি সম্পর্কে। যদি আপনার পরিচালনার তত্ত্বটি সমস্ত আচরণের ব্যাখ্যা না দেয় তবে তা অসম্পূর্ণ বা vi এর আচরণ অসঙ্গত। আমি বিশ্বাস করতে পছন্দ করি যে ভিআই প্রতিটি উপায়ে নিখুঁত এবং তাই ধারাবাহিক। :)
ওয়ারেন ইয়ং

9
@ ওয়ারেন iঅনুসরণ করা "পিছনে হাঁটা" আচরণ ESCএকটি ফাংশন iএবং এর থেকে সম্পূর্ণ স্বাধীন ESC; বিশেষত, যখন আপনি আঘাত করেন iআপনি ভিমকে একটি চরিত্র সন্নিবেশ করতে বলছেন , যার সংজ্ঞা অনুসারে "" আমি যা করছি তার আগে একটি চরিত্র সন্নিবেশ করান ", aযার বিপরীতে " এই চরিত্রের পরে একটি চরিত্র যুক্ত করা "।
ক্রোমি

3
সাধারণভাবে, প্রতিটি পরিবর্তনের পরে, যখন আমি এই পরিবর্তনটি ছেড়ে যাই, আমি সেই পরিবর্তনটি সম্পন্ন করেছি এবং পরবর্তী কাজটি করতে চাইলে সম্ভবত অন্যরকম পরিবর্তন করা জড়িত। এইভাবে, আমার কাছে, সন্নিবেশ মোডটি ছেড়ে যাওয়ার পরে (আমি এটি কীভাবে প্রবেশ করলাম তা নির্বিশেষে) আমি সাধারণত কার্সারটিকে পরবর্তী অক্ষরে থাকতে পছন্দ করি তাই আমি আমার পরবর্তী পরিবর্তনের জন্য প্রস্তুত , বরং আমি যা বদলেছি তার চেয়ে প্রস্তুত ঢোকানো হয়েছে।
কাইল স্ট্র্যান্ড 21

6

কমান্ড মোডে ফিরে আসতে Alt+ টাইপ Lকরুন।

এটির জন্য কোনও রিমপিং বা ভিআইএম কনফিগার পরিবর্তন দরকার হয় না। এটি কাজ করে কারণ বেশিরভাগ টার্মিনাল এমুলেটর Alt+ তার পরে KEYপ্রেরণ Escকরে KEY( Xterm*metaSendsEscape: trueএক্সটারেমে আপনাকে আপনার ~ / .Xdeafults ফাইলে একটি লাইন যুক্ত করতে হতে পারে )। - এগুলি যাতে আচরণ আপনি এমনকি অন্যান্য সন্নিবেশ মোড সমন্বয় যে অধিকার বক্স কাজ "তৈরি" করার অনুমতি দেয় Alt+ + Sথেকে Backspace

যাইহোক, আপনি স্রেফ লিখেছেন এমন চরিত্রের উপরে কার্সার থাকা খুব অসুবিধে হতে পারে। উদাহরণস্বরূপ, Escdwআপনি সন্নিবেশ করা পাঠ্যটি অনুসরণ করে শব্দটি মুছবেন না।


আপনি যে অসুবিধাটি উল্লেখ করেছেন তা পালানোর আগে সর্বদা alwaysোকানো মোডে একটি স্পেস টাইপ করে এড়ানো যেতে পারে। তারপরে সন্নিবেশ মোডটি রেখে কার্সারটি স্থানের উপরে রেখে দেওয়া হবে এবং আপনি Esc d eশব্দটি সামনে মুছতে টাইপ করতে পারেন । আমি ডিফল্ট আচরণে ফিরে এসেছি কারণ আমি অনুভব করেছি যে এটি ইতিমধ্যে আমার মাথায় এনকোড করা অন্যান্য আচরণগুলি পরিবর্তিত হয়েছে।
mljrg

4

এখানে আমার সমাধান।

এটি সম্পর্কে উইকিয়া পৃষ্ঠায় প্রদত্ত সমাধানটির আরও সংক্ষিপ্ত সংস্করণ ।

au InsertLeave * call cursor([getpos('.')[1], getpos('.')[2]+1])

উইকি পৃষ্ঠাটি উদ্ধৃত করার জন্য এখানে +1 এছাড়াও, যদিও ব্যবহারকারী প্রকৃতপক্ষে এই আচরণটি পরিবর্তনের জন্য কোনও উপায় জিজ্ঞাসা করেননি।
কাইল স্ট্র্যান্ড

আপনি লক্ষ্য করুন যে আপনি যদি ভিমে এতদূর সন্ধান করেন যে অনেক প্লাগইন ডিফল্ট (কিছুটা অপ্রচলিত) আচরণের উপর নির্ভর করে, তাই যদি আপনি কিছু জিনিস এলোমেলোভাবে খান বা একক অক্ষরকে ম্যাঙ্গেল দেখেন তবে এর কারণ হতে পারে। আমি এই অটোকমন্ড নিজেই ব্যবহার করি না; যদিও এটি ভাল কাজ করে।
স্টিভেন লু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.