কোঁকড়া ধনুর্বন্ধনী খোলার আগে আমি কীভাবে ঘটনাক্রমে কোনও বিরতি জায়গা তৈরি করব?


20

আমি সচেতন এটি একটি আশ্চর্যজনক প্রশ্ন এবং এটি পোস্ট করার পক্ষে এটি সঠিক ফোরামও নাও হতে পারে। তবে বেশ কয়েক বছর ধরে এটি একটি সমস্যা।

সময়ে সময়ে, আসুন মাসে একবার বলে নেওয়া যাক, আমি যখন প্রোগ্রাম করি তখন আমি কোঁকড়ানো বন্ধনীটি খোলার আগে একটি নিয়মিত জায়গার পরিবর্তে একটি নো-ব্রেক স্থানটি প্রবর্তন করি ।

আমি যখন লিখছি তখন এটি বলা যাক () {

এটি রহস্যজনক লিঙ্ক বাগগুলি বাড়ে। সিএসএসের ধারাগুলি প্রযোজ্য নয়। যতক্ষণ না আমি মনে করি এটি এটি হতে পারে।

যতদূর আমি সচেতন, এটি কেবলমাত্র ভিএম-তে ঘটে থাকে, তবে এটি আমার প্রধান সম্পাদক হিসাবে এটি অন্য সফ্টওয়্যারটিতে কখনও ঘটেনি। তারা আমার মতো একই কীবোর্ড লেআউটটি ব্যবহার করার পরেও আমার শেষ কাজের ক্ষেত্রে আমার সহকর্মীদের কোনওটিরই কখনও সমস্যা হয়নি। আমি নিয়মিত যদিও ভিএম ব্যবহার করি তবে আমি এখানে পোস্ট করার কারণেই ...

এটি আমার কমপক্ষে উবুন্টু 14.04, 16.04, এবং ম্যাক ওএস এক্সে হয়েছিল।

:set list এটি প্রকাশ করে না

আমি একটি ফরাসী-কানাডিয়ান কীবোর্ড লেআউট ব্যবহার করছি, যার অর্থ বন্ধনী অক্ষরটি Alt + ing টিপে সম্পন্ন হয় `

আমি এই সমস্যা তৈরির কারণে খুব ক্লান্ত, এটি খুব কমই আমি এটিকে ভুলে যেতে থাকি।

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


মাইকেলের পরামর্শ অনুসারে আপনি আপনার কী-বাইন্ডিংগুলি পরিবর্তন করতে পারেন: superuser.com/a/142573
ব্যবহারকারী 12125

এর মতো ক্র্যাপ করায় আমি অবশেষে আমার লেআউটটি স্থায়ীভাবে সুইডিশ থেকে আমেরিকানটিতে স্যুইচ করেছি। আমি আমাদের মজার å, ä এবং ö অক্ষরগুলি টাইপ করার চেয়ে সম্ভবত ইংরেজী + সি + পার্ল + বাশ + ভিম টাইপ করতে বেশি সময় ব্যয় করি। এগুলি সহজেই একটি রচনা কী ব্যবহার করে উত্পাদিত হয়।
পাইপ 16

উত্তর:


24

অন্যরা ইতিমধ্যে কর্মক্ষেত্র সরবরাহ করেছে, তবে এটি হওয়ার কারণ হিসাবে, আমি বাজি ধরছি যে আপনি দুর্ঘটনাক্রমে Alt+ টিপছেন Space

আমি নিজেই 105-কী ফিনিশ কীবোর্ড লেআউটটি সহ জুবুন্টু ব্যবহার করছি, সুতরাং আমার কাছে টাইপিংয়ের {অর্থ AltGr+ টিপুন 7। আমি শুধু xfce4-টার্মিনালে একটি দ্রুত পরীক্ষা (ব্যাশ কমান্ড লাইন দিকে) করেছেন, এবং টিপে AltGr+ + Spaceপ্রকৃতপক্ষে একটি বিরতিহীন স্পেস (ইউ + + 00A0) উৎপন্ন হয়।

আমি বাজি ধরছি যা হচ্ছে তা হ'ল আপনি Altবন্ধনীটি টাইপ করার প্রত্যাশায় কীটি টিপছেন এবং কখনও কখনও স্পেস বারটি চাপার আগে একটি বিরতিহীন স্থান তৈরি করার আগে এমনটি ঘটে । আর যেহেতু এটা দেখে মনে হচ্ছে একটি স্বাভাবিক স্থান অভিন্ন, আপনি বুঝতে পারছি না এটা, এবং এইভাবে এছাড়াও কঠিন ভুলিয়া যাত্তয়া যে অভ্যাস করার আগে কিছু রহস্যজনকভাবে বিরতি ঘটেছে এটি হার্ড উপার্জন আপনি এটা ঘটছে লক্ষ্য করা জন্য।


ওহ, আমি তাই আগামীকাল কাজের চেষ্টা করে যাচ্ছি। আমি আমার কোঁকড়া ধনুর্বন্ধকের সামনে সর্বদা একটি জায়গা রাখি, এটি বুঝে উঠতে চাই যে আমি সময়ে সময়ে শিফট কীতে আঙুলটি রাখতাম!
সারুমানাটি

2
@ সরুমান্তি: লিনাক্সে আপনি সত্যই এনএসপিএস অক্ষর পুরোপুরি অক্ষম করতে পারেন। সম্ভবত উবুন্টুর কীবোর্ড ম্যানেজারের কাছে এটির জন্য একটি বিকল্প রয়েছে। যদি তা না হয় তবে আপনি /usr/share/X11/xkb/symbols/usনিজেরাই কীবোর্ডের মানচিত্রটি টিউন করতে পারেন (এটি একটি লাইন মুছে ফেলার বিষয়, আমার সিস্টেমে কী ম্যাপটি হবে ) ফিনেটুনিং কল করার পরে setxkbmap usবা আপনার পছন্দের যে কোনও ভাষা
আনসারসন 2325680

@ প্রোগো ইয়েস আমি এই মুহুর্তে ম্যাকোসে আছি এবং কীবোর্ডারটি আমার কীবোর্ডের সবচেয়ে নীচে-বাম ডিফল্টরূপে "এফএন" রয়েছে বলে সূক্ষ্ম-সুর করতে কারাবিনার ব্যবহার করুন, যা আমি বিশ্বাস করি যে এটি সম্পূর্ণ বোবা। আপনি আমাকে সেখানে যাবার জন্য অনুপ্রেরণা দিয়েছিলেন, এবং সমস্ত
অবিচ্ছেদী

এবং এই বিকল্পটি @ ইলমারি করোনেনের পরামর্শকে নিশ্চিত করেছে, কারণ যে কারবাইনার বিকল্পটি এনএসপি: বিকল্প + স্থান এবং বিকল্প + শিফট + স্থান তৈরি করতে আদেশগুলি প্রদর্শন করে। এটি সক্রিয় দেখা গেলেও, এটি শেষ পর্যন্ত সত্যিকার অর্থেই vim- সম্পর্কিত ছিল না!
সরুমান্টি

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

19

আপনি একটি অটোকমেন্ড যুক্ত করতে পারেন যা নির্দিষ্ট ফাইলের প্রকারের সংরক্ষণের পরে নিয়মিতভাবে অ-ব্রেকিং স্পেস প্রতিস্থাপন করে eg আপনার ভিএমআরসি-তে এরকম কিছু রেখে:

augroup RemoveSpaces
  autocmd!
  autocmd BufWritePre *.css silent! :%s/\%u00A0/ /g
augroup end

আপনি আরও ফাইলের প্রকার যুক্ত করে বা একটি চিহ্ন সেট করে এবং প্রতিস্থাপনের ক্রিয়াকলাপের পরে এটিতে ফিরে এসে এটি পরিবর্তন করতে পারেন অন্যথায় আপনাকে সর্বশেষ লাইনের শুরুতে প্রবর্তন করা হবে যেখানে প্রতিস্থাপন করা হয়েছে।


ওহ, বেশ চালাক। সত্যিই যে প্রায়ই ঘটে না এমন জায়গাগুলি চালিত হওয়ার বিষয়ে আমার আপত্তি নেই এবং এটি ডিবাগিংয়ের সময় ব্যয় করার চেয়ে বিরক্তিকর!
সরুমানতি

13

'listchars'বিকল্প একটি উপায় করতে উপলব্ধ 'list'প্রদর্শন অ অবিচ্ছিন্ন স্পেস। এটি ডিফল্ট হিসাবে সেট করা নেই, তাই আপনি সম্ভবত এটি যুক্ত করতে চান।

set listchars+=nbsp:‗

এটা আসলে সাহায্য করে। আমি মনে করি যে আমি কীভাবে টাইপ করছি
এনএসএসপি চরটি

2
@ সরুমানতি আপনি যদি নিজের লাইনে লাইন যুক্ত করেন তবে vimrcবাস্তবে, টাইপ করার সময় সেগুলি হাইলাইট করুন।
টাম্বল 41

1

হ্যাঁ, এটি সম্ভবত Alt + স্থান, আমি যখন পাইপ অপারেটরটি ব্যবহার করি তখন আমার সাথে অনেক কিছু ঘটে:

cat xyz.txt | grep abc

আপনি যদি Alt-key টি খুব দীর্ঘ ধরে রাখেন তবে এটি পাইপের পরে নন ব্রেকিং স্পেস তৈরি করবে এবং বাশ একটি "গ্রেপ" কমান্ড সন্ধান করার চেষ্টা করবে এবং তারপরে আপনাকে বলবে যে গ্রেপ পাওয়া যায় নি ..

ম্যাকোজে কী-ম্যাপটি পরিবর্তন করার কিছু কৌশল ছিল, সুতরাং আপনি যখনই কোনও ব্রেক-ব্রেক না করে inোকাবেন ততবারই এটি নিয়মিত পরিবর্তিত / প্রতিস্থাপিত হবে। যতদূর আমার মনে আছে, কী-ম্যাপটি পুরো কীবোর্ডের জন্য পরিবর্তিত হয়, সুতরাং এটি সমস্ত অ্যাপ্লিকেশনগুলিতে আপনার সমস্যার সমাধান করে।


ভিমের সাথে Alt + স্পেসের কোনও সম্পর্ক নেই । ডিফল্টরূপে (যেমন: কোনও ব্যবহারকারী ম্যাপিং নেই), বেশিরভাগ সিস্টেমে Alt + স্পেসটি কিছুটা পালাতে সক্ষম করে যার মধ্যে একটি Esc থাকে, যা ভিমের মধ্যে সন্নিবেশ মোডে প্রস্থান করবে। এবং এটি একটি বিস্মৃত। আপনার সিস্টেমে কিছু ইনপুট বাস বা ইনপুট ম্যানেজারের ফলশ্রুতিহীন অযোগ্য স্থানটি, ভিম / জিভিম কখনই এটি দেখে না।
গ্রোচমাল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.