ইমাকসের কোডের কোন অংশটি "লাইন-নম্বর-মোডে" মুদ্রণ করে? "দীর্ঘ" রেখার সাথে বাফারগুলিতে লাইন নম্বর হিসাবে?


21

আমি line-number-modeআমার মডেলিনে বর্তমান লাইনটির একটি সূচক রাখতে ব্যবহার করছি , তবে বড় ফাইলগুলি বা বরং দীর্ঘ লাইনযুক্ত ফাইলগুলির জন্য এটি একটি লাইন সংখ্যার পরিবর্তে দুটি প্রশ্ন চিহ্ন প্রদর্শন শুরু করে। আমি কিছুটা খনন করে দেখেছি যে line-number-modeসংজ্ঞায়িত করার সময় simple.el, কাস্টমাইজেবল ভেরিয়েবলগুলি (এবং সম্ভবত সমস্ত যুক্তির সাথে জড়িত) এর মধ্যে সংজ্ঞা দেওয়া হয়েছে xdisp.c। পরিবর্তনশীলকে line-number-display-widthএকটি নির্বিচারে উচ্চ সংখ্যায় পরিবর্তন করা এটির সমাধান করতে পারে তবে কোডের টুকরো এবং যুক্তি সম্পর্কে এটি আরও বেশি আগ্রহী যা এটি দুটি প্রশ্ন চিহ্ন মুদ্রণ করে। এটি আপনার পক্ষে যদি কেউ আমার জন্য খুঁজে পেতে পারে তবে এটি খুব কার্যকর হবে, এমনকি এর পিছনে যুক্তিটিও ব্যাখ্যা করতে পারেন।


2
M-: (format-mode-line "%l")প্রশ্ন চিহ্নগুলিও কি দেখায়?
লুনারিওর

হ্যাঁ, এটি আমাকে "??" দেয় মূল্যায়ন ফলাফল হিসাবে।
wasamasa

1
ঠিক আছে, এর সংজ্ঞাটি একবার দেখুন format-mode-line
চন্দ্রালগ্ন

উত্তর:


25

@ Lunaryorn এর পরামর্শের জন্য ধন্যবাদ আমি এর ফলে কোডের টুকরোটি সনাক্ত করতে সক্ষম হয়েছি। দেখে মনে হচ্ছে format-mode-lineঅবশেষে কলগুলিকে decode_mode_specমানগুলিতে রূপান্তর করা কোডগুলি রূপান্তর করতে। %lএই ফাংশনটির ক্ষেত্রে খুব বেশি সময় গণনা করা এড়ানোর জন্য কয়েকটি বিচক্ষণতা পরীক্ষা করে, তারপরে বর্তমান লাইনটি অতিক্রম করছে কিনা তা পরীক্ষা করে দেখুন line-number-display-limit-width। যেহেতু আমার ফাইলটির ক্ষেত্রে এটিই প্রশ্নযুক্ত, এটি একটি no_valueলেবেলে লাফিয়ে যায় যা ??মান হিসাবে একটি প্যাড দেয় ।

"সলভিং" এর মধ্যে পর্যাপ্ত উচ্চমূল্যে ভেরিয়েবল সেট করা জড়িত:

(setq line-number-display-limit-width 2000000)

এই মানটি সম্পর্কিত হিউরিস্টিকগুলি দেখে উদ্ভূত হয়েছিল xdisp.cযা উইন্ডোটির উচ্চতা দ্বিগুণ দুটি ত্রিশটি নেয় এবং এটির সাথে বহুগুণ বৃদ্ধি করে line-number-display-limit-width, most-positive-fixnum32 বিট সিস্টেমে উপচে পড়া এড়াতে 2000000 এর মান একটি নিরাপদ বাজি হতে পারে।


2
দুটি অনুরূপ প্রশ্ন রাখার পরিবর্তে, অন্য প্রশ্নটিকে নকল হিসাবে বন্ধ করা উচিত এবং পরিবর্তে এই উত্তরটি আপডেট করা উচিত?
দক্ষ মোদী

@কৈশালমোদি: হয়ে গেল!
wasamasa

2
অস্থায়ী পরিবর্তনের জন্য:M-x set-variable <RET> line-number-display-limit-width <RET> 2000000 <RET>
এপিমনামস

আমি মনে করি কম্পিউটারগুলি যখন খুব ধীর ছিল তখন এই জ্ঞানটি ফিরে আসবে back আমি কয়েক দশক ধরে আমার init ফাইলে এটি একটি উচ্চ মানের সেট করে রেখেছি।
জিম বাল্টার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.