Ctrl-w (শব্দ মুছুন) কনফিগার করা কি সম্ভব?


40

সাধারণত, Ctrl+ Wসর্বশেষ সাদা স্থান থেকে মুছে ফেলা হয়।

অতিরিক্ত অক্ষর যেমন ব্যবহার করার জন্য এটি কনফিগার করা সম্ভব /?

সম্পাদনা: আরও পরিষ্কার হতে: আমি এর জন্য কীটি কনফিগার করতে চাই না, মুছে ফেলাও বন্ধ রাখতে চাই /

উদাহরণ:

vim /foo/bar^W
vim /foo/

উত্তর:


29

আমার জন্য যা কাজ করেছে তা ছিল আমার .bashrc- এ নিম্নলিখিত লাইনগুলি যুক্ত করা

stty werase undef
bind '\C-w:unix-filename-rubout'

আপনার অপরিশোধিত রেখা দরকার অন্যথায় বাশ আপনার নতুন বাঁধাই উপেক্ষা করে C-w


3
এটি লক্ষ করা উচিত যে stty werase undefকোনও প্রোগ্রামে আপনাকে
সিডব্লিউ

24

স্ল্যাশ দ্বারা বিস্মৃত শব্দগুলি মুছে ফেলার জন্য আপনার Esc, তারপরে ব্যাকস্পেস ব্যবহার করতে সক্ষম হওয়া উচিত।

এটি আপনার মধ্যে রেখে এটি পরিবর্তন করতে পারেন ash

bind '\C-f:unix-filename-rubout'

এখন Ctrl+f আপনি যা চান তা করতে ব্যবহার করুন ।


1
ধন্যবাদ, এটি যে আদেশটি কাজ করে। Cw কমান্ড ওভাররাইট করার উপায় আছে? যদি আমি এটিতে পরিবর্তন করি C-w:...তবে পরের স্পেসে মুছে ফেলার ডিফল্ট আচরণটি এখনও কিক্সড।
SkaveRat 16'12

আমি মনে করি না সিটিটিএল-ডাবল একা শেল দ্বারা পরিচালিত হয়েছে। এটি টিটিআই দ্বারা পরিচালিতও হতে পারে। আপনার টিটিটি সেটিংটি কী দেখায় stty -a? আপনি কি werase জন্য ডিফল্ট চর হিসাবে নিয়ন্ত্রণ- w আছে? আপনি যদি সেটিংটি কমেন্টের সাহায্যে টিটিটি থেকে সরিয়ে দেন stty werase undef, তবে কি বাশ প্রত্যাশার মতো কাজ করে?
eppesuig

23

এই নির্দিষ্ট সমস্যাটির জন্য, আপনি এটি ব্যবহার করতে পারেন:

Alt + + Backspace

$ cd /home/me/test/a_dir/    # Alt + Backspace
$ cd /home/me/test/          # Alt + Backspace
$ cd /home/me/               # ...

ভাল রেফারেন্স: বাশের শব্দ মুছা সহ অ্যাডভেঞ্চারস


2
অসাধারণ! বেশিরভাগ অন্যান্য উত্তরগুলি রিবন্ডিং Ctrl+wবা সিটিআরএল + বি বা অন্য কিছু প্রস্তাব দেয় unix-filename-ruboutতবে এটি আরও ভাল যে বিল্ট-ইন বাইন্ডিং রয়েছে: এম-ব্যাকস্পেস (আল্ট + ব্যাকস্পেস বা ইস্ক ব্যাকস্পেস)
কলিন ডি বেনেট

আমার পক্ষে কাজ করেনি
ইথানজিক্স

পছন্দ করুন আমি জিএনইউ বাশ-এ কাজ করছি। আপনি কি এই স্বাদে আছেন?
ফেডোরকিউ

7

বাশের সাহায্যে আপনি নিম্নলিখিতটি আপনার ~ / .bashrc ফাইলে রেখে পছন্দসই প্রভাব পেতে পারেন:

bind '"\C-w":backward-kill-word'

CTRL+Vআপনার টার্মিনাল এমুলেটরের জন্য এটি কেমন দেখাচ্ছে তা দেখার জন্য হিট করুন এবং আপনার কী সংমিশ্রণটি দেখুন। উদাহরণ হিসেবে বলা যায় CTRL+bkspবিভিন্ন টার্মিনাল যেমন বিভিন্ন ব্যাখ্যা করা যেতে পারে ^Hবা ^?^চরিত্র হিসাবে একই CTRL


আমি মনে করি আমি আমার প্রশ্নের সাথে যথেষ্ট নির্দিষ্ট ছিল না। আমি /একটি অতিরিক্ত স্টপ-চরিত্র হিসাবে রাখতে চেয়েছি , অন্য কী-তে মুছা-শব্দ-কমান্ডকে আবদ্ধ করার উপায় নয়। আমি আমার প্রশ্নটি সম্পাদনা করেছি
স্কেবার্যাট

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

আমার সিস্টেম ব্যবহার করে ^F- তবে "\^F"উপরের স্ক্রিপ্টে ব্যবহার করা কাজ করে না
SkaveRat

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