সর্বাধিক ধ্বংসাত্মক "ভুলে যাওয়া-থেকে-প্রবেশ-মোড" ভিমের ক্রম


10

ভান করুন আপনার কাছে একটি স্বেচ্ছাসেবী পাঠ্য ফাইল রয়েছে (যা আপনি চয়ন করতে পারেন)।

কী-স্ট্রোকের অনুক্রমটি সর্বাধিক ধ্বংসাত্মক (*) পাঠ্যটিতে সন্নিবেশ করানোর ইচ্ছা থাকলে, তবে পরিবর্তে সাধারণ মোডে প্রবেশ করা হয়েছিল (যেমন i/ aচাপানো হয়নি)। আপনি ভিজ্যুয়াল মোডে প্রবেশ করতে পারবেন না এবং ভিম ছাড়বেন না।

ধ্বংসাত্মকটিকে নিম্নলিখিত হিসাবে সংজ্ঞায়িত করা হয়েছে: প্রয়োজনীয় কীস্ট্রোকের সংখ্যা দ্বারা পরিবর্তিত / মোছা অক্ষরের অনুপাত।
আপনার পরিবর্তনগুলি একটি নির্দিষ্ট সংখ্যক uএনডো দ্বারা পূর্বাবস্থায় ফেরানো না গেলে আপনি বোনাস পয়েন্ট পাবেন ।


উদাহরণ: লাইন ব্রেক ছাড়াই ইনপুট ফাইল। ইনপুট ক্রম: dfs


[কোড-গল্ফ] ট্যাগ মানে স্বল্পতম অক্ষরের জয়। আপনার চেয়ে চ্যালেঞ্জটি আরও জটিল, তাই আমি ট্যাগিং পরিবর্তন করেছি।
dmckee --- প্রাক্তন-মডারেটর বিড়ালছানা

উত্তর:


3
: 0,0 w 
:r

কোন কিছুই পূর্বাবস্থায় ফিরে যায় না


1
আমি বুঝতে পারি না কীভাবে এটি সবকিছু নষ্ট করে দেয়! আমি যখন এই স্ক্রিপ্টটি চালনা করি তখন এটি আমার ফাইলের সামগ্রী নকল করে এবং পূর্বে কাজটি ভাল করে দেয়! আপনি ব্যাখ্যা করতে পারেন? ধন্যবাদ :)
সাইদেন

@saeedn :0,0 wলাইন 0 0 লিখতে হবে এবং :rতারপর এটি পড়তে হবে (এখন খালি) ফিরে, আমি সত্যিই যদিও এটা পরীক্ষা করার জন্য একটি তেজ নেই
র্যাচিট খামখেয়াল

1
ওয়েল, সবার আগে, : 0,0 wএকটি আংশিক বাফার লিখেছেন, সুতরাং (আমার) ভিম এটি সংরক্ষণ করতে অস্বীকার করেছে, w!তার পরিবর্তে আমাকে বলতে হবে w। এতদূর ভাল, এখন :rফাইলটি আর খোলে না। পরিবর্তে, আপনাকে বলতে :eহবে যে ফাইল সিস্টেমে ফাইলটিতে পড়বে। যাইহোক, যদিও এই পরিবর্তনগুলির সাথে এটি বাফারটি পরিবর্তন করে, বাফারটি খালি থেকে দূরে। এটিতে প্রথম লাইন রয়েছে (কারণ আপনি "0,0" সংরক্ষণ করেছেন)। কমপক্ষে undoing কাজ করে না।
বিটমাস্ক

3
:set ul=-1
ggdG
:w

এটি ফাইলের বিষয়বস্তু সাফ করে এবং সংরক্ষণ করে। পূর্বাবস্থায় ফেরানো সম্ভব নয় কারণ undolevelaণাত্মক সংখ্যায় সেট করা রয়েছে, যা পূর্বাবস্থায় কাজ করতে অক্ষম করে।

সম্পাদনা: এর :g/^/dপরিবর্তে লেখাই ভাল ggdG, কারণ পরবর্তী ক্ষেত্রে আপনি pপরিবর্তনগুলি রোল-ব্যাক করতে (পুট) ব্যবহার করতে পারেন ।


ggdGদ্বারা প্রতিস্থাপিত হতে পারে:%d
কেনারব

@ কনর্ব হ্যাঁ, এটি সংক্ষিপ্ত, তবে এটিরও সমস্যা রয়েছে ggdG, যা ( p) লাগিয়ে উল্টানো যেতে পারে , সুতরাং এটি :g/^/dআরও ভাল বিকল্প বলে মনে হচ্ছে :)
সাইদেন

@ সাeedদেন :%d_তার চেয়ে কম :g/^/dএবং putসমস্যা সমাধানও করে ।
ধনী

এছাড়াও, এই উত্তরটি লেখার সম্ভাব্য প্রেক্ষাপটের বাইরে, আমি নিশ্চিত নই যে কেউ accidentোকানো মোডে ভেবে ভেবে দুর্ঘটনাক্রমে কেউ এই কী-স্ট্রোকটি টাইপ করবে কিনা। ;)
ধনী

2
:set ul=-1
:%s///g
:r!head -c1G</dev/urandom
:w
  1. পূর্বাবস্থায় ফিরে আসা অক্ষম করে
  2. অক্ষর মুছে ফেলে
  3. / Dev / urandom থেকে 1G ডেটা পড়ে
  4. সংরক্ষণ

নিয়মগুলি বাঁকানো, কারণ আমি অক্ষরগুলি যুক্ত করছি (এমন একটি চরিত্র যা এখন নেই এবং বর্তমানে রয়েছে, এর অর্থ একটি চরিত্র পরিবর্তন হয়েছিল)। আমি যতটা চরিত্র চাই তাই যোগ করতে পারি তাই এই স্কোর তাত্ত্বিকভাবে অসীম।


0

5 বাইট:

:bd!

প্রবেশের পরে একটি প্রেস।

আপনি মেমরি থেকে যে ফাইলটি সম্পাদনা করছেন তার বর্তমান অবস্থাটি ছুঁড়ে ফেলেছে, সুতরাং সেই ফাইলের সমস্ত সংরক্ষিত পরিবর্তনগুলি হারিয়ে যায়। আপনার যদি অন্য ফাইলগুলি খোলা থাকে তবে সেগুলি প্রভাবিত হয় না। আপনার কাছে কেবল একটি ফাইল খোলা থাকলেও এটি ভিম ছাড়বে না।

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