কম্পিউটার টিউটোরিয়াল

Powerline: কাস্টম স্ট্যাটাস লাইন ও প্রম্পট দিয়ে Vim এবং শেলকে উন্নত করুন

Powerline হল Vim এডিটরের জন্য একটি চমৎকার স্ট্যাটাসলাইন প্লাগইন, যা Python-এ তৈরি হয়েছে এবং bash, zsh, tmux সহ অন্যান্য অনেক অ্যাপ্লিকেশনের জন্য স্ট্যাটাস লাইন ও প্রম্পট প্রদান করে।

Powerline কী এবং এটি কীভাবে সাহায্য করে?

এই টুলটি Vim এডিটরের চামচাময়তা এবং কার্যকারিতা উন্নত করে। এডিটর উইন্ডোর নিচে একটি কাস্টমাইজযোগ্য এবং তথ্যবহুল স্ট্যাটাস লাইন যোগ করে, যেখানে বর্তমান মোড (নরমাল, ইনসার্ট, ভিজ্যুয়াল), ফাইল নাম, পাথ, লাইন ও কলাম নম্বর, Git ব্রাঞ্চ, ভার্চুয়াল এনভায়রনমেন্ট ইত্যাদি দেখা যায়।

Powerline: কাস্টম স্ট্যাটাস লাইন ও প্রম্পট দিয়ে Vim এবং শেলকে উন্নত করুন
Powerline Vim স্ট্যাটাসলাইন

প্রধান বৈশিষ্ট্য

  • Python-এ লেখা হওয়ায় এটি এক্সটেনসিবল এবং ফিচার-রিচ।
  • স্থিতিশীল এবং টেস্টযোগ্য কোডবেস, যা Python 2.6+ এবং Python 3-এ ভালোভাবে কাজ করে।
  • বিভিন্ন লিনাক্স ইউটিলিটি এবং টুলের জন্য প্রম্পট ও স্ট্যাটাসলাইন সাপোর্ট করে।
  • JSON ব্যবহার করে কনফিগারেশন এবং ডেকোরেটর রঙ তৈরি করা হয়েছে।
  • ডিমন সাপোর্টসহ দ্রুত এবং লাইটওয়েট, যা আরও ভালো পারফরম্যান্স দেয়।

লিনাক্সে Powerline ইনস্টল করার পদ্ধতি

অন্যান্য অপ্রাসঙ্গিক প্রজেক্টের সাথে নামের দ্বন্দ্বের কারণে, Powerline প্রোগ্রামটি PyPI (Python Package Index)–এ powerline-status প্যাকেজ নামের অধীনে উপলব্ধ।

pip ইনস্টল করুন

PyPI থেকে প্যাকেজ ইনস্টল করার জন্য পাইথন প্যাকেজ ম্যানেজমেন্ট টুল pip দরকার। নিচে বিভিন্ন ডিস্ট্রিবিউশনের জন্য কমান্ড দেওয়া হল:

$ sudo apt install python3-pip          # Debian, Ubuntu, Mint
$ sudo yum install python3-pip          # RHEL/CentOS/Fedora, Rocky Linux/AlmaLinux
$ sudo emerge -a dev-lang/pip           # Gentoo Linux
$ sudo apk add py3-pip                  # Alpine Linux
$ sudo pacman -S python-pip             # Arch Linux
$ sudo zypper install python3-pip       # OpenSUSE

Git ইনস্টল করুন

Powerline-এর সর্বশেষ ডেভেলপমেন্ট ভার্সন Git রিপোজিটরি থেকে ইনস্টল করতে হবে। সেজন্য Git প্যাকেজ ইনস্টল থাকতে হবে:

$ sudo apt install git                  # Debian, Ubuntu, Mint
$ sudo yum install git                  # RHEL/CentOS/Fedora, Rocky/AlmaLinux
$ sudo emerge -a git                    # Gentoo Linux
$ sudo apk add git                      # Alpine Linux
$ sudo pacman -S git                    # Arch Linux
$ sudo zypper install git               # OpenSUSE

pip দিয়ে Powerline ইনস্টল করুন

$ pip install powerline-status

যদি externally-managed-environment এরর দেখা দেয় (যা সাধারণত পাইথন ভার্চুয়াল এনভায়রনমেন্টের কারণে হয়), তবে নিচের ফাইলটি মুছে আবার চেষ্টা করুন:

$ sudo rm -rf /usr/lib/python3.x/EXTERNALLY-MANAGED

প্যাকেজ ম্যানেজার দিয়ে ইনস্টল (বিকল্প)

$ sudo apt install powerline            # Debian, Ubuntu, Mint
$ sudo yum install powerline            # RHEL/CentOS/Fedora, Rocky/AlmaLinux
$ sudo emerge -a sys-apps/powerline     # Gentoo Linux
$ sudo apk add powerline                # Alpine Linux
$ sudo pacman -S powerline              # Arch Linux
$ sudo zypper install powerline         # OpenSUSE

Powerline Fonts ইনস্টল করুন

Powerline বিশেষ glyphs (টিরে চিহ্ন ও সিম্বল) ব্যবহার করে। এই সিম্বলগুলো দেখাতে হলে আপনার সিস্টেমে প্যাচ করা ফন্ট বা সিম্বল ফন্ট থাকতে হবে।

pip ইনস্টলেশনের জন্য ফন্ট

$ wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
$ wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf
$ sudo mv PowerlineSymbols.otf ~/.local/share/fonts/
$ sudo fc-cache -vf ~/.local/share/fonts/
$ sudo mv 10-powerline-symbols.conf ~/.config/fontconfig/conf.d/

প্যাকেজ ম্যানেজার ইনস্টলেশনের জন্য ফন্ট

$ sudo apt install fonts-powerline          # Debian, Ubuntu, Mint
$ sudo yum install powerline-fonts          # RHEL/CentOS/Fedora, Rocky/AlmaLinux
$ sudo emerge -a sys-apps/powerline-fonts   # Gentoo Linux
$ sudo apk add powerline-fonts              # Alpine Linux
$ sudo pacman -S powerline-fonts            # Arch Linux
$ sudo zypper install powerline-fonts       # OpenSUSE

Bash-এ Powerline কালার প্রম্পট সক্রিয় করুন

pip-এ ইনস্টল করলে ~/.bashrc ফাইলে নিচের লাইন যোগ করুন:

export TERM="screen-256color"

Powerline-এর লোকেশন পেতে:

$ pip show powerline-status
# Location: /home/tecmint/.local/lib/python3.11/site-packages (উদাহরণ)

এখন ~/.bashrc-এ নিচের স্নিপেট যোগ করুন (লোকেশন আপনার সিস্টেম অনুযায়ী পরিবর্তন করুন):

powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /home/tecmint/.local/lib/python3.11/site-packages/powerline/bindings/bash/powerline.sh

প্যাকেজ ম্যানেজার দিয়ে ইনস্টল করলে:

$ source /usr/share/powerline/bindings/bash/powerline.sh

লগ আউট করে আবার লগ ইন করুন। তাহলে নিচের মতো প্রম্পট দেখতে পাবেন:

Powerline: কাস্টম স্ট্যাটাস লাইন ও প্রম্পট দিয়ে Vim এবং শেলকে উন্নত করুন
Bash Powerline স্ট্যাটাসলাইন

ডিরেক্টরি পরিবর্তন করলে "breadcrumb" প্রম্পট আপনার বর্তমান লোকেশন দেখাবে। পেন্ডিং ব্যাকগ্রাউন্ড জব এবং SSH কানেকশনে হোস্টনেমও প্রদর্শিত হবে।

Vim-এ Powerline কালার প্রম্পট সক্রিয় করুন

~/.vimrc ফাইলে নিচের লাইনগুলো যোগ করুন:

python3 from powerline.vim import setup as powerline_setup
python3 powerline_setup()
python3 del powerline_setup
set laststatus=2

এখন Vim লঞ্চ করুন — নিচের মতো একটি সুন্দর স্ট্যাটাস লাইন দেখবেন:

Powerline: কাস্টম স্ট্যাটাস লাইন ও প্রম্পট দিয়ে Vim এবং শেলকে উন্নত করুন
Vim Powerline স্ট্যাটাসলাইন

সারসংক্ষেপ

Powerline বিভিন্ন অ্যাপ্লিকেশনে রঙিন ও সুন্দর স্ট্যাটাসলাইন ও প্রম্পট সেট করতে সাহায্য করে, যা কোডিং এনভায়রনমেন্টের জন্য খুব উপযোগী। আশা করি এই গাইডটি আপনার কাজে আসবে। কোনো প্রশ্ন বা सुझাব থাকলে কমেন্টে জানান।

  1. জাভাতে JTable-এ টেবিল হেডার শো/হাইড করা

  2. Matplotlib-এ ফিগারকে PDF-এ রাস্টার ইমেজ হিসেবে সংরক্ষণ করা

  3. জাভাস্ক্রিপ্টে ডি-কন্সট্রাকশন ব্যবহার করে অবজেক্টে নতুন প্রোপার্টি অ্যাসাইন করা যায় কি?

  4. অ্যান্ড্রয়েডে বর্তমান থ্রেডের স্টেট (State) পাওয়ার পদ্ধতি