কমান্ড লাইনে (বাশ এবং zsh) পিছনে থাকা একটি শব্দ আমি কীভাবে মুছতে পারি?


118

কমান্ড লাইনে পিছনে থাকা একটি শব্দকে আমি কীভাবে মুছতে পারি? আমি কয়েকজন সম্পাদককে Ctrl+ ব্যবহার করে শেষ 'শব্দ' মুছে ফেলার জন্য সত্যই অভ্যস্ত Backspaceএবং আমি কমান্ড লাইনেও সেই কার্যকারিতাটি চাই।

আমি এই মুহুর্তে ব্যাশ ব্যবহার করছি এবং যদিও আমি কোনও শব্দের পিছনে ঝাঁপিয়ে পড়তে পারি এবং পরে একটি শব্দ মুছে ফেলতে পারি, আমি বরং এটি দ্রুত-কী হিসাবে বা ইভেন্ট হিসাবে Ctrl+ করব Backspace

কীভাবে এটি সম্পাদন করা যায়?

উত্তর:


169

ctrlwমানক "হত্যার শব্দ" (ওরফে werase)। ctrluপুরো লাইনটি মেরে ফেলে ( kill)।

আপনি এগুলি দিয়ে তাদের পরিবর্তন করতে পারেন stty

-bash-4.2$ stty -a
speed 38400 baud; 24 rows; 80 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
        -echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
        -extproc -xcase
iflags: -istrip icrnl -inlcr -igncr -iuclc ixon -ixoff ixany imaxbel
        -ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -ocrnl -onocr -onlret -olcuc oxtabs -onoeot
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
        eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
        min = 1; quit = ^\; reprint = ^R; start = ^Q; status = <undef>;
        stop = ^S; susp = ^Z; time = 0; werase = ^W;
-bash-4.2$ stty werase ^p
-bash-4.2$ stty kill ^a
-bash-4.2$

নোট করুন যে কাউকে প্রকৃত নিয়ন্ত্রণ অক্ষরটি লাইনে রাখতে হবে না, স্টাটি বোঝে ^এবং তারপরে যে চরিত্রটি আপনি নিয়ন্ত্রণে ফেলবেন তা বোঝে ।

এটি করার পরে, যদি আমি ctrlpএটি হিট করি তবে লাইনটি থেকে একটি শব্দ মুছে যাবে। এবং আমি যদি আঘাত করি তবে ctrlaএটি পুরো লাইনটি মুছে ফেলবে।


ব্যবহার sttyকমান্ড আমি "হত্যা শব্দ" দায়িত্ব অর্পণ করা চেষ্টা Ctrl+BckSpcটাইপ করে stty weraseCtrl-V জন্য Ctrl-ব্যাকস্পেস করে। এটি আর্গুমেন্ট হিসাবে আক্ষরিক Ctrl- ব্যাকস্পেস অক্ষর সন্নিবেশ করায় stty werase। দুর্ভাগ্যক্রমে Ctrl-Backspaceশব্দটি মোছার জন্য এটি টাইপিংয়ের প্রয়োজন হয় না তবে কেবল Backspaceকী দিয়ে কাজ করে । সুতরাং আমি কীভাবে এটি করতে হয় তা জানতে @terdon এর অনুরোধটিকে দ্বিতীয় করতে চাই। ডিফল্টতে পুনরায় সেট weraseকরতে, ব্যবহার করুন stty werase Ctrl-v Ctrl-w
টিমোথি মার্টিন

@ টিমোথিমার্টিন আমি কীভাবে করব সে সম্পর্কে আমি কিছুটা আটকে রয়েছি ctrl-backspace। ব্যাকস্পেসটি সাধারণত হয় হয় ctrl-hবা হিসাবে প্রেরণ করা হয় ctrl-?, ctrl-backspaceএকরকম হবে ctrl-ctrl-backspace। আমি আলাদা কিছু প্রেরণ করা হয়েছে কিনা তা খুঁজে বের করার চেষ্টা করেছি, তবে আপনি টাইপ করার সময় কমপক্ষে কেবল ব্যাকস্পেস প্রেরণ করেন ctrl-backspace
কুর্টম

3
সিটিআরএল + ড শব্দটি কার্যকরভাবে মুছে ফেলে তবে এটি ক্লিপবোর্ডে অনুলিপি করে আপনার সঞ্চয় করা কিছু মুছে ফেলে (বা এটিকে চাপ দিচ্ছেন?)।
এলিজা লিন

1
এসকে - সবেমাত্র কাজ করেছেন :-) - মুছে ফেলুন
রিনি উলার

1
যে ... জীবন পরিবর্তন হয়। আমার .শ্বর
ওয়্যার0000

27

আপনি এটি দিয়ে এটি করতে পারেন CtrlW

আরেকটি বিকল্প হ'ল আপনার নিজস্ব শর্টকাট সেট করা তবে এটি আপনি ব্যবহার করা টার্মিনাল এমুলেটরটির উপর নির্ভর করবে। জন্য xtermএবং rxvtএবং হয়ত অন্যদের এই লাইন যোগ আপনার ~/.inputrc(যদি এটি বিদ্যমান নয় ফাইল তৈরি):

## rxvt, xterm
"\b":backward-kill-word

gnome-terminalএবং তার ওখানকারই আছে বলে মনে হচ্ছে AltBackspaceডিফল্টরূপে কিন্তু দৃশ্যত আপনি প্যাচ প্রয়োজন readline()অর্ডার পেতে CtrlBackspace

আরও দেখুন:


24

Alt+ Backspaceআমার জন্য বাশ এবং zsh এ কাজ করে।


2
এটির সাথে কাজ করে না :(
আর্খ সতীজা

5
উদাহরণস্বরূপ কোনও ইউআরএল মুছে ফেলা এবং Ctrl+Wএটি ব্যবহার করা Alt+Backspaceকোনও শব্দ মুছে ফেলার সময় পুরো URL টি মুছে দেয় এবং কোনও বিশেষ চরিত্রের সন্ধান পেলে এটি মুছে ফেলা বন্ধ করে দেয়।
মেটাফানিয়েল

আর হিসাবে সবসময় আপনি ctrl-yহ্যাঁচকা টান থেকে / পূর্বাবস্থা / আটকানোর।
পাবলো এ

এটি এটি রোগের জন্য সমাধান করে: github.com/fish-
পাস্কালিয়াস

-2

ম্যাক এ, আপনি ব্যবহার করতে পারেন:

Fn+ +Delete


2
এটি কার্সারের সামনে 1 টি অক্ষর
মুছবে

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