Terminal muharrirlari — nano va vim asoslari
Muammodan boshlaylik
Serverda /etc/nginx/sites-available/dokon faylida bitta qatorni o'zgartirish kerak. VS Code yo'q. Grafik interfeys yo'q. Qandaydir qo'llanmada vim fayl deb yozilgan — ochdingiz... va endi chiqa olmayapsiz. Esc, Ctrl+C, Ctrl+Q — hech narsa ishlamayapti.
"Vim dan qanday chiqish kerak" — Stack Overflow dagi eng mashhur savollardan biri (millionlab ko'rishlar). Bu darsdan keyin sizga bu muammo bo'lmaydi.
nano — oddiy va tushunarli
Boshlovchilar uchun eng oson muharrir. Ubuntu da o'rnatilgan.
nano eslatma.txt
sudo nano /etc/hosts # tizim fayli — sudo bilan
Ochiladi — va darhol yozishingiz mumkin. Pastda yordam qatori:
^G Help ^O Write Out ^W Where Is ^K Cut ^T Execute
^X Exit ^R Read File ^\ Replace ^U Paste ^J Justify
^ — Ctrl degani.
| Tugma | Nima |
|---|---|
| Ctrl + O, Enter | Saqlash |
| Ctrl + X | Chiqish (o'zgarishlar bo'lsa — saqlashni so'raydi: Y/N) |
| Ctrl + W | Qidirish |
| Ctrl + \ | Qidirib almashtirish |
| Ctrl + K | Qatorni kesish |
| Ctrl + U | Qo'yish |
| Ctrl + _ | Qator raqamiga o'tish |
| Alt + U | Bekor qilish (undo) |
nano -l app.js # qator raqamlari bilan
nano +25 app.js # 25-qatordan ochish
Kichik o'zgarishlar uchun nano — mutlaqo yetarli.
vim — kuchli, lekin boshqacha
vim — deyarli har bir Linux serverda mavjud (yoki uning ajdodi vi). Ba'zi buyruqlar (git commit, crontab -e, visudo) standart holatda vim ni ochadi. Shuning uchun asoslarni bilish shart.
vim app.js
Asosiy g'oya: rejimlar
Vim ning "g'alati"ligi — rejimlarda. Oddiy muharrirlarda tugma bosilsa — harf yoziladi. Vim da esa:
| Rejim | Nima uchun | Qanday kirish |
|---|---|---|
| Normal | Harakatlanish, buyruqlar (standart) | Esc |
| Insert | Matn yozish | i |
| Command | Saqlash, chiqish, qidirish | : (Normal dan) |
| Visual | Matnni belgilash | v |
Vim Normal rejimda ochiladi — shuning uchun yozishga harakat qilsangiz, harflar buyruq sifatida bajariladi va "hech narsa ishlamayapti" tuyuladi.
Omon qolish uchun minimum
1. vim fayl.txt — ochish (Normal rejim)
2. i — Insert rejimga o'tish, endi yozish mumkin
3. ... matn yozing ...
4. Esc — Normal rejimga qaytish
5. :wq Enter — saqlash va chiqish
Chiqish:
| Buyruq | Nima |
|---|---|
:wq yoki :x |
Saqlash va chiqish |
:w |
Faqat saqlash |
:q |
Chiqish (o'zgarish bo'lmasa) |
:q! |
Saqlamasdan chiqish — "hammasini buzib qo'ydim" holati |
[!TIP] Vim da adashib qolsangiz: Esc ni bir necha marta bosing, keyin
:q!va Enter. Har qanday holatdan chiqaradi, hech narsa saqlanmaydi.
Normal rejimdagi foydali buyruqlar
Harakatlanish:
| Tugma | Nima |
|---|---|
h j k l |
← ↓ ↑ → (strelkalar ham ishlaydi) |
w / b |
Keyingi / oldingi so'z |
0 / $ |
Qator boshi / oxiri |
gg / G |
Fayl boshi / oxiri |
25G yoki :25 |
25-qatorga |
Tahrirlash:
| Tugma | Nima |
|---|---|
i / a |
Kursordan oldin / keyin yozish |
o / O |
Pastda / tepada yangi qator ochib yozish |
x |
Belgini o'chirish |
dd |
Qatorni o'chirish (kesish) |
yy |
Qatorni nusxalash |
p |
Qo'yish |
u |
Bekor qilish (undo) |
Ctrl + r |
Qaytarish (redo) |
5dd |
5 qatorni o'chirish |
Qidirish va almashtirish:
| Buyruq | Nima |
|---|---|
/so'z |
Qidirish; n — keyingi, N — oldingi |
:%s/eski/yangi/g |
Butun faylda almashtirish |
:%s/eski/yangi/gc |
Har birini tasdiqlash bilan |
Foydali:
:set number — qator raqamlari
:syntax on — sintaksis ranglari
Vim ni o'rganish
Bu — faqat asos. Vim ning haqiqiy kuchi buyruqlarni birlashtirishda (d3w — 3 so'zni o'chirish, ci" — qo'shtirnoq ichini almashtirish). Qiziqsangiz:
vimtutor
30 daqiqalik interaktiv dars — terminalning o'zida.
Standart muharrirni tanlash
git commit, crontab -e qaysi muharrirni ochishi — EDITOR o'zgaruvchisiga bog'liq:
export EDITOR=nano
Doimiy qilish uchun ~/.bashrc ga qo'shing (30-dars). Ubuntu da yana:
sudo update-alternatives --config editor
VS Code bilan serverda
Ko'p tahrirlash kerak bo'lsa — VS Code ning Remote - SSH kengaytmasi: serverdagi fayllarni xuddi lokaldagidek, to'liq VS Code da tahrirlaysiz. WSL uchun — WSL kengaytmasi va code . buyrug'i.
Lekin tezkor bir qatorli o'zgarish uchun — nano yoki vim tezroq.
Qaysi birini tanlash
| nano | vim | |
|---|---|---|
| O'rganish | 1 daqiqa | Kunlar, haftalar |
| Kichik o'zgarishlar | ✅ Ideal | ✅ |
| Katta tahrirlash | Noqulay | Juda tez (o'rgangandan keyin) |
| Hamma serverda | Ko'pchilikda | Deyarli hammasida (vi) |
Tavsiya: kundalik ish uchun nano, va vim dan omon qolish asoslarini (i, Esc, :wq, :q!) albatta eslab qoling.
Nima uchun shunday?
Nima uchun vim shunday "noqulay" rejimlar bilan yaratilgan — va nima uchun hali ham shunchalik mashhur?
Vim ajdodi vi 1976 yilda sekin terminallar va sichqonchasiz klaviaturalar uchun yaratilgan. Rejimlar g'oyasi: dasturchi vaqtining katta qismini yozishga emas, o'qish, harakatlanish va o'zgartirishga sarflaydi. Normal rejimda har bir tugma — kuchli buyruq, qo'llar klaviaturaning asosiy qatoridan uzilmaydi. Bu ko'nikma bir marta o'rganilgach, tahrirlash juda tez bo'ladi — shuning uchun vim (va uning zamonaviy vorisi Neovim) bugun ham mashhur, VS Code va JetBrains da esa "vim rejimi" kengaytmalari bor.
Xulosa
Eslab qoling:
- nano: darhol yozish; Ctrl+O saqlash, Ctrl+X chiqish, Ctrl+W qidirish
- vim: rejimlar — Normal (Esc), Insert (i), Command (:)
- Vim dan chiqish:
Esc→:wq(saqlash) yoki:q!(saqlamasdan) - Vim:
ddo'chirish,yynusxa,pqo'yish,uundo,/qidirish vimtutor— interaktiv darsEDITOR=nano— standart muharrir- Katta ishlar uchun — VS Code Remote-SSH
Keyingi dars
13-dars: Pipe va yo'naltirish — |, >, >>, 2>, stdin/stdout/stderr