ভিএম-তে ফাইল সম্পাদনা করার সময় আমি কোনও ফাইলের শব্দের সংখ্যা কীভাবে গণনা করতে পারি?


21

আমি জানি আমি কমান্ড লাইনেwc অক্ষর, শব্দ এবং ফাইলগুলির লাইন গণনা করতে ব্যবহার করতে পারি ।

ভিএম-তে থাকাকালীন আমি কীভাবে শব্দের সংখ্যা গণনা করতে পারি ?

উত্তর:


22

আপনার নিজস্ব কাউন্টার viব্যবহার করে আপনি শব্দ এবং লাইনগুলি গণনা করতে পারেন vi:

টিপুন gএবং তারপরে CTRL- g। তারপরে নীচের অংশটি উদাহরণস্বরূপ দেখুন:

Col 1 of 11; Line 1 of 106; Word 1 of 344; Byte 1 of 2644

বা viশেল কমান্ড কল করতে এর পদ্ধতিটি ব্যবহার করুন :

:w !wc -w

এটি :wপ্রথমে সেভ ( ) কমান্ডটি কল করে এবং wc -wআউটপুট দেখায়। উদাহরণ:

:w !wc -w
344

Press ENTER or type command to continue

Enterফিরে যেতে টিপুন vi


এটি আসলে :w !<cmd>নির্মাণের ভুল বর্ণনা । এটি কমান্ডের সাথে সংযুক্ত পাইপে বর্তমান বাফারটি লিখে দেয়। কোনও ফাইলের বর্তমান বাফারের আলাদা কোনও লেখার প্রতিশ্রুতি দেওয়া হয়নি। তবুও, এটি যা জিজ্ঞাসা করেছিল তা করে।
mcepl

1

আপনি :!wc %ভিমেও চেষ্টা করতে পারেন , যদিও এটি অন-ডিস্কের ফাইলের আকারকে গণনা করে, ভিমের বাফারে কী নেই। এটি আপনি যা চেয়েছিলেন তা হতে পারে বা নাও পারে।


এটি ডিস্কে কী রয়েছে তা গণনা করে (যদি কিছু থাকে) তবে বাফারে কী নেই - তাই আপনি যদি শেষ বাঁচার পরে বাফার সামগ্রীগুলি পরিবর্তন করে থাকেন বা আদৌ সংরক্ষণ না করেন তবে আপনি ভুল গণনা পাবেন (অথবা এমনকি একটি ত্রুটি এমনকি আপনি একটি ফাইল তৈরি করছেন)।
স্টিফেন কিট

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

মজার বিষয় এটির অনুরূপ ( -wকেবলমাত্র শব্দের মধ্যে আউটপুটকে সীমাবদ্ধ করার জন্য পতাকা বিয়োগফল ) ডি_বাইয়ের দ্বারা 2014 এ মুছে ফেলা উত্তরের (যিনি দৃশ্যত এটি স্ব-মোছা করেছেন)
জেফ শ্যাচলার

0

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


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

আমি সংশোধন করেছি. তবে আমি ভবিষ্যতে বলতে চাই যে আপনি যে সমাধানটি উপস্থাপন করছেন তা বাস্তবায়নের জন্য আপনার প্রাসঙ্গিক পদক্ষেপগুলি অন্তর্ভুক্ত করার চেষ্টা করা উচিত। ধন্যবাদ!
কেমোটেপ

0

যারা প্রদত্ত পাঠ্যের \S\+টুকরোটিতে (পুরো ফাইল নয়) শব্দের সংখ্যা গণনা করতে চান তাদের জন্য রিজেপেক্স ব্যবহার করুন ।

  1. আগ্রহের পাঠ্যটি নির্বাচন করুন (ভিজ্যুয়াল মোড)
  2. :s/\S\+//gn

ফলাফল। ভিম আপনাকে এরকম কিছু দেখাবে:10 matches on 1 line

আপনি যখন :ভিজ্যুয়াল মোডে আঘাত করবেন, তখন ভিএম আপনার কমান্ডটি প্রেন্ডেন্ড করে '<,'>যার অর্থ নির্বাচিত পাঠ্যের বিপরীতে আদেশটি প্রয়োগ করা উচিত।

\S\+ শব্দগুলি ক্যাপচার করে, এটি হ'ল স্পেস দ্বারা পৃথক করা অক্ষরের গ্রুপ।

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