আমি কীভাবে .inputrc পুনরায় লোড করব?


98

পটভূমি

আমি শুনেছি রিডলাইন মডিউলটি পড়ছে ~/.inputrcএবং বাশ-এর ​​মতো প্রোগ্রামগুলির অধীনে কী-স্ট্রোকের আচরণ এটি পরিবর্তন করে।

প্রশ্ন

আমার টার্মিনাল প্রোগ্রামটি আরম্ভ না করে পরিবর্তিত আচরণ দেখতে সম্পাদনের পরে কীভাবে এটি পুনরায় লোড করতে পারি?


8
পটভূমি (ভুল নয়)
ডেনিস উইলিয়ামসন

3
আমি কমান্ড দিয়ে .inputrc কীভাবে লোড করব তা সন্ধান করতে এখানে এসেছি। superuser.com/q/419670/56544
dfrankow

1
পছন্দ করেছেন টার্মিনালটি শেলের মতো নয়। এরকম exec bashএকটি ব্যাশ সেশনে একটি নতুন ব্যাশ অধিবেশন বর্তমান শেল অধিবেশন প্রতিস্থাপন করবে। xtermএকটি টার্মিনাল।
কুসালানন্দ

1
@ কুসালানন্দ স্পষ্টির জন্য ধন্যবাদ। এটা একটা ভাল সিদ্ধান্ত. আপনি নিজের পূর্ববর্তী এক্সিকিউটেবলকে প্রতিস্থাপন করার সাথে সাথে চলমান> এক্সিকিউটি বাশকে বর্তমান টার্মিনালে নতুন শেল চালাচ্ছেন বলে বর্ণনা করবেন?
ক্যাপ্টেন লেপটন

1
হ্যাঁ, বর্তমান শেল সেশনটি "পুনরায় চালু করার" উপায় নেই। এটি করার এটি একটি উপায়। @ ম্যাক্সেলোস্ট প্রদত্ত সমাধানটি ব্যবহার করা অন্য একটি is
কুসালানন্দ

উত্তর:


82

ডিফল্ট হিসাবে, C-x C-rআবদ্ধ re-read-init-file

ব্যাখ্যার জন্য বাশ রেফারেন্স ম্যানুয়াল দেখুন ।


4
এটি আমার পক্ষে কাজ করে না। আমি .inputrc ফাইলটিতে আলাদা ম্যাপিং চেষ্টা করেছি এবং ভাগ্যও নেই: "X eX \ eR": পুনরায় পড়ুন-আর-ফাইল কোনও পরামর্শ?
ক্যাপ্টেন লেপটন

6
@ ক্যাপ্টেন আসলে, এটি এর মধ্যে মুছে ফেলা কী-স্ট্রোকগুলি পরিষ্কার করে না except যদি আপনি উদাহরণস্বরূপ কিছু যোগ করেন তবে সেগুলি লোড হয়। এগুলির জন্য আপনার একমাত্র সমাধানটি একটি নতুন bash -l(শেল যা লগইন শেলের মতো আচরণ করে) তাজা শুরু করা হয়।
ড্যানিয়েল অঙ্গুলিনির্দেশ

আমি সম্পাদনা /etc/inputrcকরছিলাম তবে আমার প্রায় শূন্য ~/.inputrcছিল যা ব্যবহারটিকে আটকাচ্ছে না /etc/। অপসারণের ~/.inputrcকারণে এটি /etc/inputrcআমার পরিবর্তনগুলি পড়তে এবং সক্রিয় করতে পারে।
মালভাইনাস

1
@ মালভাইনয়াস আমি এর আগে ধরা পড়েছি .. আপনি যদি $include /etc/inputrcশীর্ষে যোগ করেন তবে ~/.inputrcএটি এই সমস্যাটি এড়িয়ে চলে।
mwfearnley

53

আপনি কমান্ড লাইন ব্যবহার করে নতুন এন্ট্রিগুলি পুনরায় লোড করতে পারেন bind -f ~/.inputrc। এটি .inputrc এন্ট্রি লোড করবে will মনে রাখবেন এটি "লোড" নয়, কেবল একটি লোড করে - তাই এটি আপনাকে ইনপুটসিআরসি থেকে সরানো কোনও লাইন পুনরায় সেট করে না।

একটি পরিষ্কার স্লেট থেকে দ্রুত পরীক্ষা করতে, কেবল চালান bashতারপরে সেই নতুন নেস্টেড শেলের ভিতরে কাজ করুন (বা একটি নতুন টার্মিনাল শুরু করুন)।


আমি দেখছি, আমি ভুল হলে আমাকে সংশোধন করুন, যা bind -fকেবলমাত্র একটি ফাইল নাম গ্রহণ করে, এবং কোনও ফাইল নয়, সুতরাং bind -f <(echo 'one line with ~/.inputrc syntax')(বা, তুচ্ছভাবে bind -f <(cat ~/.inputrc)) এর মতো কিছু কাজ করবে না। এটি কিছুটা বিরক্তিকর। আপনি কি জানেন যে এই ক্ষেত্রে আমি কী করতে পারি?
এনরিকো মারিয়া ডি অ্যাঞ্জেলিস


10

.Inputrc এ প্রথমে আপনার বাঁধাই চয়ন করুন এবং re-read-init-fileফাংশনটি আবদ্ধ করার পরে :

set editing-mode vi
"\C-x\C-r": re-read-init-file

টিপুন CTRLএবং x, উভয় মুক্তি, টিপুন CTRLএবং r

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