গ্লোবাল

  • :h[elp] keyword - কীওয়ার্ডের জন্য সাহায্য খুলুন
  • :sav[eas] file - ফাইল হিসাবে সংরক্ষণ করুন
  • :clo[se] - বর্তমান ফলক বন্ধ করুন
  • :ter[minal] - একটি টার্মিনাল উইন্ডো খুলুন
  • K - কার্সারের নিচে শব্দের জন্য ম্যান পেজ খুলুন
Tip ভীম শেখার জন্য টার্মিনালে প্রথমে vimtutor এই কমান্ডটি রান করুন।

কার্সার মুভমেন্ট

  • h - বাম দিকে কার্সার সরান
  • j - নিচের দিকে কার্সার সরান
  • k - উপর দিকে কার্সার সরান
  • l - ডান দিকে কার্সার সরান
  • gj - move cursor down (multi-line text)
  • gk - move cursor up (multi-line text)
  • H - স্ক্রিনের শীর্ষে যেতে
  • M - স্ক্রিনের মাঝখানে যেতে
  • L - স্ক্রিনের শেষে যেতে
  • w - একটি শব্দের শুরুতে যেতে
  • W - একটি শব্দের শুরুতে যেতে (শব্দ বড় হাতের হতে পারে)
  • e - একটি শব্দের শেষে যেতে
  • E - একটি শব্দের শেষে যেতে (শব্দ বড় হাতের হতে পারে)
  • b - একটি শব্দের শুরুতে ফিরে যেতে
  • B - একটি শব্দের শুরুতে ফিরে যেতে (শব্দ বড় হাতের হতে পারে)
  • ge - একটি শব্দের শেষে ফিরে যেতে
  • gE - একটি শব্দের শেষে ফিরে যেতে (শব্দ বড় হাতের হতে পারে)
  • % - মিলানো অক্ষরে সরান (default supported pairs: '()', '{}', '[]' - use :h matchpairs আরও তথ্যের জন্য ভিম-এ ব্যবহার করুন)
  • 0 - লাইনের শুরুতে যেতে
  • ^ - লাইনের প্রথম নন ব্ল্যান্ক অক্ষরে যেতে
  • $ - লাইনের শেষে যেতে
  • g_ - লাইনের শেষ নন ব্ল্যান্ক অক্ষরে যেতে
  • gg - ডকুমেন্টের প্রথম লাইনে যেতে
  • G - ডকুমেন্টের শেষ লাইনে যেতে
  • 5gg or 5G - লাইন ৫ এ যেতে
  • gd - move to local declaration
  • gD - move to global declaration
  • fx - x অক্ষরের পরের শব্দে যেতে
  • tx - x অক্ষরের সামনে শব্দে যেতে
  • Fx - x অক্ষরের আগের শব্দে যেতে
  • Tx - x অক্ষরের পূর্ববর্তী শব্দে যেতে
  • ; - আগের পুনরাবৃত্তি f, t, F অথবা T নড়াচড়া
  • , - আগের পুনরাবৃত্তি f, t, F অথবা T নড়াচড়া, পিছনে
  • } - পরবর্তী অনুচ্ছেদে যেতে (অথবা ফাংশন/ব্লক, কোড সম্পাদনা করার সময়)
  • { - আগের অনুচ্ছেদে যেতে (অথবা ফাংশন/ব্লক, কোড সম্পাদনা করার সময়)
  • zz - কার্সার স্ক্রিনের কেন্দ্রে
  • zt - position cursor on top of the screen
  • zb - position cursor on bottom of the screen
  • Ctrl + e - স্ক্রিন এক লাইনের নিচে সরানো হচ্ছে (কার্সর না সরিয়ে)
  • Ctrl + y - স্ক্রিন এক লাইনের উপরে সরানো হচ্ছে (কার্সর না সরিয়ে)
  • Ctrl + b - একটি পূর্ণস্ক্রীন পিছনে সরান
  • Ctrl + f - একটি পূর্ণস্ক্রীন এগিয়ে সরান
  • Ctrl + d - 1/2 একটি পর্দা এগিয়ে যান
  • Ctrl + u - 1/2 একটি পর্দা পিছনে সরান
Tip এটি পুনরাবৃত্তি করতে একটি সংখ্যা সহ একটি কার্সার মুভমেন্ট কমান্ডের প্রিফিক্স। উদাহরণ স্বরূপ, 4j4 লাইন নিচে সরানো।

টেক্সট সংযোজন (Insert mode)

  • i - কার্সারের আগে ইন্সার্ট করা
  • I - লাইনের শুরুতে ইন্সার্ট করা
  • a - কার্সারের পরে ইন্সার্ট (সংযোজন) করুন
  • A - লাইনের শেষে ইন্সার্ট (সংযোজন) করুন
  • o - বর্তমান লাইনের নীচে একটি নতুন লাইন যুক্ত করুন (খুলুন)
  • O - বর্তমান লাইনের উপরে একটি নতুন লাইন যুক্ত (খুলুন)
  • ea - শব্দের শেষে ইন্সার্ট (সংযোজন)
  • Ctrl + h - ইন্সার্ট মোডের সময় কার্সারের আগে অক্ষরটি মুছুন
  • Ctrl + w - ইন্সার্ট মোডের সময় কার্সারের আগে শব্দ মুছুন
  • Ctrl + j - ইন্সার্ট মোড চলাকালীন নতুন লাইন শুরু করুন
  • Ctrl + t - ইনসার্ট মোড চলাকালীন ইন্ডেন্ট (ডানে সরান) লাইন এক শিফটউইথ
  • Ctrl + d - ইনসার্ট মোডের সময় ডি-ইন্ডেন্ট (বামে সরান) লাইন এক শিফটউইথ
  • Ctrl + n - ইনসার্ট (স্বয়ংক্রিয়-সম্পূর্ণ) মোড চলাকালীন কার্সারের আগে পরবর্তী মিল
  • Ctrl + p - ইনসার্ট মোড চলাকালীন কার্সারের আগে পূর্ববর্তী মিল ইনসার্ট করান (স্বয়ংক্রিয়ভাবে সম্পূর্ণ)
  • Ctrl + rx - রেজিস্টার x এর বিষয়বস্তু ইনসার্ট করান
  • Ctrl + ox - অস্থায়ীভাবে স্বাভাবিক মোডে প্রবেশ করুন যাতে একটি normal-mode কমান্ড x ইস্যু করতে পারেন
  • Esc or Ctrl + c - ইনসার্ট মোড থেকে প্রস্থান করুন

সম্পাদনা (Editing)

  • r - একটি একক অক্ষর প্রতিস্থাপন করুন।
  • R - একাধিক অক্ষর প্রতিস্থাপন করুন, যতক্ষন না ESC চাপা হচ্ছে.
  • J - মাঝখানে একটি স্পেস দিয়ে বর্তমানের নিচের লাইনে জোড়া দিন
  • gJ - মাঝখানে স্পেস ছাড়াই বর্তমানের নিচের লাইনে জোড়া দিন
  • gwip - রিফ্লো অনুচ্ছেদ
  • g~ - কেস আপ মোশনে স্যুইচ করুন
  • gu - আপ টু মোশন ছোট হাতের অক্ষরে পরিবর্তন করুন
  • gU - আপ টু মোশন বড় হাতের অক্ষরে পরিবর্তন করুন
  • cc - সম্পূর্ণ লাইন পরিবর্তন (প্রতিস্থাপন)
  • c$ or C - লাইনের শেষে পরিবর্তন করুন (প্রতিস্থাপন করুন)
  • ciw - সম্পূর্ণ শব্দ পরিবর্তন (প্রতিস্থাপন)
  • cw or ce - শব্দের শেষে পরিবর্তন (প্রতিস্থাপন) করুন
  • s - অক্ষর মুছুন এবং পাঠ্য(substitute) প্রতিস্থাপন করুন
  • S - লাইন মুছুন এবং টেক্সট প্রতিস্থাপন করুন (cc এর মতো)
  • xp - দুটি অক্ষর স্থানান্তর করুন (ডিলিট এবং পেস্ট করুন)
  • u - পূর্বাবস্থা (undo)
  • U - শেষ পরিবর্তিত লাইন পুনরুদ্ধার (undo)
  • Ctrl + r - পুনরায় করুন (redo)
  • . - শেষ কমান্ড পুনরাবৃত্তি করুন

টেক্সট চিহ্নিত করা (ভিজ্যুয়াল মোড)

  • v - ভিজ্যুয়াল মোড শুরু করুন, লাইন চিহ্নিত করুন, তারপর একটি কমান্ড করুন (যেমন y-yank)
  • V - লাইনওয়াইজ ভিজ্যুয়াল মোড শুরু করুন
  • o - চিহ্নিত এলাকার অন্য প্রান্তে যান
  • Ctrl + v - ভিজ্যুয়াল ব্লক মোড শুরু করুন
  • O - ব্লকের অন্য কোণে যান
  • aw - একটি শব্দ চিহ্নিত করুন
  • ab - () সহ একটি ব্লক
  • aB - {} সহ একটি ব্লক
  • at - <> ট্যাগ সহ একটি ব্লক
  • ib - ভিতরের ব্লক () সহ
  • iB - {} সহ ভিতরের ব্লক
  • it - <> ট্যাগ সহ ভিতরের ব্লক
  • Esc or Ctrl + c - ভিজ্যুয়াল মোড থেকে প্রস্থান করুন
Tip b বা B এর পরিবর্তে চাইলে ( বা { ব্যবহার করতে পারেন

ভিজ্যুয়াল কমান্ড

  • > - টেক্সট ডানদিকে সরান
  • < - টেক্সট বামে স্থানান্তর করুন
  • y - ইয়াঙ্ক(yank) (কপি) মার্কড টেক্সট
  • d - ডিলেট মার্কড টেক্সট
  • ~ - স্যুইচ কেস
  • u - চিহ্নিত টেক্সটকে ছোট হাতের অক্ষরে পরিবর্তন করুন
  • U - চিহ্নিত টেক্সটকে বড় হাতের অক্ষরে পরিবর্তন করুন

রেজিস্টার (Registers)

  • :reg[isters] - রেজিস্টার কনটেন্ট দেখান
  • "xy - রেজিস্টার x এর বিষয়বস্তু পেস্ট করুন
  • "xp - রেজিস্টার এক্সে ঝাঁপ দাও
  • "+y - সিস্টেম ক্লিপবোর্ড রেজিস্টারে প্রবেশ করুন
  • "+p - সিস্টেম ক্লিপবোর্ড রেজিস্টার থেকে পেস্ট করুন
Tip রেজিস্টারগুলি ~/.viminfo-এ সংরক্ষণ করা হচ্ছে এবং vim-এর পরবর্তী রিস্টার্টে আবার লোড করা হবে।
Tip Special registers:

0 - শেষ ইয়াঙ্ক
" - নামহীন রেজিস্টার, শেষ মুছে ফেলা বা ইয়াঙ্ক
% - বর্তমান ফাইলের নাম
# - বিকল্প ফাইলের নাম
* - ক্লিপবোর্ড বিষয়বস্তু (X11 প্রাথমিক)
+ - ক্লিপবোর্ড বিষয়বস্তু (X11 ক্লিপবোর্ড)
/ - শেষ অনুসন্ধান প্যাটার্ন
: - শেষ কমান্ড-লাইন
. - সর্বশেষ ইনসার্ট টেক্সট
- - শেষ ছোট ( একটি লাইনের চেয়ে কম) মুছুন
= - এক্সপ্রেশন রেজিস্টার
_ - ব্ল্যাক হোল রেজিস্টার

মার্কস এবং পজিশন্স

  • :marks - চিহ্নের তালিকা
  • ma - A মার্কের জন্য বর্তমান অবস্থান সেট করুন
  • `a - মার্ক A এর অবস্থানে ঝাঁপ দাও
  • y`a - মার্ক A এর অবস্থানে টেক্সট ঝাঁকান
  • `0 - সেই অবস্থানে যান যেখানে ভিম আগে প্রস্থান করা হয়েছিল
  • `" - এই ফাইলটি শেষ সম্পাদনা করার সময় অবস্থানে যান
  • `. - এই ফাইলের সর্বশেষ পরিবর্তনের অবস্থানে যান
  • `` - শেষ লাফের আগে অবস্থানে যান
  • :ju[mps] - লাফের তালিকা
  • Ctrl + i - জাম্প তালিকায় নতুন অবস্থানে যান
  • Ctrl + o - জাম্প তালিকায় পুরানো অবস্থানে যান
  • :changes - পরিবর্তনের তালিকা
  • g, - পরিবর্তন তালিকায় নতুন অবস্থানে যান
  • g; - পরিবর্তন তালিকায় পুরানো অবস্থানে যান
  • Ctrl + ] - কার্সারের নীচে ট্যাগে যান
Tip একটি চিহ্নে লাফানোর জন্য আপনি হয় একটি ব্যাকটিক (`) বা একটি অ্যাপোস্ট্রফি (') ব্যবহার করতে পারেন। একটি অ্যাপোস্ট্রফি ব্যবহার করে চিহ্নটি ধরে থাকা লাইনের শুরুতে (first non-blank) চলে যায়।

ম্যাক্রো

  • qa - রেকর্ড ম্যাক্রো a
  • q - ম্যাক্রো রেকর্ডিং বন্ধ করুন
  • @a - a ম্যাক্রো চালান
  • @@ - শেষ রান ম্যাক্রো পুনরায় চালান

কাটা এবং পেস্ট

  • yy - ইয়াঙ্ক (কপি) একটি লাইন
  • 2yy - ইয়াঙ্ক (কপি) 2 লাইন
  • yw - কার্সার অবস্থান থেকে পরবর্তী শব্দের শুরু পর্যন্ত শব্দের অক্ষরগুলিকে ইয়াঙ্ক (কপি) করুন
  • yiw - কার্সারের নিচে শব্দ (কপি) করুন
  • yaw - কার্সারের নীচে শব্দ এবং এর পরে বা আগে স্থানটি (কপি) করুন
  • y$ or Y - লাইনের শেষে (কপি) করুন
  • p - কার্সারের পরে ক্লিপবোর্ডটি রাখুন (পেস্ট করুন)
  • P - কার্সারের আগে (পেস্ট) করুন
  • gp - কার্সারের পরে ক্লিপবোর্ড রাখুন (পেস্ট করুন) এবং নতুন শব্দের পরে কার্সার ছেড়ে দিন
  • gP - কার্সারের আগে (পেস্ট) করুন এবং নতুন শব্দের পরে কার্সার ছেড়ে দিন
  • dd - একটি লাইন মুছুন (cut)
  • 2dd - ২ টি লাইন মুছুন (cut)
  • dw - কার্সার অবস্থান থেকে পরবর্তী শব্দের শুরু পর্যন্ত শব্দের অক্ষরগুলি মুছুন (cut)
  • diw - কার্সারের নীচে শব্দটি মুছুন (cut)
  • daw - কার্সারের নিচে (cut) শব্দ এবং এর পরে বা আগে স্পেস মুছুন
  • :3,5d - delete lines starting from 3 to 5
Tip You can also use the following characters to specify the range:
e.g.

:.,$d - From the current line to the end of the file
:.,1d - From the current line to the beginning of the file
:10,1d - From the 10th line to the beginning of the file

  • :g/{pattern}/d - delete all lines containing pattern
  • :g!/{pattern}/d - delete all lines not containing pattern
  • d$ or D - লাইনের শেষে মুছুন (cut)
  • x - অক্ষর মুছুন (cut)

ইন্ডেন্ট টেক্সট

  • >> - ইন্ডেন্ট (ডানে সরান) লাইন এক শিফটউইথ
  • << - ডি-ইন্ডেন্ট (বামে সরান) লাইন এক শিফটউইথ
  • >% - () বা {} (বন্ধনীতে কার্সার) দিয়ে একটি ব্লক ইন্ডেন্ট করুন
  • <% - de-indent a block with () or {} (cursor on brace)
  • >ib - () সহ ভিতরের ব্লক ইন্ডেন্ট
  • >at - <> ট্যাগ সহ একটি ব্লক ইন্ডেন্ট করুন
  • 3== - 3 লাইন পুনরায় ইন্ডেন্ট করুন
  • =% - () বা {} (বন্ধনীতে কার্সার) দিয়ে একটি ব্লক পুনরায় ইন্ডেন্ট করুন
  • =iB - {} দিয়ে ভিতরের ব্লক পুনরায় ইন্ডেন্ট করুন
  • gg=G - সম্পূর্ণ বাফার পুনরায় ইন্ডেন্ট
  • ]p - পেস্ট করুন এবং বর্তমান লাইনে ইন্ডেন্ট সামঞ্জস্য(adjust) করুন

প্রস্থান (Exiting)

  • :w - ফাইলটি লিখুন (সংরক্ষণ করুন), কিন্তু প্রস্থান করবেন না
  • :w !sudo tee % - sudo ব্যবহার করে বর্তমান ফাইল লিখুন
  • :wq or :x or ZZ - লিখুন (সংরক্ষণ করুন) এবং প্রস্থান করুন
  • :q - প্রস্থান করুন (অসংরক্ষিত পরিবর্তন থাকলে ব্যর্থ হয়)
  • :q! or ZQ - প্রস্থান করুন এবং অসংরক্ষিত পরিবর্তনগুলি ফেলে দিন(unsave)
  • :wqa - লিখুন (সংরক্ষণ করুন) এবং সমস্ত ট্যাবে প্রস্থান করুন

অনুসন্ধান এবং প্রতিস্থাপন

  • /pattern - প্যাটার্ন অনুসন্ধান করুন
  • ?pattern - প্যাটার্নের জন্য পিছনের দিকে অনুসন্ধান করুন
  • \vpattern - 'very magic' প্যাটার্ন: অ-আলফানিউমেরিক অক্ষরগুলিকে বিশেষ রেজেক্স চিহ্ন হিসাবে ব্যাখ্যা করা হয় (no escaping needed)
  • n - একই দিকে অনুসন্ধান পুনরাবৃত্তি করুন
  • N - বিপরীত দিকে অনুসন্ধান পুনরাবৃত্তি করুন
  • :%s/old/new/g - সমস্ত পুরানো ফাইল জুড়ে নতুন দিয়ে প্রতিস্থাপন করুন
  • :%s/old/new/gc - নিশ্চিতকরণ সহ সমস্ত পুরানো ফাইলটি নতুন দিয়ে প্রতিস্থাপন করুন
  • :noh[lsearch] - সার্চ ম্যাচ হাইলাইটিং অপসারণ

একাধিক ফাইল অনুসন্ধান করুন

  • :vim[grep] /pattern/ {`{file}`} - একাধিক ফাইলে প্যাটার্ন অনুসন্ধান করুন
e.g. :vim[grep] /foo/ **/*
  • :cn[ext] - পরের মিলটিতে যাও
  • :cp[revious] - আগের মিলটিতে যাও
  • :cope[n] - ম্যাচের তালিকা সম্বলিত একটি উইন্ডো খুলুন
  • :ccl[ose] - কুইকফিক্স উইন্ডোটি বন্ধ করুন

ট্যাব

  • :tabnew or :tabnew {page.words.file} - একটি নতুন ট্যাবে একটি ফাইল খুলুন
  • Ctrl + wT - বর্তমান বিভক্ত উইন্ডোটিকে তার নিজস্ব ট্যাবে সরান
  • gt or :tabn[ext] - পরবর্তী ট্যাবে যান
  • gT or :tabp[revious] - পূর্ববর্তী ট্যাবে যান
  • #gt - ট্যাব নম্বর # এ যান
  • :tabm[ove] # - বর্তমান ট্যাবটিকে #তম অবস্থানে নিয়ে যান (0 থেকে সূচীকৃত/indexed)
  • :tabc[lose] - বর্তমান ট্যাব এবং এর সমস্ত উইন্ডো বন্ধ করুন
  • :tabo[nly] - বর্তমান একটি ছাড়া সব ট্যাব বন্ধ করুন
  • :tabdo command - এই command কমান্ডটি সমস্ত ট্যাবে চালান (যেমন: :tabdo q - এটি সমস্ত খোলা ট্যাব বন্ধ করে)

একাধিক ফাইল নিয়ে কাজ করা

  • :e[dit] file - একটি নতুন বাফারে একটি ফাইল সম্পাদনা করুন
  • :bn[ext] - পরবর্তী বাফারে যান
  • :bp[revious] - আগের বাফারে যান
  • :bd[elete] - একটি বাফার মুছুন (একটি ফাইল বন্ধ করুন)
  • :b[uffer]# - সূচক(index) # দ্বারা একটি বাফারে যান
  • :b[uffer] file - ফাইল দ্বারা একটি বাফার যান
  • :ls or :buffers - সব খোলা বাফারের তালিকা
  • :sp[lit] file - একটি নতুন বাফার এবং বিভক্ত উইন্ডোতে একটি ফাইল খুলুন
  • :vs[plit] file - একটি নতুন বাফার এবং উল্লম্বভাবে বিভক্ত উইন্ডোতে একটি ফাইল খুলুন
  • :vert[ical] ba[ll] - উল্লম্ব উইন্ডো (vertical windows) হিসাবে সমস্ত বাফার সম্পাদনা করুন
  • :tab ba[ll] - ট্যাব হিসাবে সমস্ত বাফার সম্পাদনা করুন
  • Ctrl + ws - বিভক্ত উইন্ডো
  • Ctrl + wv - উল্লম্বভাবে (vertically) উইন্ডো বিভক্ত করুন
  • Ctrl + ww - উইন্ডো সুইচ করুন
  • Ctrl + wq - একটি উইন্ডো বন্ধ করুন
  • Ctrl + wx - পরেরটির সাথে বর্তমান উইন্ডো বিনিময় করুন
  • Ctrl + w= - make all windows equal height & width
  • Ctrl + wh - বাম উইন্ডোতে কার্সার সরান (vertical split)
  • Ctrl + wl - ডান উইন্ডোতে কার্সার সরান (vertical split)
  • Ctrl + wj - নীচের উইন্ডোতে কার্সার সরান (অনুভূমিক/ horizontal split)
  • Ctrl + wk - উপরের উইন্ডোতে কার্সার সরান (অনুভূমিক/horizontal split)
  • Ctrl + wH - বর্তমান উইন্ডোকে পূর্ণ উচ্চতা বাম দিকে করুন (সর্ববামে উল্লম্ব/vertical উইন্ডো)
  • Ctrl + wL - বর্তমান উইন্ডোটিকে ডানদিকে পূর্ণ উচ্চতা করুন (ডানদিকে উল্লম্ব/vertical উইন্ডো)
  • Ctrl + wJ - খুব নীচে বর্তমান উইন্ডোটি সম্পূর্ণ প্রস্থ করুন (নিচের অনুভূমিক/horizontal উইন্ডো)
  • Ctrl + wK - বর্তমান উইন্ডোটিকে একেবারে শীর্ষে পূর্ণ প্রস্থ করুন (সর্বোচ্চ অনুভূমিক/horizontal উইন্ডো)

পার্থক্য

  • zf - ম্যানুয়ালি একটি মোশন ফোল্ডআপ করুন
  • zd - কার্সারের নীচে অংশ মুছুন
  • za - কার্সারের নিচে অংশ টগল করুন
  • zo - কার্সারের নীচে অংশ খুলুন
  • zc - কার্সারের নিচের অংশ বন্ধ করুন
  • zr - সমস্ত খোলা (open) অংশ এক লেভেল পর্যন্ত ভাঁজ করুন
  • zm - সব অংশকে এক স্তরে আরও (বন্ধ) ভাঁজ করুন
  • zi - ভাঁজ (folding) কার্যকারিতা টগল করুন
  • ]c - পরবর্তী পরিবর্তনের শুরুতে যাও
  • [c - আগের পরিবর্তনের শুরুতে যাও
  • do or :diffg[et] - প্রাপ্ত (get) পার্থক্য (অন্যান্য বাফার থেকে)
  • dp or :diffpu[t] - পার্থক্য রাখুন (অন্যান্য বাফারে)
  • :diffthis - বর্তমান উইন্ডো ডিফের অংশ করুন
  • :dif[fupdate] - আপডেট পার্থক্য (differences)
  • :diffo[ff] - বর্তমান উইন্ডোর জন্য ডিফ মোড বন্ধ করুন
Tip কমান্ডগুলি folding করার জন্য (যেমন: za) এক স্তরে কাজ করে। সমস্ত স্তরে কাজ করতে, বড় হাতের অক্ষর ব্যবহার করুন (যেমন: zA).
Tip ফাইলের পার্থক্য দেখতে,vimdiff একটি টার্মিনালে চালানোর মাধ্যমে কেউ সরাসরি ডিফ মোডে ভিম শুরু করতে পারে। এক এমনকি এটি হিসাবে সেট করতে পারেন git difftool.