আমি কীভাবে (বা কমপক্ষে নিশ্চিত করার জন্য প্রম্পট) কমান্ডের উপসর্গ ব্যবহারে অযৌক্তিকরূপে বৃহত সংখ্যাকে আটকাতে পারি?


9

আপনি যতটা ভাবেন ততবার এটি ঘটে না, তবে এটি মাঝে মধ্যে ঘটে এবং আমি একটি বিড়ালের মালিকও নই।

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

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


4
কেবলমাত্র আমি নিশ্চিত যে আপনার প্রশ্নটি বুঝতে পেরেছি: আপনি নিয়মিত ভুল করে কিছু ক্রম টাইপ করেন 144477@@বা 99999.সংখ্যাটি খুব বেশি হলে আপনি এই ফাঁসি কার্যকর করতে চান? আমি কি সঠিক? (আমি কারণ মনে হচ্ছে যে একটু আমার কাছে অদ্ভুত বিট জিজ্ঞাসা আছে, আমি কখনোই এই সমস্যা ছিল)
statox

3
কেন না… আপনি যা করেন তার প্রতি মনোযোগ দিন?
রোমেনেল

3
হ্যাঁ, ঠিক আছে রোমেনেলের একটি বৈধ পয়েন্ট রয়েছে তবে এটি প্রশ্নের সাথে অপ্রাসঙ্গিক বলে মনে হচ্ছে। প্রশ্নটি রয়ে গেছে, এবং এটি অন্যান্য প্রশ্নের মতো "গুরুতর" নাও হতে পারে তবে এটি একটি প্রশ্ন তবেই। আমি কেবল মনে করি যে দুর্ঘটনাজনিত অস্বীকৃতি-পরিষেবাটি রোধ করার জন্য এটির উপরের একটি নির্দিষ্ট সীমা নির্দিষ্ট করতে সক্ষম হওয়া আমাদের বোধগম্য। আনডোলেভেলস সম্পর্কে পরামর্শ হিসাবে, হ্যাঁ এটি প্রাসঙ্গিক হতে পারে যদি এটি ওভারফ্লোও বফারটিকে পূর্বাবস্থায় ফেরায় তবে আমি এটি বিবেচনাও করিনি। (একটি না সুতরাং উদাহরণস্বরূপ কল্পিত - আমি একটি 60% কীবোর্ড আছে, শীর্ষ সীমানা সারি নম্বর রয়েছে আমি এটা কুড়ান আমার হাত দিয়ে আনপ্লাগ করার জন্য ভুলে যান ইত্যাদি।।।)
স্টিভেন লু

4
set showcmdনীচে-ডানদিকে আপনি টাইপ করা কীগুলি দেখানোর জন্য আপনি ব্যবহার করতে পারেন ।
মার্টিন টর্নয়েজ

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

উত্তর:


2

আমি দেখতে পেয়েছি যে আপনি সাধারণত একটি সাইন ইন ( Ctrl+C) পাঠিয়ে পুনরাবৃত্তি প্রক্রিয়াটিতে বাধা দিতে সক্ষম হন । যতক্ষণ না কিছু ভিমস্ক্রিপ্ট প্রকৃতপক্ষে দীর্ঘ অভ্যন্তরীণ লুপটি চালাচ্ছে না, কোনও ডস উদ্বেগ নেই।

প্লাগইনের উদাহরণের জন্য এখানে দেখুন এমন কোনও ফাংশন থাকতে পারে যা প্রবেশ সংখ্যার উপর নির্ভর করে লুপ করে।

প্রায় সমস্ত অভিপ্রায় এবং উদ্দেশ্যে এই সমস্যাটি এখানে একটি অনুমানমূলক বিষয়।


4
"এই সমস্যাটি একটি অনুমানমূলক বিষয়" ... না, তা নয়। 2 জি সংযোগের জন্য আমাকে আমার ফোনে এসএসএইচে কাজ করতে হয়েছিল, যেখানে প্রত্যাশায় টাইপ করার সময় আমি দুর্ঘটনাক্রমে একটি কীস্ট্রোক মিস করেছি বা একাধিক কীস্ট্রোক করেছি, যার ফলে খুব অনুরূপ পরিস্থিতি তৈরি হতে পারে (সম্ভবত 99999 নয়, তবে ছোট সংখ্যা হ্যাঁ)।
মুড়ু

শীতল, হ্যাঁ একটি ধীর টার্মিনাল এমুলেটর (ভিএম প্রয়োগ করছে এমন পরিমাণের পরিবর্তনের উপর নির্ভর করে) ক্লায়েন্টের পক্ষে প্রক্রিয়াজাতকরণ বিলম্ব যোগ করে সমস্যাগুলি আরও বাড়িয়ে তুলতে পারে। দ্রুত Ctrl + C এ যেতে হবে!
স্টিভেন লু

1
আপনি কেবল ব্যবহার করতে পারেন <Esc>, আপনার ব্যবহারের দরকার নেই <C-c>। পার্থক্যটি হ'ল <C-c>ভিম যা কিছু করছে তা বাতিল করে (যেমন কোনও ফাংশন চালানো), এবং <Esc>না। আপনি কোনও <C-c>কিছু "হত্যা" না করতে চাইলে আপনি প্রায়শই ব্যবহার করতে চান না।
মার্টিন টর্নয়েজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.