আমি মনে করি না যে এটি বেশ সহজ তবে আপনি এখানে রুবি কোডটি নিজেই দেখতে পারেন:
https://github.com/igrigorik/vimgolf/tree/master/lib/vimgolf
আমি কীলগিংয়ের জন্য একটি ক্লাস দেখতে পাচ্ছি, একটির জন্য।
এখানে কমান্ড যে লঞ্চ করার জন্য ব্যবহৃত হয় vim
মধ্যে lib / অনুপস্থিত vimgolf / cli.rb :
vimcmd = GOLFVIM.shellsplit + %W{-Z -n --noplugin --nofork -i NONE +0
-u #{challenge.vimrc_path} -U NONE -W #{challenge.log_path} #{challenge.work_path}}
@ স্টাটক্সটি প্রায় ছিল -w outfile
... -W outfile
(আসলে প্রায়) , যা টাইপ করা অক্ষরগুলি এতে যুক্ত করার পরিবর্তে যে ফাইলটিতে প্রেরণ করা হয় সেটিতে ওভাররাইট করে। তবে যেমনটি আমি বলেছি, "একেবারে সহজ" নয় ... সেই ফাইলগুলির মধ্যে একটির এবং যেটি ভিমগল্ফ সরঞ্জাম দ্বারা উত্পন্ন হয় তার সামগ্রীর সাথে তুলনা করুন। এটি একটি আসল ভিমগল্ফ সমস্যা থেকে ...
-W
অনুলিপি করা হলে আউটপুট এখানে আটকানো:
GI0. ý`gvgý`ZZ
বেশ কয়েকটি মুদ্রণবিহীন অক্ষর "অনুবাদে হারিয়ে গেছে"।
-W
এটি অন স্ক্রিন হিসাবে প্রদর্শিত হিসাবে আউটপুট:
^VGI0. ^[<80>ý`gvg^A<80>ý`ZZ
ঠিক আছে, এটা কৃপণ।
ভিমগল্ফ প্রদর্শিত / আপলোড আউটপুট:
<C-V>GI0. <Esc>gvg<C-A>ZZ
আহ, এটা আরও ভাল।
আপডেট: আমি জিনিসগুলিতে কিছুটা কাছাকাছি দেখার জন্য কয়েক মিনিট ব্যয় করেছি এবং কয়েকটি নতুন তথ্য পেয়েছি।
প্রথমত, আমি উপরে উল্লিখিত কীলগার শ্রেণি কীলগ.আরবি প্রকৃতপক্ষে ধাঁধার একটি বড় অংশ তবে এটি আসলে মোটামুটি সোজা। ভিগ যে কীকোডগুলি নির্গত করে এবং -W
লগ ফাইলে সেভ হয় সেগুলি হয় একটি বাইট বা তিনটি বাইট (0x80 এর প্রথম বাইট মান দ্বারা নির্দেশিত) এবং দুটি সেটের প্রতিটিটির জন্য একটি হ্যাশ মানচিত্র রয়েছে।
এক-বাইট সংস্করণটি বাইট মানটিকে কীকোডের স্ট্রিং উপস্থাপন যেমন 0
বা হিসাবে মানচিত্রের মানচিত্র করে g
। থ্রি-বাইট সংস্করণ একইভাবে একটি স্ট্রিংকে মানচিত্র করে (যেমন <Esc>
বা <C-V>
) তবে কী হিসাবে দুটি এবং তিনটির বাইটের সম্মিলিত মানগুলি ব্যবহার করে। কিছু ব্যতিক্রম / কর্নার-কেস রয়েছে যা বিভিন্নভাবে পরিচালনা করা হয় তবে বেশিরভাগ কীকোডগুলি এই দুটি মানচিত্রে সরল দেখার জন্য সমাধান করা হয়।
কী লগার কোডটি কতটা বেসিক ছিল তা আমি কীকোড লগ ফাইলগুলিতে যা দেখছিলাম তার সাথে কিছু ভুল ছিল তা বলতে পারি (যেমন উপরের উদাহরণটি আটকানো হয়েছে)। দেখা যাচ্ছে যে ভিমগল্ফ বিধি দ্বারা প্রয়োজনীয় vimrc ফাইলটি আমার ব্যবহার করা উচিত ছিল। বিশেষত এই লাইন
set t_RV=
সঠিক লগিং ফলাফল। উপরের "অন-স্ক্রিনে প্রদর্শিত হবে" উদাহরণটি বাস্তবে এরকম দেখাবে:
^VGI0. ^[gvg^AZZ
এখন কেউ এই "কাঁচা" স্ট্রিং থেকে ভিমগল্ফের রেন্ডার করা ফর্মের সরল রেখা দেখতে পাবে।