বাশ: কীবোর্ড শর্টকাট দিয়ে লাইন শেষ পর্যন্ত কার্সার থেকে মুছুন


91

নিম্নলিখিত বাশ প্রম্পট বিবেচনা করুন, যেখানে ^প্রম্পট অবস্থান নির্দেশ করে:

$ git commit -am "[bug 123456] Do this and that with the bug"
                               ^

মনে করুন যে আমি আবার একই বাগে প্রতিশ্রুতিবদ্ধ করতে চাইছি, একটি পৃথক প্রতিশ্রুতি বার্তা সহ। কার্সারের অবস্থান থেকে লাইন শেষ পর্যন্ত পাঠ্য মুছার কোনও উপায় আছে?

উত্তর:


145

কার্সার থেকে লাইনের শেষ পর্যন্ত মুছতে Ctrl+ ব্যবহার করুন K

কার্সার থেকে লাইনের শুরু পর্যন্ত মুছতে Ctrl+ ব্যবহার করুন U


কী সংমিশ্রণটি লাগাতে হবে?
শুশশা

@ শুশোশা, শিফট + সন্নিবেশ করানোর চেষ্টা করুন
ব্যবহারকারীর 128285

কে এবং ইউ এর অর্থ কী, আমি পরের সপ্তাহে এইটি মনে করতে পারি না যদি আমি অর্থগুলি না জানি তবে সেগুলি কীভাবে মনে রাখবেন?
workplaylifecycle

2
@ হাইলপো ডান্নো তবে আমার স্মৃতিভঙ্গিটি হল Brexit - the UK leaves Europe- আপনি শুরুতে মুছে ফেলেন এবং কে শেষ পর্যন্ত।
স্নো ক্র্যাশ

47

আপনি নিজের শেলের মধ্যে vi ( set -o vi) বা emacs ( set -o emacs) সম্পাদনা মোড ব্যবহার করছেন কিনা তা নির্ভর করে ।

ডিফল্টরূপে, আপনার শেলটি সাধারণত ইমাস সম্পাদনা মোডে ডিফল্ট হয়।

  • ইমাস মোডে, লাইনের শেষে মুছে ফেলা ctrl- - কমান্ডটি ব্যবহার করে সম্পন্ন করা যায় k

  • তবে, যদি আপনি আপনার কমান্ড শেলটিতে vi সম্পাদনা মোড ব্যবহার করছেন, একই ফলটি টাইপ করে সম্পন্ন করা যায় Esc(যা আপনাকে কমান্ড মোডে রাখবে) এরপরে d- $(আপনি যদি পুরো লাইনটি মুছতে চান তবে প্রবেশ করুন dd)।

আপনি বর্তমানে শেলটিতে কোন সম্পাদনা মোড ব্যবহার করছেন তা সম্পর্কে যদি আপনি অনিশ্চিত থাকেন set -oতবে কমান্ড লাইন থেকে কমান্ডটি প্রবেশ করুন এবং আপনি বর্তমানে কোন সম্পাদনা মোডটি ব্যবহার করছেন তা নির্ধারণ করতে সক্ষম হবেন:

set -o
...snip...
emacs           on
...snip...
vi              off

আপনার কমান্ড-লাইন সম্পাদনা মোড পরিবর্তন করতে, কেবল হয় টাইপ করুন:

set -o vi

অথবা

set -o emacs

4
আপনি যদি স্মৃতিচারণ করতে চান তবে হ'ল Kকিল (কার্সার অবস্থান থেকে শুরু হওয়া লাইন)।
গ্রেগোর বোটেরো

5
ষষ্ঠ কমান্ড মোডে, Dএকই হিসাবে কাজ করেd$
গ্লেন জ্যাকম্যান

3
প্রকৃতপক্ষে সঠিক উত্তর লিখার জন্য এবং শেলওপ্টগুলি এটি পরিবর্তন করতে পারে তা ব্যাখ্যা করার জন্য +1 ।
টিসি 1

1
>> ধন্যবাদ। দেখে মনে হচ্ছে যে আমি vi ব্যবহার করছি তাই CTRL + K কৌশলটি করে। - অ্যাডাম মতান আদম, তারপরে আপনি ইমাস-মোডে রয়েছেন, vi নয়।
ক্যাচ

1
কুবুন্টু একেরিক (কনসোল) এ, সিটিআরএল + কে এবং ইএসসি শিফ্ট + ডি উভয়ই কাজ করে। ESC d কিছু লাইন মুছে ফেলে (সম্ভবত একটি ';' পর্যন্ত)। (একটি টাইপ করা $ এর পরে কেবল কনসোলে প্রেরণ করে)) আমি কীভাবে এটি করব তা বেশ কিছুক্ষণের জন্য বের করার চেষ্টা করছি। ধন্যবাদ!
জো

3

আপনি যদি কেবল জেড এবং বাশের একটির সাথে পরিচিত হন তবে এখানে আপনার প্রয়োজনীয় আবশ্যক কী বাঁধাই করা যেতে পারে:

সজোরে আঘাত

bind '"\C-k"':kill-line

zsh

bindkey "\C-k"      vi-kill-eol

অন্যান্য প্রাসঙ্গিক তথ্য

কী বাইন্ডিংয়ের একটি তালিকা পেতে:

# bash
bind -p

# zsh
bindkey

আমি বিভ্রান্ত বাশের পক্ষে, এটি "^k" কন্ট্রোল + কে এর জন্য হওয়া উচিত নয় ?
wjandrea

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

1
ওহ ঠিক আছে. আমি নিজে এটির সাথে পরিচিত নই, তবে কেবল পরীক্ষা করেছি এবং এটি হওয়া উচিত"\C-k"
wjandrea
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.