উইন্ডোজ শেল এস্কেপ কী (সম্পূর্ণ লাইন মুছুন) বাশের সমতুল্য


13

উইন্ডোজ কমান্ড লাইনে (পাওয়ারশেল এবং সেন্টিমিডি), যখন আপনি Escএকটি লাইনে থাকাকালীন কী টিপেন , প্রম্পটে আপনি যা টাইপ করেছেন তা সরিয়ে ফেলা হবে।

আমি দেখতে পেয়েছি যে Escব্যাশ প্রম্পটে কী টিপলে কিছুই হয় না। টিপুন Escএবং তারপরে backspaceএকটি শব্দ মুছে ফেলা হয় তবে প্রতিটি শব্দের জন্য এটি করা দরকার।

আমি বাশকে বর্ধিতভাবে শিখছি এবং মাঝে মাঝে লাইনের মাঝখানে বোকা কিছু টাইপ করি এবং মনে করি যে আবার স্ক্র্যাচ থেকে টাইপ করা ভাল better এটি করার জন্য, টিপাই backspaceএখন পর্যন্ত আমি খুঁজে পেলাম way

আপনি কি করেন?

আমি clearকমান্ড এবং Ctrl-Lশর্টকাট সম্পর্কে সচেতন , কিন্তু আমি পুরো টার্মিনালটি সাফ করার বিষয়ে কথা বলছি না। শুধু লাইন।


1
কিছুক্ষণ আগে আমি সুপারুজারে দরকারী রিডলাইন কীবোর্ড শর্টকাটের একটি তালিকা পোস্ট করেছি । আপনি সেগুলিও দরকারী মনে করতে পারেন। (রিডলাইন হ'ল লাইব্রেরি যা ব্যাশ লাইন-সম্পাদনার জন্য ব্যবহার করে))
jw013

আরে jw013, একটি সুন্দর সম্পাদনার জন্য আপনাকে ধন্যবাদ। :-)
অনিমেষ

উত্তর:


15

আপনি চান kill-whole-line, তবে এটি ব্যাশ-এ ডিফল্টরূপে আবদ্ধ নয়। backward-kill-line( CtrlX Backspace) এবং unix-line-discard( CtrlU) উভয়ই বর্তমান পয়েন্ট থেকে শুরু করে লাইনের শুরু পর্যন্ত মুছে ফেলুন, সুতরাং কেবল রেখার শেষ প্রান্তে যান এবং যে কোনওটি ব্যবহার করুন।


আপনি সঠিক, এটি কোনও কিছুর কাছে আবদ্ধ নয়। আমি সবেমাত্র এটি ব্যবহার করে খুঁজে পেয়েছি bind -P। আমি অনুমান করি Ctrl-Uএবং তারপরে তখন Ctrl-Yএকমাত্র বিকল্প।
অনিমেষ

আপনি দেখতে পাবেন যে ডিফল্ট বাইন্ডিংগুলির বেশ কয়েকটি ইমাসাস সম্পাদকের মূল সিকোয়েন্সগুলি থেকে উদ্ভূত হয় এবং সেগুলি বাইন্ডিংগুলি অন্য কোথাও প্রদর্শিত হয়।
blrfl

@Blrfl আপনার মন্তব্য প্রসারিত করার জন্য, এই কী-বাইন্ডিং সবচেয়ে মধ্যে আনমনা হয়েছে readline গ্রন্থাগার, যা সংখ্যক কমান্ড প্রোগ্রাম ব্যবহার এবং যার কারণে তারা সব অনুরূপ লাইন সম্পাদনা চাবি আছে।
jw013


6

Ctrl+aলাইনের শুরুতে যায় এবং লাইনের Ctrl+kশেষে মুছে দেয়


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

3

Ignacio Vazquez-Abrams এর উত্তরটি কিছুটা প্রসারিত করতে , নীচের কমান্ডটি দিয়ে Escবাঁধাই দিয়ে kill-whole-lineআপনি প্রায় (প্রায়) উইন্ডোজ-জাতীয় আচরণটি বাশ- এর কী থেকে পেতে পারেনEsc

bind '"\e":kill-whole-line'

আপনি যদি আপনার ~/.inputrcফাইলে লাইনটি যুক্ত করেন তবে সেশনগুলির মধ্যে বাইন্ডিংটি বহাল থাকবে।

তবে দ্রষ্টব্য যে এটি খুব অ-মানক, কারণ বাশ আসলে Escকীটিকে অন্য পরিবর্তনকারী কী হিসাবে ব্যবহার করে (অবিরাম অল্ট বা সিটিআরএল)। আপনি যদি বিদ্যমান কী বাইন্ডিংগুলির তালিকাটি (এর সাথে bind -P) দেখেন তবে আপনি সম্ভবত "\ ই" দিয়ে শুরু হওয়া কী-সংমিশ্রণে আবদ্ধ কয়েকটি কমান্ড দেখতে পাবেন (উদাঃ)

"\eb": backward-word

কার্সারটিকে সর্বাধিক সাম্প্রতিক শব্দ-শুরুর দিকে ফিরিয়ে আনতে Esc+ সংমিশ্রণ সেট আপ করে B- বরং Ctrl+ পছন্দ করা বাদে আপনি যদি একাধিকবার একাধিক বার করতে চান তবে আপনাকে মুক্তি দিতে হবে Esc(পাশাপাশি Bঅবশ্যই) )।

এবং এটি ব্যাখ্যা করে কেন আমি বলেছিলাম যে আপনি যে আচরণটি পান তা প্রায় উইন্ডোজ-মত: আপনি যখন চাপবেন Esc, তখন বাশ চেক করে দেখুন যে আপনি এটি অন্য কী এর সাথে মিশ্রণে ব্যবহার করছেন কিনা; সুতরাং, আপনি যদি এটির সাথে আবদ্ধ হন kill-whole-line, Escআপনার জন্য লাইন সাফ করার জন্য (বা বরং মুক্তি দেওয়া) বাশ দেওয়ার মধ্যে কিছুটা বিলম্ব হবে ।

তবে, যদি আপনি সেগুলির কোনওটির প্রতি যত্নশীল না হন এবং নিজেকে আলাদা কী-স্ট্রোকে পুনরায় প্রশিক্ষণের চেয়ে বিলম্বের সাথে বাঁচেন, এটি করা যেতে পারে।

(দ্রষ্টব্য: এখানে বেশিরভাগ তথ্য পড়ার ফলে - এবং এই উত্তরগুলিতে লিঙ্কগুলি অনুসরণ করার ফলে পেয়েছি ))


1
এটি খুব সহায়ক ছিল, ধন্যবাদ, এবং বিজ্ঞাপন হিসাবে কম-বেশি কাজ করে। তবে অন্য কমান্ডগুলি "অবৈধভাবে" কার্যকর করা হলে এটি কিছু বিরক্তিকর আচরণের মতো দেখতে পেলাম, যেমন একটি লাইনের শেষে যখন ডিল চাপায়: এটি লাইনটি সাফ করবে এবং এটিকে [19;বা অনুরূপ দেখানোর মতো এস্কেপ কোডের সাথে প্রতিস্থাপন করবে । শেষ পর্যন্ত আমি ম্যাপিং পাওয়া "\e\e"থেকে kill-whole-line(অর্থাত, আলতো চাপুন Esc চাপুন দুইবার লাইন পরিষ্কার) একটা চমৎকার আপস।
j_random_hacker

@ জেআর্যান্ডম_হ্যাকার: হুম, আমি এটি পছন্দ করি। আমি প্রায়শই Escযেহেতু কয়েকবার আঘাত করি , তাই আমি এটি চেষ্টা করতে পারি। আমি বর্তমানে এটি আবদ্ধ আছে Ctrl+ + Delকিন্তু আমি যে মনে করেন না।
উইলসন এফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.