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-v Ctrl-Backspace के बादCtrl+BckSpc
टाइप करके असाइन करने का प्रयासstty werase
किया। यह शाब्दिक Ctrl-Backspace चरित्र को तर्क के रूप में सम्मिलित करता हैstty werase
। दुर्भाग्य से यहCtrl-Backspace
शब्द को हटाने के लिए टाइपिंग की आवश्यकता नहीं है , लेकिन सिर्फBackspace
कुंजी के साथ काम करता है । इसलिए मैं यह जानने के लिए @terdon का अनुरोध करना चाहूंगा कि यह कैसे करना है।werase
डिफ़ॉल्ट पर रीसेट करने के लिए, का उपयोग करेंstty werase Ctrl-v Ctrl-w
।