ভিম (Vim – Vi IMproved) হচ্ছে ইউনিক্সভিত্তিক এডিটর ভি (Vi)-এর একটি উন্নত সংস্করণ। এটি অত্যন্ত শক্তিশালী, সহজ,1 হাইলি কনফিগারেবল এডিটর। এই আর্টিকেল লেখা পর্যন্ত ভিমের সর্বশেষ সংস্করণ হচ্ছে ৮.২, আমি ৮.১ ব্যবহার করছি। আপনার সিস্টেমে অন্য কোনো সংস্করণ থাকলেও সমস্যা নেই। ভিম না থাকলে ইনস্টল করে নিতে হবে। ডেবিয়ান/উবুন্টুভিত্তিক ডিস্ট্রোগুলোতে sudo apt install vim, আর্চ/মানজারোতে sudo pacman -S vim, রেড হ্যাট/ফেডোরাতে sudo dnf install vim কমান্ড দিয়ে ইনস্টল করা যাবে। উইন্ডোজের জন্য ডাউনলোড করা যাবে এখান থেকে – https://www.vim.org/download.php

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

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

প্রাথমিকভাবে এই সিরিজটি আমি তিন ভাগে লিখব বলে ভাবছি –

  • এডিটর পরিচিতি
  • সাধারণ এডিটিং
  • কনফিগারেশন এবং কাস্টমাইজেশন

তো পরিচিতিটা সেরে নেওয়া যাক। টার্মিনাল খুলে vim লিখে এন্টার চাপলে নিচের মতো ইন্টারফেস দেখা যাবে –

এখানে বেশ কিছু তথ্য দেখা যাচ্ছে। যেহেতু কোনো close কিংবা quit বাটন দেখা যাচ্ছে না, তাই প্রথমে আমাদের জানতে হবে যে, এখান থেকে বের হওয়া যায় কীভাবে (অবশ্যই টার্মিনাল বন্ধ না করে)। আপনি নিশ্চয়ই একটি লাইন দেখতে পাচ্ছেন – type :q<Enter> to exit

অর্থাৎ :q লিখে এন্টার চাপলে আমরা এখান থেকে বের হতে পারব। এখানে q মানে quit; চাইলে :quit লিখেও বের হওয়া যায়।

অসাধারণ! আপনি ভিমে প্রবেশ করে বের হয়ে গেলেন! এই বের হওয়াটা অনেক কঠিন, এতই কঠিন যে এ নিয়ে শত শত মিম (meme) ইন্টারনেটে ঘুরছে। তো এত কঠিন যেহেতু, এটা শেখার দরকার কী? ভালো কথা, হোঁচট খাওয়ার ভয়ে হাঁটতে না শেখার মতো।

এবার তাহলে আসল কাজ শুরু করা যাক। ভিম ব্যবহার করে একটি ফাইলে hello vim কথাটি লিখতে হবে। সে জন্য টার্মিনালে প্রথমে নিচের কমান্ড দিয়ে একটি ফাইল তৈরি করে নিন –

$ touch hello.txt

কমান্ডের আগে $ চিহ্নের মানে হচ্ছে এটি শেল কমান্ড। অর্থাৎ একে টার্মিনালে চালাতে হবে। টার্মিনালে লেখার সময় $ চিহ্ন বর্জন করতে হবে। # চিহ্ন থাকলে বুঝতে হবে কমান্ডটি রুট প্রিভিলেজসহ চালাতে হবে, অর্থাৎ কমান্ডের আগে sudo যোগ করে নিতে হবে।

এতে hello.txt নামের একটি খালি (Empty) ফাইল তৈরি হবে। এবার ফাইলটি ভিমে ওপেন করতে হবে। সেজন্য নিচের কমান্ডটি লিখুন –

$ vim hello.txt

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

এখানে বেশ কিছু তথ্য রয়েছে। একেবারে বাম দিকে আছে ফাইলের নাম। তারপরে আছে 0L, 0C, মানে ফাইলটিতে বর্তমানে 0টি লাইন, 0টি ক্যারেক্টার রয়েছে, অর্থাৎ কিছুই নেই। ডান দিকে আছে কার্সরের অবস্থান, এবং ফাইলটির কতটুকু অংশ এই উইন্ডোতে দেখা যাচ্ছে। এগুলো এখনই না বুঝলেও সমস্যা নেই। শেখার সবচেয়ে ভালো পদ্ধতি হচ্ছে ব্যবহার করতে করতে শেখা।

এবার আমরা আমাদের লেখালেখি শুরু করতে পারি। কিবোর্ড থেকে h চাপুন, কিছু দেখতে পাচ্ছেন? না। ভিমে অনেকগুলো মোড (mode) আছে। কোনো ফাইল ওপেন করলে শুরুতে ভিম থাকে কমান্ড মোডে (একে নরমাল মোডও বলা হয়)। অর্থাৎ এই মোডে বিভিন্ন কমান্ড চালানো যায়। লেখালেখি করার জন্য আমাদের দরকার ইনসার্ট মোড। ইনসার্ট মোডে যাওয়ার জন্য কিবোর্ড থেকে i চাপতে হবে। i চাপার সঙ্গে সঙ্গে টার্মিনালের নিচে দেখুন ছবির মতো -- INSERT -- লেখা উঠেছে –

এখন আমরা যা ইচ্ছা তাই লিখতে পারি। চটপট hello vim লিখে ফেলুন তাহলে। এবার লেখাটি সেভ করতে হবে। সেভ করার জন্য আবার কমান্ড মোডে ফিরে যেতে হবে। কমান্ড মোডে যাওয়ার জন্য চাপতে হবে Esc কি (F1-এর বাঁ পাশে)। এবার সেভ করার জন্য নিচের কমান্ডটি লিখুন –

:write

সামনের কোলন চিহ্নটি দিতে ভুলবেন না। এটি লিখে এন্টার চাপলেই ফাইলটি সেভ হয়ে যাবে। এবার তাহলে আমাদের ভিম থেকে বের হতে হবে। কীভাবে মনে আছে তো? :quit বা :q। টার্মিনালে cat hello.txt কমান্ড দিয়ে দেখতে পারেন যে সত্যিই ফাইলটি সেভ হয়েছে কি না।

এবার আমরা নতুন একটি ফাইল তৈরি করব। আগের মতো touch কমান্ড ব্যবহার করার দরকার নেই, সরাসরি ভিম ব্যবহার করেই ফাইল তৈরি করা যায়। ফাইল ওপেন করার যে পদ্ধতি, ফাইল তৈরি করারও সেই একই পদ্ধতি। তাহলে টার্মিনালে লিখে ফেলুন –

$ vim file.txt

এতে ভিম উইন্ডো খুলবে। উল্লেখ্য যে, ফাইলটি কিন্তু এখনো তৈরি হয়নি (আসলে একটি অস্থায়ী ফাইল তৈরি হয়েছে। তবে সেটি নিয়ে এখন মাথা না ঘামালেও চলবে), :write লিখে সেভ করলেই ফাইলটি তৈরি হবে। এবার i চেপে এতে ইচ্ছেমতো কিছু লিখুন। এরপর Esc চেপে লিখুন :wq। কী হলো? ফাইলটি সেভ হলো, ভিমও বন্ধ হলো। :write কমান্ডটিকে সংক্ষেপে :w লেখা যায়, আর :q-এর সঙ্গে তো আগে থেকেই পরিচিত। এই দুটি কমান্ডকে সংক্ষেপে একত্রে :wq লেখা যায়। এটি লেখা সহজ ও দ্রুততর। এখন থেকে আমরা এভাবেই লিখব।

ওপরের আলোচনার সারমর্ম হলো :

  • vim <filename> দিয়ে যেকোনো ফাইল খোলা/তৈরি করা যাবে
  • লেখালেখির আগে ইনসার্ট মোডে যেতে হবে
  • কমান্ড চালানোর জন্য (যেমন - ফাইল সেভ করা) কমান্ড মোডে যেতে হবে
  • i চেপে ইনসার্ট মোড, Esc চেপে কমান্ড মোডে যেতে হবে
  • :wq দিয়ে একইসঙ্গে সেভ করা এবং ভিম থেকে বের হওয়া যাবে

(সুবিন ডট কমে পূর্বে প্রকাশিত।)


  1. সহজ বিষয়টি ব্যক্তির ওপর নির্ভর করে। ↩︎