ব্যাকএন্ড ইঞ্জিনিয়ার হিসেবে আমি সবসময় এমন টুলস খুঁজি যা আমার কাজের গতি বাড়িয়ে দেবে। আমার টুলকিটের সবচেয়ে গুরুত্বপূর্ণ অংশ হলো নিওভিম (Neovim)। এর মোডাল এডিটিং আর Neovim Keybindings আমার কডিং লাইফকে পুরো বদলে দিয়েছে। মাউস ছাড়াই কোডবেসে ঘুরে বেড়ানোর আনন্দটা আসলে একবার অভ্যস্ত না হলে বোঝা কঠিন।

মোডাল ম্যাজিক: কেন নিওভিম আলাদা?

নিওভিম বা ভিম (Vim) এডিটরের একটা দারুণ ব্যাপার হলো "Modal Editing"। প্রথমে এটা একটু অদ্ভুত মনে হতে পারে, বিশেষ করে যদি আপনি রেগুলার টেক্সট এডিটরে অভ্যস্ত হন। কিন্তু একবার বুঝে গেলে দেখবেন কতটা ইফিশিয়েন্ট এটি। নিওভিমের বিভিন্ন মোড আছে:

  • Normal Mode: এটাই আপনার মেইন নেভিগেশন মোড। সিঙ্গেল কি ব্যবহার করে আপনি কোডের এক জায়গা থেকে অন্য জায়গায় নিমেষেই চলে যেতে পারেন। যেমন, 'j' দিয়ে নিচে, 'k' দিয়ে উপরে যাওয়া।

  • Insert Mode: এখানে আপনি টাইপ করেন। একদম সাধারণ টেক্সট এন্ট্রির মতো।

  • Visual Mode: কোনো টেক্সট সিলেক্ট করার জন্য এই মোডটি ব্যবহার করা হয়। হাইলাইট করা, কপি বা কাট করার জন্য এটি বেশ কাজের।

  • Command Mode: এখানে আপনি সার্চ বা বিভিন্ন কমান্ড রান করতে পারেন।

কি-বাইন্ডিং নিয়ে কিছু কথা

নিওভিমের আসল জাদু লুকিয়ে আছে এর Neovim Keybindings এর মধ্যে। একবার যদি হাতের আঙুলগুলো কিবোর্ডের সাথে মানিয়ে নেয়, তবে দেখবেন মাউস ধরার আর প্রয়োজনই পড়ছে না।

  • কোডে ঘুরে বেড়ানো, ওয়ার্ড ডিলিট করা (dw), কপি (y) বা পেস্ট (p)—সবই চোখের পলকে হয়ে যায়।
  • '/' প্রেস করে আপনি যেকোনো কিছু সার্চ করতে পারেন। 'n' প্রেস করলে পরের ম্যাচে নিয়ে যাবে।
  • ট্যাব ম্যানেজ করা থেকে শুরু করে উইন্ডো স্প্লিট করা—সবকিছুই কিবোর্ড দিয়ে সম্ভব।
  • নিজের পছন্দমতো কাস্টম শর্টকাট তৈরি করা যায়। যেমন, আমি ক্যাপস লককে এস্কেপ (Escape) হিসেবে ব্যবহার করি যাতে হাত মুভ না করেই মোড চেঞ্জ করতে পারি।

নিওভিমের চ্যালেঞ্জ এবং আমার তিক্ত অভিজ্ঞতা

সবকিছু ভালো বললেও নিওভিমের একটা বড় লার্নিং কার্ভ আছে। আমার মনে হয়, শুরুতে নিওভিম ব্যবহার করা বেশ যন্ত্রণার। আমি যখন প্রথমবার ভিম ওপেন করেছিলাম, আমি জানতামই না কীভাবে ফাইল থেকে বের হতে হয়। প্রায় ১৫ মিনিট গুগলে সার্চ করার পর আমি :q! কমান্ডটা শিখলাম। এছাড়া কনফিগারেশন নিয়ে সময় নষ্ট করাটা একটা বড় অসুখ। মাঝেমধ্যে মনে হয়, আমি কোড করছি না বরং এডিটরই ঠিক করছি।

নিওভিম আপনার প্রোডাক্টিভিটি রকেটের মতো বাড়িয়ে দিলেও এর কনফিগারেশন হেল (Configuration Hell) থেকে সাবধান থাকা উচিত। অনেক সময় দেখা যায় একটা প্লাগইন আপডেট করতে গিয়ে পুরো সেটআপ ভেঙে গিয়েছে।

আপনার স্টাইল অনুযায়ী নিজের কি-বাইন্ডিং আর ফাংশনগুলো সাজিয়ে নিতে পারেন। আমি আমার ডটফাইল (dotfiles) নিচে দিয়েছি, যা দেখে আপনি আইডিয়া নিতে পারেন।

দরকারি লিঙ্ক আর টিউটোরিয়াল

কডিং স্পিড বাড়াতে Neovim Keybindings এর ব্যবহার, মোডাল এডিটিং এবং কাস্টম কনফিগারেশনের সুবিধা নিয়ে জানুন এই ব্লগে। কীভাবে মাউস ছাড়াই দক্ষ ডেভেলপার হওয়া যায়, তার বিস্তারিত।

Asaduzzaman Pavel

About the Author

Asaduzzaman Pavel is a Software Engineer who actually enjoys the friction of a well-architected system. He has over 15 years of experience building high-performance backends and infrastructure that can actually handle the real-world chaos of scale.

Currently looking for new opportunities to build something amazing.