লিনাক্স এর শক্তিশালী এডিটর -vi শিখুন

  • vi-এর ইতিহাস
vi টেক্সট এডিটরটি আমেরিকার বার্কলেতে অবস্থিত ইউনিভার্সিটি অফ ক্যালিফোর্নিয়াতে তৈরী করা হয়। ১৯৭৬ সালে এটি বিল জয় কর্তৃক তৈরী হয় ed নামক একটি দূর্বল টেক্সট এডিটর এর বিকল্প হিসেবে, এটিকে ৩০০ অথবা ১২০০ বড মডেম এর উপর ব্যবহার যোগ্য করে ডিজাইন করা হয় এবং খুব দ্রুতই এটি একটি শক্তিশালী কিন্তু হালকা টেক্সট এডিটিং প্রোগ্রাম হিসেবে আবির্ভূত হয় যেটিতে প্রত্যেকটি কি স্ট্রোকের সর্বোচ্চ ব্যবহার আদায় সম্ভব।
১৯৯৯ সালে বিল জয় তার এক সাক্ষাৎকারে যে সমস্ত বিষয় তাকে এই vi এডিটর তৈরীতে অনুপ্রানিত করেছিল তা বর্ননা করেন তার নিজের ভাষায়ঃ
… আমরা ed নামে যে এডিটরটি ব্যবহার করছিলাম তা নিয়ে খুবই হতাশ হয়ে পড়েছিলাম। ed সত্যিকার অর্থেই ছিল ব্যর্থ। আমরা এর কোডগুলি জর্জ কুলাউরিস নামে একজন ব্যক্তির কাছ থেকে পেয়েছিলাম … যেটিকে আমরা বলতাম মৃত ব্যক্তিদের জন্য em - Editor - যেহেতু একমাত্র অমরদের পক্ষেই এটিকে দিয়ে সব কাজ করা সম্ভব। সুতরাং আমরা em কে পরিবর্তিত করলাম এবং en তৈরী করলাম। আমি জানিনা পরবর্তীতে এর অন্যকোন ভার্সন যেমন eo অথবা ep বের হয়েছিল কিনা তবে শেষ পর্যন্ত আমরা ex পেয়েছিলাম।(হাসতে হাসতে বললেন) en এর কথা আমি মনে করতে পারি কিন্তু আমি জানিনা কিভাবে এটি ex এ পরিনত হয়েছিল। আমার বাসায় একটি টার্মিনাল ছিল এবং সাথে ছিল একটি ৩০০ বড মডেম যা দিয়ে আমি কার্সরকে মুভ করাতে পারতাম এবং কয়েকমাস দিনরাত প্রানান্ত চেষ্টার পর vi লিখতে সমর্থ হই।
  • vi কেন?
আধুনিক যুগ হওয়া সত্ত্বেও vi আজো গুরুত্বপূর্ন একটি টুলস। গত বিশ বছরে ইউনিক্স/লিনাক্সের যত ডিস্ট্রিবিউশন বের হয়েছে প্রত্যেকের সাথেই ডিফল্টভাবে এটি ইনস্টলড হয়ে থাকে যা থেকে এটির গুরুত্ব কতটুকু তা নিশ্চয়ই অনুমান করা যায়। vi এর অরিজিনাল ভার্সন এর পর এর অনেকগুলি ডেরিভেটিভ বের হয়েছে (যেমনঃ vim, vile এবং elvis) যেগুলির সাথে পরবর্তীতে অনেক ধরনের সুযোগ-সুবিধা যুক্ত হয়েছে। এসব কারনেই vi খুব সম্ভবত পৃথিবীর অন্যতম দ্রুত বিকাশমান এবং স্ট্যাবল একটি টেক্সট এডিটর।
vi এর সাম্প্রতিক ক্লোনগুলির অধিকাংশই যথেষ্ট উন্নত ফিচার সম্পন্ন হওয়ায় আপনি একটি ডকুমেন্ট টাইপ করার সময়ই ডকুমেন্টের টাইপ অনুযায়ী সে টেক্সট গুলিকে ইনডেন্টিং করা বা আপনার প্রোগ্রামিং এর সিনট্যাক্স অনুযায়ী হাইলাইট করার অপশনগুলি স্বয়ংক্রিয়ভাবেই পেয়ে যাবেন যা আপনার কাজকে অনেক সহজ করে দেবে। ইউনিক্স এর প্রথা অনুযায়ী যে সমস্ত ফিচারগুলি অপ্রয়োজনীয় সেগুলি বন্ধ করে রাখতে পারেন আপনার পছন্দ অনুযায়ী এবং সামান্য কয়েক মিনিট সময় ব্যয় করেই আপনি vi কে আপনার পছন্দ অনুযায়ী কাস্টোমাইজ করে ভবিষ্যতের অনেক সময় বাঁচাতে পারেন।
  • কার্যপ্রনালী
বেশীরভাগ টেক্সট এডিটর মাত্র একটি মোডে কাজ করে থাকে এবং মেনু সিস্টেম অথবা একাধিক কি কম্বিনেশন ব্যবহার এর মাধ্যমে আপনাকে ডকুমেন্টে বিভিন্ন ফাংশন প্রয়োগের সুযোগ করে দেয় যেমন উদাহরনস্বরূপ বলা যায় ডকুমেন্ট সেভ করা, সার্চিং করা, কোন টেক্সট রিপ্লেস করা ইত্যাদি। vi এডিটর এর দুটো মোড আছে যথাক্রমে: ইনসার্ট মোড - যে মোডে কোন টেক্সট এডিট করা বা যোগ করা যায় এবং অন্যটি কমান্ড মোড- যেখানে বিভিন্ন এডিটিং ফাংশন এবং ডকুমেন্ট স্থানান্তর এর কমান্ডগুলি দেয়া হয়ে থাকে। এটি শুরুতে কিছুটা অদ্ভুত মনে হলে ও খুব দ্রুতই ব্যবহারের মাধ্যমে এটি আয়ত্বে আনতে পারবেন নিঃসন্দেহে।
কমান্ড মোডে vi তে আপনি টেক্সট পেস্ট করা থেকে শুরু করে একটি শেল চালু করা বা বন্ধ করার মত যেকোন সংখ্যক ফাংশন পরিচালনার নির্দেশ দিতে পারেন। vi তে বেশীরভাগ কমান্ডই খুব সংক্ষিপ্ত এবং একটি অক্ষর চেপেই তা দেয়া সম্ভব। এমনকি ইনসার্ট মোড এ প্রবেশ করতে হয় কমান্ড মোড থেকেই। ইনসার্ট মোডে আপনি শুধুমাত্র লিখতে পারবেন। ব্যতিক্রম বলতে শুধুমাত্র নতুন লেখা ব্যাকস্পেস-কি দিয়ে মুছে সংশোধন করতে পারবেন -ব্যস এটুকুই। ইনসার্ট মোডে লেখা কপি পেস্ট করতে পারবেন না, সার্চ করতে পারবেন না বা ডকুমেন্ট কে সংরক্ষন/সেভ করতে পারবেন না। সব কিছুই কমান্ড মোড এ করতে হবে।
এ দু’মোডই আপনাকে ব্যাপকভাবে ব্যবহার করতে হবে vi তে এবং একবার অভ্যস্ত হয়ে গেলে দেখবেন আপনার বর্তমান ব্যবহৃত এডিটর (নোটপ্যাড, ওয়ার্ড বা অন্য যেকোন এডিটর) থেকেও আপনি কত দ্রুতগতিতে vi এর মাধ্যমে ডকুমেন্ট নিয়ে কাজ করতে পারছেন।
  • মোড এর ব্যবহার এবং লেখালেখি করা
অনেক আলোচনা তো হল। এবার ব্যবহারিক নিয়ে শুরু করা যাক- কি বলেন?
যখন আপনি প্রথম vi চালু করবেন (যেকোন শেল ওপেন করে vi টাইপ করে এন্টার কি চাপুন), আপনি নিচের মত একটি স্ক্রিন পাবেনঃ
~
~
~
~
~
~
প্রতিটি টাইলড(~) এর প্রতীক একটি লাইনকে নির্দেশ করে যেখানে কোন কিছু লেখা নাই । টাইলড কি দিয়ে একটি ফাঁকা লাইন এবং একটি লাইন যার অভ্যন্তরে কোন কিছু নাই - তার মধ্যে পার্থক্যকে নির্দেশ করে অর্থাৎ আপনি যখন এন্টার কি প্রেস করেন তখন একটি নতুন লাইন সৃষ্টি হয় যেটি দেখতে ফাকা মনে হলেও সেখানে একটি নতুন লাইন ক্যারেক্টার থাকে যা একটি নতুন লাইনকে নির্দেশ করে। vi প্রথমে চালু হলে আপনি একে কমান্ড মোডে পাবেন। এখানে একটু মনে রাখতে হবে যে, vi তে কমান্ডগুলি কিন্তু কেস সেনসিটিভ অর্থাৎ বড় হাতের এবং ছোট হাতের অক্ষরকে সে আলাদাভাবে বিবেচনা করে থাকে - উদাহরনস্বরূপ ছোট হাতের i এবং বড় হাতের I কখনই এক রকম কমান্ড এর নির্দেশ হবে না।
নতুন কিছু লিখতে প্রথমেই i চাপুন তাহলে আপনি ইনসার্ট মোডে প্রবেশ করবেন। আপনি এখন থেকে যা টাইপ করবেন তা ডকুমেন্টে নতুন লেখা হিসেবে টাইপ হতে থাকবে। এখন কিছু শব্দ লিখতে থাকুন এবং ব্যাকস্পেস কি চেপে কিছু লেখা মুছে আবার নতুন কিছু লিখুন।
এস্কেপ(Esc) কি চাপ দিলে আপনি ইনসার্ট মোড থেকে বেরিয়ে পূনরায় কমান্ড মোডে প্রবেশ করতে পারবেন। কয়েকবার মোড পরিবর্তন করুন আর কিছুটা অভ্যস্ত হওয়া পর্যন্ত একই কাজ করতে থাকুন। এখন vi থেকে বের হওয়ার জন্য আপনি কমান্ড মোডে সুইচ করুন প্রথমে তারপর টাইপ করুন :q (colon q) এবং enter কি চাপুন। সম্ভবত আপনার প্রত্যাশানুযায়ী এটি বের না হয়ে একটি বার্তা প্রদর্শন করবে যেখানে একটি সতর্কতাস্বরূপ সে জানতে চাইবে আপনি ডকুমেন্ট সংরক্ষন করতে চান কি না? যেহেতু আমরা ডকুমেন্টটি সংরক্ষন করবো না তাই আমরা vi কে একটি কমান্ড দিব যাতে সে এই বার্তা প্রদশন না করে। তাই টাইপ করুন :q! (colon q exclamation mark) এবং enter চাপুন। এখন vi এডিটর থেকে বের হয়ে আপনি পূনরায় শেল এ যেতে পারবেন।
  • ডকুমেন্টে স্থানান্তর করার পদ্ধতি
যারা মাউস দিয়ে ডকুমেন্টে স্থানান্তর করতে অভ্যস্ত তারা প্রথমেই একটু কঠিন মনে করতে পারেন vi এডিটর এ স্থানান্তর করাকে কিন্তু vi এর কি বোর্ড কমান্ড একবার শিখে গেলে দেখতে পাবেন যে এটি মাউস থেকে ও কত সহজ। এ পদ্ধতি গুলি জানতে প্রথমেই আপনি আগে থেকে কিছু টেক্সট আছে এমন একটি ডকুমেন্ট চালু করুন অথবা নতুন একটি ডকুমেন্ট তৈরী করে কিছু লিখুন যাতে এটিতে স্থানান্তর করার কমান্ড সমূহ দেয়া যায়। আগের কোন ডকুমেন্ট ওপেন করার জন্য কমান্ড দিন vi অথবা কমান্ড দিন vi এবং ইনসার্ট মোড এ প্রবেশ করে কয়েক লাইন লিখুনঃ
vi তে স্থানান্তর করার কমান্ডগুলি নিম্নরূপঃ
• h - বামে
• j - নিচে
• k - উপরে
• l - ডানে
কি সহজ মনে হচ্ছে না? যদি ও আধুনিক vi এর সংস্করনগুলিতে এ্যারো কি ব্যবহার করে করে মুভ করা যায় কিন্তু উপরের কি-গুলি ব্যবহারের মাধ্যমে আপনি সব ভার্সনের vi তেই সঠিকভাবে কাজ করতে পারবেন। তাই এটি শিখে রাখা অত্যন্ত গুরুত্বপূর্ণ যাতে আপনাকে কোন একটি বিশেষ ভার্সন এর vi উপর নির্ভর না করতে হয়। এটি শেখার আরেকটি সুবিধা হচ্ছে যে আপনি কি-বোর্ডের কেন্দ্র থেকেই স্থানান্তর করতে পারছেন ফলে টাইপিং স্পিড অনেকগুন বেড়ে যাবে। তাই চেষ্টা চালিয়ে যান।
vi এ স্থানান্তর করার জন্য সার্চ ফাংশনগুলির গুরুত্ব অনেক। কমান্ড মোডে থাকা অবস্থায় টাইপ করুন / (একটি অগ্রবর্তী স্ল্যাশ, তারপর যে শব্দ বা অক্ষর আপনি খুজতে চান) তারপর enter দিন এবং আপনার স্থান থেকে সরাসরি প্রথম মিল পাওয়া স্থানে নিয়ে যাবে। পূনরায় একই সার্চ করতে চাইলে টাইপ করুন / এবং enter চাপুন। পিছন দিকে খোজার অপশনটিও সহজ। শুধুমাত্র টাইপ করুন / এর পরিবর্তে ? । লক্ষ্য রাখবেন যে, সকল কমান্ডই কেস সেনসিটিভ; যদি আপনি এ অপশনটি বন্ধ করতে চান তবে সার্চের আগে কমান্ড দিন :set ic
সার্চ এর ব্যবহার করার সময় মনে রাখতে হবে যে কিছু বিশেষ অক্ষর vi তে বিশেষ অর্থ বহন করে। উদাহরনস্বরূপ ফুল স্টপ অক্ষরটি (.) বলতে যেকোন অক্ষর ম্যাচ করাকে বোঝায়। অর্থাৎ আপনি যখন সার্চ করবেন /192.168, তখন 192.168.1.125 শব্দটি ও খুজে পাবে, কিন্তু সে একইসাথে 1920168 শব্দটি ও খুজে পাবে। আপনি এ সমস্ত বিশেষ অক্ষরের আগে একটি স্ল্যাশ ব্যবহার করে এ সমস্যার সমাধান করতে পারেন । আগের উদাহরনে আপনি যদি প্রথম প্যাটার্নটি খুজে পেতে চান দ্বিতীয়টির বদলে তাহলে টাইপ করুন /192\.168।
  • লেখা সংশোধন করা
পূনরায় একটু স্মরন করা যাক - vi যখন চালু হয় তখন আমরা কমান্ড মোডে থাকি। এখান থেকে i চেপে আপনি ইনসার্ট মোডে প্রবেশ করতে পারেন এবং বিষয়বস্তুর অভ্যন্তরে টাইপ করতে পারেন। কিন্তু আর কি কোন পদ্ধতি আছে ইনসার্ট মোডে প্রবেশ করার জন্য এবং যা লিখেছেন তা সংশোধন কিভাবে করবেন? কমান্ড মোড থেকে ইনসার্ট মোডে যাওয়ার জন্য অনেক অপশন রয়েছে।
আমরা ইতিমধ্যেই জেনেছি যে, i টাইপ করলে আমাদেরকে ইনসার্ট মোডে কার্সর অবস্থানে নিয়ে যায়। এছাড়া আরো কয়েকটি উপায় রয়েছে ইনসার্ট মোডে যাওয়ার। উদাহরনস্বরূপ, যদি I টাইপ করেন, আপনি ইনসার্ট মোডে প্রবেশ করে বর্তমান লাইনের একদম শুরুতে যেতে পারবেন। a টাইপ করে আপনি বর্তমান কার্সরের ডান দিক লেখা থেকে শুরু করতে পারেন এবং A টাইপ করে বর্তমান লাইনের একদম শেষ থেকে শুরু করতে পারবেন। কার্সরের নিচে একটি ফাকা লাইন তৈরী করে লেখার জন্য o টাইপ করুন এবং উপরে তৈরীর জন্য O চাপুন।
একটি একটি করে অক্ষর মুছতে হলে কার্সরটাকে টেক্সট এর সামনে নিয়ে আসুন আর চাপতে থাকুন x। আর ব্যাকস্পেস এর মত অন্যদিক থেকে মুছতে চাপুন X। ব্যস মোছামুছি শিখে গেলেন-তাই না? পুরো লাইন মুছতে চান? তাহলে টাইপ করুন dd। আর একটি শব্দ মুছতে চাপুন dw তাহলে পরের শব্দটি গায়েব হয়ে যাবে। বর্তমান কার্সর অবস্থান থেকে লাইনের শেষ মাথা পর্যন্ত মুছতে হলে D কমান্ড ব্যবহার করুন।
খুব বেশী মোছা হয়ে গেল কি? কোন সমস্যা নাই। আগের লেখা ফিরে পেতে চাপুন u এবং পুরো লাইন ফেরত পেতে U। vi এর কিছু ক্লোন মাল্টিলেভেল আনডু সাপোর্ট করে তাই একের অধিকবার u চাপলে আপনাকে এটি ডকুমেন্ট এ যত আগের অবস্থানে ছিলেন সেখানে নিয়ে যেতে থাকবে। এই আনডু কমান্ডটি ভালোভাবে শিখে নিন কারন তা প্রায়ই আপনার কাজে লাগবে।
  • কপি এবং পেস্ট করা
vi এডিটর এ কপি এবং পেস্ট করার দারুন সুবিধা আছে।
নিশ্চয়ই অনুমান করতে কষ্ট হচ্ছে না যে, এজন্য কয়েকটি কমান্ড শিখতে হবে। yw টাইপ করলে একটি শব্দ কপি হবে, yy একটি লাইন কপি করবে, এবং y বর্তমান কার্সর থেকে আপনার টার্গেট motion পর্যন্ত কপি করবে। উদাহরনস্বরূপঃ আপনি কার্সর থেকে ডকুমেন্ট এর প্রায় নিচে অবস্থিত একটি অক্ষর blue পর্যন্ত কপি করার জন্য টাইপ করুন y/blue এবং enter চাপুন। এটি আসলে সার্চ এর স্থানান্তর পদ্ধতি ব্যবহার করেই কপি করে থাকে। আপনি স্থানান্তর করার যেকোন কমান্ড এখানে ব্যবহার করতে পারেন।
কপি করা টেক্সট পেস্ট করাটা মোটেও কঠিন নয়- p চাপুন কার্সর এর আগে পেস্ট করতে চাইলে আর P চাপুন কার্সর এর পরে পেস্ট করতে চাইলে।
বাফার এর ব্যবহার সাধারন কপি এবং পেস্ট করা থেকে খুব একটা ভিন্ন নয়- একটি নির্দিষ্ট বাফারে কোন টেক্সট কপি করার জন্য টাইপ করুন- "x যেখানে x হচ্ছে বাফার এর নাম (a-z), এবং action হচ্ছে কপি করার কোন কমান্ড, যেমন yy। নির্দিষ্ট বাফার থেকে পেস্ট করতে চাইলে টাইপ করুন "xp অথবা "xP, যেখানে x হচ্ছে বাফারের নাম। কিছুক্ষন প্র্যাকটিস করলে আপনি ঘুমের মধ্যে ও কপি পেস্ট করতে পারবেন এটা নিশ্চিত।
  • ফাইল সংরক্ষন করা
এখন পর্যন্ত আপনি কিভাবে ডকুমেন্ট খুলতে হয়, কিভাবে লিখতে হয়, সংশোধন করতে হয়, স্থানান্তর করতে হয় তা শিখেছেন - তাই কিভাবে ডকুমেন্ট কে সংরক্ষন করবেন তা শেখার সব থেকে ভাল সময় এখন ।
যদি আপনি vi চালু করে থাকেন একটি ফাইলনেমকে প্যারামিটার হিসেবে দিয়ে (যেমনঃ vi )তবে শুধুমাত্র :w টাইপ করলেই আপনার ডকুমেন্টটিকে filename এর নাম হিসেবেই সংরক্ষন করবে। যদি অন্য কোন সমস্যা যেমন পারমিশন বা রিড অনলি সমস্যা দেখা দেয় তবে আপনার যদি সঠিক পারমিশন থাকে আপনি এটিকে ওভাররাইড করার জন্য কমান্ড দিতে পারেনঃ:w!
যদি ডকুমেন্টের নতুন একটি কপি সংরক্ষন করতে চান (ধরি, ব্যাকআপ হিসেবে) অথবা যদি vi চালু করে থাকেন ফাইলনেম প্যারামিটার না দিয়ে তবে নতুন একটি নামসহ সংরক্ষন এর জন্য কমান্ড দিনঃ:w । এছাড়া আরো একটি চমৎকার অপশন % টাইপ করে (যেটি বর্তমান ফাইল এর নামকে বোঝায়) একই কমান্ড দেয়া যায়। উদাহরনস্বরূপ, typing :w %.bak টাইপ করলে বর্তমান ফাইলটিকে একই নামে .bak এক্সটেনশনসহ সংরক্ষন করবে।
একটি মাত্র কমান্ডের সাহায্যে vi থেকে বের হওয়ার জন্য টাইপ করুন:x অথবা :wq; দুটি কমান্ড এর কাজ মূলত একই। আপনি ZZ (কোলন ছাড়া) ব্যবহার করে ও ডকুমেন্ট সংরক্ষন করা ও বের হওযার কাজ করতে পারেন। আগের মত এখানে ও কমান্ড এর শেষে আপনি একটি বিস্ময়চিহ্ন ব্যবহার করে কোন বার্তা প্রদর্শন করা থেকে vi কে বিরত রাখতে পারেন।
  • স্থানান্তরের আরো কয়েকটি কমান্ড
হয়ত খেয়াল করে থাকবেন vi তে কোন কাজ করার জন্য একের অধিক কমান্ড আছে। স্থানান্তর করা ও এক্ষেত্রে ব্যতিক্রম নয় এবং এখানে আরও চমৎকার কিছু পদ্ধতির ব্যবহার আমরা দেখব।
বড়সড় ফাইল প্রায়ই এডিটের প্রয়োজন হয়ে থাকে। তাই যদি লাইন বাই লাইন আপনি স্ক্রলিং করতে থাকেন তাহলে সেটি খুব একটি সুবিধার কাজ হবে না নিশ্চয়ই। এজন্য এক স্ক্রিন পরিমান সামনের দিকে স্থানান্তরের জন্য চাপুন ctrl-F এবং এক স্ক্রিন পিছনে যাওয়ার জন্য চাপুন ctrl-B। সামনের দিকে অর্ধেক পরিমান পেজ স্ক্রল করার জন্য চাপুন ctrl-D, অথবা পিছনে যাওয়ার জন্য ctrl-U । স্ক্রিন এর উপরে এক লাইন বেশী দেখার জন্য টাইপ করুন ctrl-Y এবং নিচে এক লাইন বেশী দেখার জন্য টাইপ করুন ctrl-E.
মাঝে মাঝে কার্সর এর উপর ভিত্তি করে পেজ এ স্থানান্তর করা বেশ সুবিধাজনক। z চাপার পর enter চাপলে বর্তমান কার্সর এর অবস্থানকে পেজ এর উপর স্থানান্তর করবে। z. পেজকে মধ্যভাগে নিয়ে যাবে এবং z- নিচের দিকে নিয়ে যাবে। এ কমান্ডগুলি কিছুটা ঝামেলপূর্ন হলে ও মনোযোগ দিয়ে শিখে রাখুন।
প্রোগ্রামিং করার এর সময় আরো একটি গুরুত্বপূর্ন কমান্ড কাজে লাগে আর সেটি হচ্ছে একটি নির্দিষ্ট লাইন নম্বরে স্থানান্তর করা। আপনি এটি: (কোলন এর পর লাইন নম্বর দিন) কমান্ড দিয়ে করতে পারেন এবং enter চাপুন। উদাহরনস্বরূপ যদি :32 টাইপ করেন তাহলে আপনার ফাইলের ৩২ নম্বর লাইন যেতে পারবেন।
  • অনুসন্ধান এবং বদল করা
আমি কি আপনাকে ইনসার্ট মোডের আর একটি বিশেষ অবস্থা ওভারটাইপ মোড দেখিয়েছি যেটা R টাইপ করে দেয়া হয়ে থাকে অথবা একটি অক্ষর বদলে দেয়ার জন্য শুধুমাত্র r কমান্ড করেই কাজ করা যায় সেটি? যাই হোক এখন তো জানলেন। কিন্তু এখন একটি অন্য বিষয নিয়ে আপনাকে বলতে চাই।
vi তে অনুসন্ধান এবং বদল করার কাজটি মূলত রেগুলার এক্সপ্রেশন ব্যবহার করেই করা হয়ে থাকে এবং এটি দিয়ে অনেক জটিল কাজ সম্পাদন করা সম্ভব। যেমন প্রথম সাতটি potato শব্দের জন্য দ্বিতীয় o টিকে পরিবর্তন করা অথবা দুটি p সম্বলিত যেকোন শব্দকে parrot শব্দ দিয়ে রূপান্তর করা ইত্যাদি। যেকোন সার্চ অপশনের মত এখানে ও সকল কিছুই কেস সেনসিটিভ। এটি বন্ধের জন্য কমান্ড দিন :set ic যাতে কেস সেনসিটিভিটি সংক্রান্ত সমস্যা এড়াতে পারেন।
সাধারন অনুসন্ধান এবং বদল করার কমান্ডগুলি খুবই সহজ; টাইপ করুন :s/foo/bar এর ফলে বর্তমান লাইনে foo শব্দটির বদলে bar শব্দটি দিয়ে বদল করতে পারবেন। ডকুমেন্টের কতটুকু অংশে এ পরিবর্তন করতে হবে তা নির্দিষ্ট করে দেয়া যায় - যেমন :1,4s/foo/bar টি দিলে ১-৪ নম্বর লাইনে যতগুলি পরিবর্তন করা সম্ভব তা করবে। সমস্ত ডকুমেন্টে পরিবর্তন করতে চাইলে টাইপ করুন:%s/chicken/dog যেখানে chicken এর বদলে সব জায়গাতে dog লেখা হয়ে যাবে, একই কমান্ড আরেকটু অন্যভাবে দিতে পারেন :1,$s/chicken/dog, যেখানে $ এর অর্থ একবারে শেষ লাইন পর্যন্ত।
যদি খুব বেশী পরিবর্তন এর আশঙ্কা করেন তবে প্রতিবার বদল করার সময় একটি বার্তা প্রদর্শনের অপশন দিতে পারেন। এজন্য অনুসন্ধান কমান্ড এর একদম শেষে /c অতিরিক্ত যোগ করুন যেমন :%s/abuot/about/c। /p অপশন ব্যবহার করে যতগুলি পরিবর্তন করা হবে সবগুলি একটি বার্তা এর মাধ্যমে দেখানোর কমান্ড দেয়া যায়।
  • শেষকথা
এ টিউটোরিয়ালে vi এডিটর এর শক্তিশালী দিকটি ফুটিয়ে তোলার চেষ্টা করেছি যাতে আপনি দৈনন্দিন জীবনে এটি থেকে সর্বোচ্চ সুবিধা আদায় করে নিতে পারেন। একটু ধৈর্য্য ও পরিশ্রম করে শিখে নিলে আশা করি এতে কাজ করে আনন্দ পাবেন। এটি আপনার আগামী দিনের একটি সম্ভাবনা উম্মোচনে সাহায্য করুক সেই প্রত্যাশায় শেষ করছি।

0 comments:

Post a Comment