Terminal တွေကနေ config တွေ text တွေပြင်ချင်ရင် သုံးပါတယ်။ Linux distribution တော်တော်များများမှာတော့ built-in ပါတတ်ပါတယ်။ Windows မှာသုံးချင်ရင်လည်း သီးသန့် download လုပ်ပြီးစမ်းသုံးနိုင်ပါတယ်။ အစပိုင်းမှာတော့သုံးရတာလက်ပေါက်ကပ်ပေမယ့် အသားကျသွားရင်တော့ တခြား text editor တွေနဲ့စာရင် workflow အများကြီးမြန်သွားနိုင်ပါတယ်။
Basic Movements
တစ်ခြား editor တွေနဲ့မတူတာက vim မှာက mode တွေနဲ့အလုပ်လုပ်တာမလို့ နှိပ်လိုက်တဲ့ key press တိုင်းက လက်ရှိရောက်နေတဲ့ mode ပေါ်မူတည်ပြီးပြောင်းသွားနိုင်ပါတယ်။ mode တွေအကြောင်းနောက်ကြုံရင်ပြောပြပါမယ်။
Cursor /motionအတွက် နောက်ပိုင်းမှာတော့ motion လို့ပဲသုံးပါမယ်။
h
- move left for one characterj
- move down for one characterk
- move up for one characterl
- move right for one character
Exit Vim
ကိုယ်ရေးချင်တာတွေ ပြင်ချင်တာတွေ ပြီးပြီဆိုရင် တော့ထွက်ဖို့အတွက်ပါ။ ထွက်တာလေးများ ဆိုပြီး ပေါ့သေးသေးတော့ မထင်စေလို။
ပထမဦးဆုံး Normal mode မှာရှိနေဖို့လိုပါတယ် Escape key က ဘယ် mode မှာပဲရောက်နေနေ Normal mode ပြန်ရောက်ဖို့သုံးပါတယ်။ Normal mode ရောက်ပြီဆိုရင် :q!
နှိပ်ပြီးထွက်နိုင်ပါတယ် :
က Command-Line mode ဖြစ်ပြီး q
က quit !
က discard changes ကိုယ်စားပြုပါတယ်။ ZQ
shortcut လည်းသုံးနိုင်ပါတယ်။
Save လုပ်ချင်ရင်တော့ :wq
ပါ write and quit ပေါ့။ Shortcut ကတော့ZZ
ပါ။
Edit texts
Normal mode ကနေ Insert mode ထဲဝင်ပါမယ်။ i
နဲ့ပါ။ အဲ့ဒါဆို cursor လက်ရှိရောက်နေတဲ့နေရာကနေ text edit လုပ်လို့ရပါပြီ။ Insert mode ထဲရောက်သွားပြီဆိုရင် အပေါ်မှာပြောထားတဲ့ motion key တွေက အလုပ်လုပ်တော့မှာမဟုတ်ပါဘူး။ ဆိုလိုတာက Insert mode ထဲမှာ cursor ရွှေ့ဖို့ h j k l
motion key တွေက ရိုက်လိုက်တဲ့အတိုင်းဝင်သွားမှာဖြစ်ပါတယ်။
Modes
- Normal mode - vim ရဲ့ default state ပါ
- Insert mode - text edit လုပ်လို့ရပါတယ်
- Visual mode - text selection လုပ်လို့ရပါတယ်
- Command-line mode - shell command, search pattern နဲ့ အပေါ်မှာပြောခဲ့တဲ့ file write/quite/edit တွေအတွက်သုံးပါတယ်
အောက်ကဇယားကတော့ သက်ဆိုင်ရာ mode တွေဆီသွားဖို့အတွက် key တွေပါ။
Mode | Trigger keys |
---|---|
Normal mode | Esc |
Insert mode | i a o |
Visual mode | v V <Ctrl+v> |
Command-line mode | : / |
Note : နောက်ပိုင်းမှာ <Ctrl+v>
ကို ဥပမာ <C-v>
အနေနဲ့ပဲ denote လုပ်သွားပါမယ်။
vim မှာ default state က Normal mode ဖြစ်နေခြင်းက vim ကိုစစသုံးသူတွေအတွက် ထူးခြားချက်တစ်လိုဖြစ်သွားစေတာပါ။ တစ်နည်းဆိုရင် တစ်ခြား text editors တွေရဲ့ default state က Insert mode ဖြစ်နေတာပေါ့။
Commands
u
- undoU
- undo all changes<C-R>
- redor
- replacec
- changed
- delete.
- repeat last change
r
က replace လုပ်ချင်တဲ့ character တစ်လုံးချင်းဆီပေါ်မှာ cursor တင်ပြီးမှပြင်တာပါ။
.
d
c
command တွေကိုနောက် post မှာပြောပြပါမယ်။
Other useful commands
Motion
w
- forward to start of next wordb
- backward to start of current/previous worde
- forward to end of current/next wordge
- backward to end of previous word^
- move to the start of line$
- move to the end of linegg
- move to the start of fileG
- move to the end of file
Ref: Pratical Vim by Drew Neil
Text manipulation
i
- insert before cursora
- insert after cursorI
- insert at the start of lineA
- insert at the end of lineo
- insert new line below cursorO
- insert new line above cursor
Insert mode ထဲဝင်ဖို့နည်းလမ်းတွေပါ။
ဒီလောက်ဆိုရင် နည်းနည်းပါးပါးလောက်ဖြစ်ဖြစ် သဘောပေါက်မယ်ထင်ပါတယ်။ လေ့ကျင့်ချင်ရင် command vimtutor
နဲ့မသိတာတစ်ခုခုရှိရင် :help {command}
နဲ့ကြည့်လို့ရပါတယ်။ online မှာပဲစမ်းကြည့်ချင်တယ်ဆိုလည်း
vim adventure မှာ စမ်းလို့ရပါတယ်။ game ပုံစံမျိုးဆိုတော့လည်း စစသုံးတဲ့သူတွေအတွက် အဆင်ပြေမှာပါ။