শো সিএমডি সহ কমান্ডের ইতিহাস দেখানো হচ্ছে


11

set showcmdভিম ব্যবহার করার সময় পর্দার শেষ লাইনে আংশিক কমান্ড দেখায়। উদাহরণস্বরূপ, সাধারন মোডে যখন কমান্ড লিখে dt.শেষ লাইনটি শো dtএবং তারপর, যখন আপনি আঘাত .কমান্ড সম্পূর্ণ এবং সেইজন্য কিছুই দেখানো হয়।

পূর্ণ কমান্ডগুলি দেখানোর কোনও উপায় আছে? উদাহরণস্বরূপ dt.gU(, টাইপ করার সময় , প্রথম dt.প্রদর্শিত হবে; এবং দ্বিতীয় কমান্ডটি টাইপ করতে শুরু করার পরে প্রথমটি সাফ হয়ে যায়, যাতে শেষ পর্যন্ত gU(প্রদর্শিত হয়।

এটি জিআইএফগুলি উদাহরণের জন্য উদাহরণস্বরূপ কার্যকর হতে পারে; এবং আপনি যদি কিছু অপ্রত্যাশিত ফলাফলের মুখোমুখি হন তবে আপনি কী চান তা টাইপ করে দেখুন।


1
পূর্ণ আদেশ কি? dtদেখানো কারণ এটি সাম্প্রতিক অপারেটর মুলতুবী নেই। একবার এটি একটি গতি দেওয়া হলে, এটি আর অপারেটর মুলতুবি। ধরা যাক আমরা আরও এগিয়ে গিয়েছি, dt.gU(gu)dawবা করেছি। এই সমস্ত "একটি সম্পূর্ণ কমান্ড", বা এটি চারটি পূর্ণ আদেশ, বা অন্য কিছু?
ডেভিড্লোরিডুদা

@ মিক্সেমডমথ আমার জন্য যা 4 টি আদেশ হিসাবে গণনা করবে। উত্তরের দ্বিতীয় অনুচ্ছেদটি আমার অর্থ কী তা বোঝার চেষ্টা করেছে।
গোনালো রিবেইরো

2
ভিমের দৃষ্টিকোণ থেকে, dt.gU(2 টি কমান্ড রয়েছে: dt. এবং gU(.... সুতরাং আপনি যা চান তা হ'ল কিছু ধরণের কমান্ডের ইতিহাস প্রদর্শন করা (ভিম ইতিমধ্যে "সম্পূর্ণ কোম্যান্ডস" দেখাচ্ছে)।
মার্টিন টর্নয়েজ

@ কার্পেটস্মোকার, হ্যাঁ, এটি আমি চাই be প্রশ্নের শিরোনাম সম্পাদনার জন্য আপনাকে ধন্যবাদ।
গোনালো রিবেইরো

3
আমি সাধারণ ইতিহাসে কাজ করে ভিম সোর্স কোডে পোকে যাচ্ছি । ইন src/normal.cকোড কল clear_showcmd()বিভিন্ন স্থানে ( normal_cmd(), do_pending_operator(), end_visual_mode())। আমি showcmd_bufসেই পয়েন্টগুলিতে একটি ফাইলে ফেলার সাথে খেলছি , যা দেখতে বেশ ভাল লাগছিল, তবে আমাকে পুরোপুরি নিশ্চিত করে তোলে যে অনুরূপভাবে ভিম উত্স কোডটি সংশোধন করা এবং এটি পুনর্নির্মাণ করা ছাড়া আপনি যা চান তা পাবেন না। অবশ্যই, এটি করা আপনার জিআইএফগুলি তৈরি করার ঝামেলাটি উপযুক্ত হবে।
জন ও'ম।

উত্তর:


9

আমি নিয়মিত ভিমে এটি করার কোনও উপায় খুঁজে পাইনি। তবে, আপনি যদি ভিমে প্যাচ করতে ইচ্ছুক হন তবে নীচেরগুলি আপনার পক্ষে কাজ করতে পারে।

খুব সাধারণ প্যাচ (Vim-7.4.052 এর বিপরীতে প্রয়োগ করা হয়েছে) স্ক্রিনের আসল আপডেটটি অক্ষম করে যা একটি সাধারণ কমান্ডের শেষে ইতিহাস সাফ করে। এটি showcmd_is_clearডিসপ্লে আপডেট করার আগে সেট করা আছে কিনা তা ফিরিয়ে দিয়ে এটি করে , . (বিকল্পভাবে, আপনি যদি বিবৃতিটি মন্তব্য করতে পারেন এবং কেবল একটি মূল returnলাইন ছেড়ে যেতে পারেন note দ্রষ্টব্য : নীচের প্যাচটি খুব ভাল পেষ্ট হয়নি; আপনাকে এটি হাতে প্রয়োগ করতে হতে পারে, যদিও এটি একটি সংক্ষিপ্ত ওয়ান-লাইনার। নোট : আমি না না প্রকৃত মন্তব্য display_showcmd()করা হয়েছে কারণ এটি নির্বাচিত লাইনগুলি বা অন্যান্য সম্ভবত অন্যান্য উপাদান সংখ্যা প্রদর্শন আপডেট করার জন্য চাক্ষুষ মোড ব্যবহার করা যেতে মনে হচ্ছে আমি ব্যাপকভাবে এই পরীক্ষা করা হয় নি।।

--- src/normal.c    2015-02-14 00:21:23.286352257 -0500
+++ src/normal.c    2015-02-14 00:21:25.238352173 -0500
@@ -4029,6 +4029,7 @@
    /* Don't actually display something if there is nothing to clear. */
    if (showcmd_is_clear)
        return;
+   return;
     }

     display_showcmd()

ফলাফলটি এরকম দেখাচ্ছে:

প্যাচ দেখাচ্ছে স্ক্রিনকাস্ট

কয়েকটি আকর্ষণীয় বিষয় লক্ষ্য করুন:

  • এ থেকে জানা যায় এমনকি সহজ আন্দোলন, মত j, k, b, ইত্যাদি
  • xকমান্ড আসলে হয়ে dlshowcmd_buf হবে।
  • নীচের রেখায় পরিবর্তন হওয়া কমান্ডগুলি শো সিএমডি অঞ্চলটি বিলোপ করে (উদাহরণস্বরূপ, :কমান্ডটি ব্যবহার করে , বা সন্নিবেশ মোডে প্রবেশ করায় (কমপক্ষে আমার সেটআপে))
  • ক্যাপচার প্রোগ্রামটি আমি টাইপ করার পরে অনেক স্ট্রোক রেকর্ডিং বন্ধ করে দিয়েছি ", তবে আমার দীর্ঘ ধারাবাহিকতাটি দীর্ঘ দীর্ঘ রেজিস্টার্ড নির্দিষ্ট ইয়ঙ্কের জন্য আমার কী সিকোয়েন্সটি ভিআইএম উইন্ডোতে দৃশ্যমান।
  • কাস্টে প্রদর্শিত হয়নি, তবে escশো ^[সিএমডি অঞ্চলে সাধারণ মোড শোগুলিতে আঘাত করা

4

জন সমাধান ছাড়াও, সমস্ত ভিআইএম কীস্ট্রোকগুলি দেখানোর আর একটি উপায় রয়েছে যা -wপরামিতি ব্যবহার করে চাপানো হয়েছিল যা আপনি ফাইলটিতে টাইপ করেন এমন সমস্ত অক্ষর রেকর্ড করে। সমস্যাটি হ'ল, ভিম কেবলমাত্র যখন আপনি ভিম থেকে প্রস্থান করবেন তখনই কীস্ট্রোক লিখবেন। এইভাবে ভিমগল্ফ কাজ করে।

এটি কার্যকর করার জন্য, কানা নাটসুনো এই একক-লাইন প্যাচটি নিয়ে আসে , যা -wবিকল্পটির বাফারিং অক্ষম করে , তাই আপনার কী-স্ট্রোকের রিয়েলটাইম স্ট্রিমটিতে অ্যাক্সেস রয়েছে। তারপরে এটি পড়ার বিষয় (যেমন tail -f) পার্সিং বা আপনি এগুলি স্ট্যাটাসবারে প্রদর্শন করার চেষ্টা করতে পারেন ( :set statusline)।

কীস্ট্রোকের রিয়েলটাইম স্ট্রিমটি পেতে ম্যাকভিমের ড্রয়ের লাইভ-স্ট্রিম-কীস্ট্রোক শাখা ব্যবহার করে ভিমের একটি কাস্টম বিল্ড দেখুন ।

উত্স: ভিমপ্রিন্ট - ড্রু নিল ব্লগের একটি ভিম কীস্ট্রোক পার্সার

আপনি যদি ভিডিও টিউটোরিয়াল বা জিআইএফ-তে Vim টিপিত কীস্ট্রোকগুলি প্রকাশ করতে চান তবে এটি কার্যকর।

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