যখন কন্ট্রোল-জি খুব বড় ফাইলগুলিতে কাজ করে না তখন ইম্যাকগুলিকে কীভাবে বাধা দিতে হয়?


16

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


আমি ফন্ট লকিংকে বাধা দেওয়ার কোনও উপায় জানি না, তবে ফন্ট লকিংয়ের গতি বাড়ানোর জন্য এই ইমাস উইকি পৃষ্ঠায় আপনি কিছু ব্যবহারের সন্ধান করতে পারেন ।
অ্যারন মিলার

5
আপনি কি 3 বার পালানোর চেষ্টা করেছিলেন?
yPhil

হ্যাঁ, আমি মনে করি আপনার নিজের ফন্ট-লক কোডটি সম্ভবত এখানে ত্রুটিযুক্ত। font-lock-keywordsসমস্যাটি সনাক্ত করার চেষ্টা করার জন্য আপনার রেজিক্সগুলি সাবধানে পরীক্ষা করুন ।
ড্রিউ

1
ইএমএসিএস: আট মেগাবাইট এবং
ধারাবাহিকভাবে অদলবদল

2
তিনবার পালিয়ে যাওয়া আমার পক্ষে কিছুই করে না।
উইলিয়াম কেএফ

উত্তর:


9

আমি সন্দেহ এটি ফন্ট লক মোড। এটি সম্ভবত দৃশ্যমানগুলির নিকটবর্তী অংশগুলি করে। এটি সম্ভবত মেমরিতে ডেটা অনুলিপি করছে।

sigusr1

sigusr2

এই ইভেন্টগুলি উত্পন্ন হয় যখন ইমাস প্রক্রিয়া সংকেত গ্রহণ করে SIGUSR1এবং SIGUSR2। এগুলিতে কোনও অতিরিক্ত ডেটা নেই কারণ সংকেতগুলি অতিরিক্ত তথ্য বহন করে না। এগুলি ডিবাগিংয়ের জন্য কার্যকর হতে পারে ( ত্রুটি ডিবাগিংটি দেখুন )।

উত্স: জিএনইউ ইমাস লিস্প রেফারেন্স ম্যানুয়াল: বিবিধ ইভেন্টগুলি

আমি জানি না এটি কী করবে (অথবা আপনি যে ইমেক্সের সংস্করণটি চালাচ্ছেন) তবে আপনি সম্ভবত একটি অ-ধ্বংসাত্মক সংকেত (ইউএসআর 1 বা ইউএসআর 2) চেষ্টা করতে পারেন।

$ হত্যা -USR1 PID

অথবা আপনি ঘুমাতে গিয়ে দেখতে পেলেন যে এটি সেরে গেছে।


আমি ভাবছি আপনার মেশিনটি কতটা ব্যস্ত (সিপিইউ এবং ডিস্ক)। এটি আপনাকে কী করছে তা সম্পর্কে আপনাকে কিছুটা বলতে পারে। .. এবং আপনি নিজের যত্ন নিয়ে কাজ করার আগে কী ঘটে তা দেখার জন্য ইম্যাকের আরও একটি অনুলিপি এবং "কিল-ইউএসআর 1 পিড" চালাতে সক্ষম হতে পারেন।
এমজেবি

3
বাহ, পাঠানোর kill -USR2জন্য Emacs-ম্যাক আমার জন্য একই অবস্থা কাজ - js2-মোড একটি বড় ফাইলটি লোড এবং isearch শুরু করে। ইউএসআর 2 অনুসন্ধান ত্যাগ করে ডিবাগারে প্রবেশ করেছে। প্রক্রিয়া হত্যার চেয়ে অনেক ভাল!
উইলিয়াম

আমি আপনার সন্দেহের সাথে একমত নই। হত্যা আমার পক্ষে কাজ করেছিল। এটি আমাকে ডিবাগারে লাথি মেরেছিল এবং ফন্ট-লক-ডিফল্ট-ফন্টি-অঞ্চল যেখানে এটি আটকে ছিল।
ব্রায়ান সি

2

আমি কোনো সংকেত হ্যান্ডলিং যে Emacs করে অবিদিত নই কিন্তু আপনি নির্বাণ দ্বারা এ গিয়ে Emacs সার্ভার ব্যবহার করতে পারে server-startআপনার ~ / .emacs ফাইলে যাতে আপনি Emacs আপনার চলমান উদাহরণস্বরূপ উপর আরপিসি করতে পারেন।

তারপরে আপনি যখন ইমাসকে হত্যা করতে এবং লিখতে চান তখন আপনি নিজের শেল থেকে কল করতে পারেন emacsclient -e '(save-buffers-kill-emacs t)'

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