TERM সিগন্যাল পেলে ভিফ বাফার সংরক্ষণের জন্য ডিফল্ট সেট করে


1

আমি ভিএম এর একাধিক উদাহরণ ব্যবহার করি। বর্তমানে আমি একটি ব্যাশ ফাংশন ব্যবহার করি

kv(){ a=($(pgrep vim)); kill ${a[@]}; }  

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


আমি নিজে এটি চেষ্টা করে দেখিনি, তাই এটি আপনার প্রয়োজন অনুসারে করবে কিনা তা আমি বলি না, :help VimLeaveএবং :help v:dyingপরামর্শ দিচ্ছি যে যখনই ভিম প্রস্থান করে, এমনকি কোনও সংকেতের কারণেও ভিমলাইভ ইভেন্টটি ট্রিগার হয়।
গ্যারিজোহান

উত্তর:


2

আপনি বিশেষভাবে টিআরএম সিগন্যালটিকে আটকাতে পারবেন না, তবে আপনি কেবল এমন কোনও সংকেত সম্পর্কে "ধরতে" পারেন যা ভিমকে করুণাময়ভাবে প্রস্থান করার সুযোগ দেয়। উদাহরণটি দেখুন:

:help v:dying

আপনি :echoউদাহরণটিতে কমান্ডটি এমন কিছু পরিবর্তন করতে পারেন :wqall(" :help :wqall" দেখুন)।

যদিও আমি এটি সুপারিশ করি না। আপনি যখন চান না তখন সহজেই একটি ফাইল (ওভার) লেখা থাকতে পারে।


আপনার সহায়তার জন্য এবং তাদের শক্তির জন্য আমি উভয়কে ধন্যবাদ জানাই: আমি যোগ করেছি সহায়তা আইটেমগুলি
user985675

0

আমি মনে করি বাফারগুলি সংরক্ষণ করা সম্ভব নয় VimLeave। আমি নীচে কোড চেষ্টা করেছি

autocmd VimLeave * :!touch ~/logs/vim-leave
autocmd VimLeave * :wall

এই কোডটি সাফল্যের touchসাথে ফাইলটি দিয়েছে কিন্তু বাফারগুলি সংরক্ষণ করে নি। আমি এই থিমটি একটি ভিএম মেলিং তালিকা থেকে পেয়েছি

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

সময়ের মধ্যে, ভিম মারাত্মক সংকেতটি পরিচালনা করে, এটি আর অনিরাপদ ফাংশনগুলিকে কল করবে না (উদাহরণস্বরূপ মেমরি বরাদ্দ করুন) তাই আমি সন্দেহ করি যে আপনি যা চান তা অর্জন করা সম্ভব হবে।

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