Sertোকানো মোড থেকে বেরিয়ে আসার জন্য এসকিটির পরিবর্তে সিটিআরএল + সি ব্যবহার করা কি vi এর কিছু ভাঙবে?


15

Vi ব্যবহার করার সময়, আপনি আরও traditional Ctrlতিহ্যগত Cপরিবর্তে + সহ সন্নিবেশ মোডটি প্রস্থান করতে পারেন Esc। এমন কোনও পরিস্থিতি রয়েছে যেখানে পরবর্তীকালের পরিবর্তে প্রাক্তনদের জন্য ব্যবহার করা অযাচিত হবে? এটি কি সেরা অনুশীলন ছাড়া অন্য কিছু ভেঙে দেয়?


দুর্ঘটনাক্রমে প্রাক্তনটিকে আঘাত করা অনাকাঙ্ক্ষিত, যা আপনাকে ত্রুটির মতো করে Type :quit<Enter> to exit Vimতোলে এবং কীভাবে ফিরে যাবেন তা আমাকে গুগল করে তুলেছিল। হিট করা iআপনাকে সন্নিবেশ মোডে ফিরে আসে।
নওম্যানন

উত্তর:


9

Ctrl-Cএবং সন্নিবেশ মোড সহ বেশিরভাগ মোডে / এ Escএকই নয় । পার্থক্য হ'ল সংক্ষেপণগুলি ট্রিগার করে। আপনার কাছে এটি গুরুত্বপূর্ণ কিনা আপনি বা কোনও প্লাগইন সংক্ষিপ্তসার ব্যবহার করেন কিনা তার উপর নির্ভর করে।vivimEscCtrl-c


নোট করুন এটি ধরে Escনেওয়া আরও নিরাপদ এবং এর মধ্যে একই জিনিসটি বোঝানো Ctrl-Cউচিত নয়vim । এই একই সাইটটির আর একটি উদাহরণ হ'ল ব্লক সন্নিবেশ মোড থেকে বেরিয়ে আসার সময় (অন্তর্ভুক্ত নয় vi)।


জেনে রাখা ভাল, তবে আমার প্রশ্নটি সন্নিবেশ মোড থেকে বেরিয়ে আসার বিষয়ে ছিল।
MDMarra

@ এমডিমারার দোহ, আপনার প্রশ্নটি ভুল করে লিখুন। সন্নিবেশ মোডটি এখনও পৃথক: আপডেট হওয়া উত্তর দেখুন।
jw013

1
এখানে আমার সবচেয়ে গুরুত্বপূর্ণ পার্থক্যটি মোকাবেলা করতে হয়েছে: ভিজ্যুয়াল ব্লক মোডের সাথে মাল্টলাইন সন্নিবেশ এসিসির সাথে নয়, সিসির সাথে নয়।
এনফ্যাসেশন

4

আমি মনে করি আপনি বোঝাতে চেয়েছেন vim, না vi

এটি আসলে কাজ করে vim, যদিও আমি যদি 100% নিশ্চিত না হয়ে আমি এটি ব্যবহার না করতাম তবে আমি কখনই কোনও নন-লিনাক্স অপারেটিং সিস্টেমটিকে স্পর্শ করব না। কারণটি হ'ল অন্য ওএসগুলির নিজস্ব প্রয়োগ রয়েছে vi, যা এটি বাস্তবায়ন করে না এবং আপনি দেখতে পাবেন যে viএই প্ল্যাটফর্মগুলিতে চলার সময় , সিটিআরএল-সিটির নিজস্ব traditionalতিহ্যবাহী আচরণ রয়েছে: প্রক্রিয়াটি বাধাগ্রস্থ করুন এবং আপনার টার্মিনালটিকে একটি অদ্ভুত অবস্থায় রেখে দিন ।


3
আপনি viআজও বিদ্যমান এমন কোনও প্রয়োগকে নির্দেশ করতে পারেন যা পরিচালনা করে না Ctrl-C? আসল পার্থক্যের জন্য আমার উত্তর দেখুন ।
jw013

2

আপনি উল্লেখ করছেন vim, কিছুটা পার্থক্য আছে। CTRL-Cসংক্ষিপ্তসারগুলি পরীক্ষা করে না, এবং এটি InsertLeaveইভেন্টটি ট্রিগার করে না । সুতরাং আপনি বা প্লাগইনগুলি এমন কোনও autocmdবিবৃতি নির্ধারণ করেছে যা নির্ভর করে InsertLeave, সেগুলি ট্রিগার হবে না won't

অফিসিয়াল ডকুমেন্টেশন থেকে http://vimhelp.appspot.com/insert.txt.html :

<Esc> or CTRL-[ End insert or Replace mode, go back to Normal mode.  Finish
                abbreviation.

CTRL-C          Quit insert mode, go back to Normal mode.  Do not check for
                abbreviations.  Does not trigger the InsertLeave autocommand
                event.

আপনার জন্য একটি ম্যাপিং সংজ্ঞায়িত করতে পারেন CTRL-Cযাও <esc>, তাহলে এটি আরম্ভ হবে InsertLeave

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