এনবিএসপিকে স্বয়ংক্রিয়ভাবে সাধারণ জায়গায় রূপান্তর করতে আমি কি বাশ / পঠনলাইনটি কনফিগার করতে পারি?


10

আমি ফিনিশ কীবোর্ড লেআউট যা মানচিত্র ব্যবহার করছি AltGr+ + Spaceঅ অবিচ্ছিন্ন স্থান (nbsp, U- + + 00A0) এর। আমি এটিতে সাধারণভাবে খুশি তবে আমি দেখতে পেয়েছি যে আমি প্রায়শই দুর্ঘটনাক্রমে বাশ কমান্ড লাইন ব্যবহার করার সময় পাইপ |চিহ্নের (" ফিনিশ কীবোর্ড লেআউটে AltGr+ <সহ লেখা ) পরে স্বাভাবিক স্থানের পরিবর্তে এনবিএসপি লিখি । আমি অনুমান করি যে AltGrপাইপটি টাইপ করার সময় আমাকে ধরে রাখতে হবে এবং স্পেসে আঘাত করার আগে এটি ছেড়ে দিতে হবে by আর যখন প্রকাশের খারাপ সময় আমার কাছে আসে তখন আমি AltGrকমান্ড লাইনে অদৃশ্য টাইপ এবং ত্রুটি বার্তাগুলির সাথে শেষ করি as

 grep: command not found

দেখতে দেখতে অনেকটা মিল রয়েছে

grep: command not found

যা প্রথমবারের দিকে লক্ষ্য করা এই বিষয়টিকে কিছুটা শক্ত করে তোলে।

আমি জানি যে আমি এনবিএসপি অক্ষম করতে পারি তবে আমি কেবল পাইপ চরিত্রের পরে এটি অক্ষম করা ( নিয়মিত স্পেস উত্পাদন করতে AltGr+ Spaceথাকতে) পছন্দ করি বা এটি যদি সম্ভব না হয় তবে সর্বদা বাশ কমান্ড লাইন বা readlineস্তরে থাকি । বাশের সোর্স কোড , readlineবা আমার টার্মিনাল এমুলেটরটি পরিবর্তন না করে এটি করার কোনও সহজ উপায় আছেgnome-terminal ?

আর একটি ভাল সমাধান হ'ল এনবিএসপিকে কমান্ড লাইনে একরকম দৃশ্যমান হওয়ার জন্য কনফিগার করা, উদাহরণস্বরূপ কেবল রেন্ডারিংয়ের জন্য অন্য অক্ষর (ইউ + 2423 বলুন ) দিয়ে প্রতিস্থাপন করা হয়েছে ।


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

@ মিক্কো রন্তালাইনেন আপনি কি আরও পরিষ্কারভাবে মিস করছেন তা ব্যাখ্যা করতে পারেন? যেহেতু আপনি চরিত্রের মানচিত্রের পথ খুঁজে পেয়েছেন, তাই কেন " ":␣পর্যাপ্ত নয় ? আপনার আর কি দরকার?
টেরডন

@ ডিজিটর আমি এমন একটি বৈশিষ্ট্য রাখতে পছন্দ করব যেখানে আমি কমান্ড লাইনে এনবিএসপি লিখতে পারি এবং পেতে পারি echo a␣bতবে ফলাফল আউটপুটটি আউটপুটে echo a bআসল এনবিএসপি সহ ছিল with যেমনটি আমি মনে করি এটি অবশ্যই পাঠ্যরেখার স্তরে সম্পন্ন করা উচিত (এটি হ'ল কমান্ড লাইন সম্পাদক সর্বদা দৃশ্যমান অক্ষর প্রদর্শন করে তবে টার্মিনাল এমুলেটরটি সম্পাদকের প্রদর্শন এবং আউটপুট প্রদর্শনের মধ্যে পার্থক্য জানতে পারে না এবং তাই টার্মিনাল এমুলেটর রেন্ডারিংয়ের জন্য ভিজ্যুয়াল প্রতিস্থাপন করতে পারে না )।
মিক্কো রেন্টালাইনেন

1
রিডলাইন স্তরে এটি সমাধান করা সত্যিই দুর্দান্ত তবে টার্মিনালে ভিএম / ইম্যাকস / ইত্যাদিতে শেল স্ক্রিপ্ট লেখার সময় আপনি একই সমস্যাটি হিট করতে পারেন। জিনোম-টার্মিনালের জন্য স্ট্রিং ম্যাচগুলি হাইলাইট করার জন্য সম্ভবত একক এনবিএসপি অক্ষর সহ কনসেপ্ট প্যাচের কার্যকরী প্রমাণের জন্য বুগজিলা.গনোম.অর্গ.শো_বুগ.সি.আইডি=788673 দেখুন । (হ্যাঁ আমি জানি আপনি বলেছিলেন যে আপনি কোনও উত্স কোড পরিবর্তন করতে চান না ...)
উদাহরণস্বরূপ

1
অন্য পদ্ধতির হ'ল এটি হ'ল ফন্টের স্তরে, একটি বিশেষ ফন্টের মাধ্যমে যেখানে কিছু ফন্টকনফিগ কনফিগারেশন সহ এনবিএসপি-র গ্লাইফ খালি নয় via এটি কেবল টার্মিনাল নয়, গ্রাফিকাল সম্পাদকগুলির জন্যও কাজ করবে। তবুও অন্য পদ্ধতিটি হ'ল নিয়মিত স্থান নির্গত করার জন্য কীবোর্ড বিন্যাসটি সংশোধন করা এবং বিরল ক্ষেত্রে এনবিএসপিতে প্রবেশ করার জন্য অন্য কিছু পদ্ধতি ব্যবহার করা যখন আপনার প্রয়োজন হয়।
egmont

উত্তর:


9

এটি readlineস্তর দুটি ভিন্ন উপায়ে করা যেতে পারে ।

পদ্ধতি 1

নিম্নলিখিত রূপে রাখুন .inputrc(এর জন্য কনফিগারেশন ফাইল readline):

# include default system config because ~/.inputrc overrides system config
$include /etc/inputrc
# map NBSP to regular space (left part has NBSP in quotes, right part has space)
" ":" "

যদি মার্কডাউন উপরের অংশে গোলযোগ করে থাকে, আপনাকে মন্তব্যে বর্ণিত হিসাবে কোলনের বাম দিকে NBSP লাগাতে হবে to এটি নিয়মিত স্থান সহ ইনপুট স্ট্রিমে এনবিএসপির যে কোনও ঘটনার মানচিত্র তৈরি করবে।

পদ্ধতি 2

নিম্নলিখিত রাখুন .inputrc:

# include default system config because ~/.inputrc overrides system config
$include /etc/inputrc
# map "pipe + NBSP" to "pipe + regular space" (left part has NBSP in quotes)
"| ":"| "
set keyseq-timeout 250

ভাবনাটি হ'ল মূল সিকোয়েন্স {পাইপটি NBSP- এর পরে {পাইপ পরে স্থান space আপনি 250 এমএসের মধ্যে ক্রমটি টাইপ করলে (উপরে কনফিগারযোগ্য) এটি কাজ করে। তবে সময়সীমা শেষ না হওয়া পর্যন্ত একা পাইপ প্রতীক টাইপ করলে কিছুই আউটপুট পাবে না। এবং আপনি যদি ক্রমটি খুব ধীরে টাইপ করেন তবে ঠিক করা হবে না। এছাড়াও নোট করুন যে টাইমআউটটি বিশ্বব্যাপী তাই আপনি যদি অন্য কোনও সিকোয়েন্স ব্যবহার করতে চান তবে আপনাকে দীর্ঘতম ক্রম টাইপ করতে সক্ষম হতে যথেষ্ট সময়সীমা নির্ধারণ করতে হবে। (পঠন পাঠাগারটি অক্ষর টাইপ করার অনুমতি দেওয়ার জন্য যথেষ্ট চালাক নয় এবং পরে অক্ষরের ক্রমটি কনফিগারেশনের সাথে মিলে যাওয়ার পরে ইতিমধ্যে দৃশ্যমান অক্ষরগুলি প্রতিস্থাপন করবে))


0

এই সমস্যাটির সাথে মোকাবিলা করার জন্য একটি দুর্দান্ত নিবন্ধ রয়েছে:

আমি grepত্রুটি বার্তাগুলির মাধ্যমে প্রাথমিক উদ্বেগকে সমাধান করার চেষ্টা করেছি এবং execকমান্ডটি ব্যবহার করে আরও কিছু দৃশ্যমান এনবিএসপিকে পরিবর্তন করছি । প্যাট ডাউন ডাউন প্যাট আমি এখনও পাইনি যদিও:

exec 2> >(tr $'\xa0' $'\x43' >&2) 

ধারণাটি হ'ল এই আদেশটি ~/.bashrcযাতে এটি gnome-terminalখোলার সাথে স্বয়ংক্রিয়ভাবে লোড হয় । তবে আমি যেমন বলেছি এটি এখনও কাজ করছে না ...


1
এটি কেবল ত্রুটি বার্তাগুলি নিয়ে কাজ করবে। আমি সম্পাদনা করছি যখন কমান্ড লাইন কারণ আমি ভালো কিছু লেখার করা যেতে পারে সমস্যা ধরা পছন্দ করেন perl -i -npe 's/MARKER/4 KB/'এবং আমি ঘটনাক্রমে মধ্যে একটি nbsp চিলতা 4এবং K। ওহো, সমস্যাটি কোনও ফাইলে সঞ্চিত হয়ে যায় তবে আমি কোনও ত্রুটি পাই না এবং আমার লেখা কমান্ড লাইনটি নিখুঁত দেখাচ্ছে।
মিক্কো রেন্টালাইনেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.