IlmHamroh
JavaScript Full-stack/3-qism. Dasturchi asboblari va fikrlash15/21-dars14 daqiqa
Mundarija (30)

Boshqa muharrirlar va Vim: Cursor, WebStorm, Zed va terminalda omon qolish

Qisqacha: VS Code yagona muharrir emas: Cursor va Antigravity uning AI qo'shilgan "nusxalari", WebStorm — og'ir va kuchli IDE, Zed — juda tez yangi muharrir. Grafik oyna yo'q joyda (server, Git xabari) esa terminal muharriri ochiladi — ko'pincha Vim. Vim'dan chiqish formulasi: Esc, keyin :wq va Enter (saqlab chiqish) yoki :q! va Enter (saqlamay chiqish).

Bu darsda

  • VS Code'dan tashqari mashhur muharrirlarni taniysiz va qaysi biri qachon tanlanishini tushuntira olasiz.
  • Nega terminal muharririni bilish kerakligini tushunasiz.
  • Vim'ning uchta rejimini ajrata olasiz va unda matn yozib, saqlab, chiqa olasiz.
  • nano'da faylni tahrirlab, saqlay olasiz.
  • Git qaysi muharrirni ochishini (core.editor) o'zingiz sozlay olasiz.

Oldin bilishingiz kerak: Muharrir va IDE; VS Code bilan tanishuv, VS Code ichki terminali, tasks va masofaviy ishlash, Terminal, shell va prompt.

1. Nega bu kerak?

Oldingi darslarda biz VS Code'ni sozladik va kengaytmalar qo'shdik. U sizning asosiy uyingiz bo'lib qoladi. Lekin ikki sabab bilan boshqa muharrirlarni ham bilish kerak.

Birinchi sabab — ish joyi. Ishga kirsangiz, hamkasbingiz Cursor'da, boshlig'ingiz WebStorm'da ishlashi mumkin. Vakansiyada "Cursor bilan tajriba" deb yozilgan bo'lishi ham mumkin. Nomlarni bilsangiz, suhbatda o'zingizni begona his qilmaysiz.

Ikkinchi sabab — "tuzoq". Tasavvur qiling: Jasur terminalda bir buyruq yozdi. Birdan ekran qorayib, chap tomonda ~ belgilari paydo bo'ldi. Harf bosdi — matn yozilmadi. Sichqoncha ishlamaydi. Ctrl + C bosdi — chiqmadi. Jasur terminalni yopib yubordi.

Jasur Vim muharririga tushib qolgan edi. Bu dasturchilar orasida shunchalik mashhur holatki, "Vim'dan qanday chiqiladi?" savoli Stack Overflow saytida (dasturchilar savol-javob sayti) eng ko'p ko'rilgan savollardan biri bo'lgan.

Bu dars oxirida siz Vim'da bemalol yozib, saqlab, chiqib keta olasiz.

2. Muharrirlar xaritasi

2.1 VS Code'ning "qarindoshlari"

VS Code'ning kodi ochiq. Ya'ni uni har kim yuklab olib, o'zgartira oladi. Shundan fork (fork) degan tushuncha kelib chiqqan.

Fork — birovning ochiq kodini nusxalab, ustiga o'z o'zgarishlarini qo'shib, alohida dastur qilib chiqarish. O'xshatish: bir oshpazning retsepti asosida boshqa oshpaz o'z oshxonasini ochadi. Asos bir xil, lekin ta'mi va nomi boshqa.

2026-yilda eng mashhur VS Code forklari — sun'iy intellekt (AI) qo'shilgan muharrirlar:

Muharrir Kimniki Nimasi bilan ajraladi
Cursor Anysphere AI chuqur o'rnatilgan: kod yozadi, bir nechta faylni o'zgartiradi
Antigravity Google Gemini modellari bilan ishlaydigan AI "agentlar" markazi
Devin Desktop (sobiq Windsurf) Cognition AI agentlar boshqaruv paneli; 2026-yil iyunda nomi o'zgargan

Yaxshi xabar: bu muharrirlar ichki tuzilishi VS Code bilan deyarli bir xil. Menyu, yorliqlar (Ctrl + P, Ctrl + Shift + P), settings.json — hammasi siz o'rgangandek. VS Code'da o'rgangan bilimingiz bekorga ketmaydi.

AI muharrirlar qanday ishlashi va ulardan qanday xavfsiz foydalanish — shu qismning oxirgi darsi, AI dasturlash yordamchilari xaritasi mavzusi. Hozir nomlarini bilish kifoya.

2.2 Boshqa oilalar

Muharrir Qanday Qachon tanlanadi
WebStorm JetBrains kompaniyasining to'liq IDE'si; tekshiruv va refaktoring "qutidan" tayyor Katta frontend loyihalar; o'qish uchun bepul
Zed Rust dasturlash tilida yozilgan, juda tez, AI va birgalikda tahrirlash bor Tezlikni yoqtiradiganlar; Windows, macOS, Linux
Sublime Text Yengil, bir soniyada ochiladi Katta log faylni tez ochish
Notepad++ Faqat Windows, oddiy va yengil Bitta faylni tez tuzatish

Ikki izoh:

  • Refaktoring — kodning ishini o'zgartirmasdan, uni tartibga keltirish (tez tahrirlash darsida F2 bilan ko'rgan edik). Masalan, bir nomni 50 joyda birdaniga to'g'ri almashtirish.
  • WebStorm narxi. 2024-yil oktyabridan WebStorm tijoriy bo'lmagan ish (o'qish, shaxsiy loyiha) uchun bepul. Pul topadigan ishda esa pullik litsenziya kerak.

Maslahat: Kurs davomida VS Code'da qoling. Muharrir almashtirish sizni dasturchi qilmaydi. Asosiy bilim — kod, terminal va fikrlash — hamma muharrirda bir xil ishlaydi.

Tekshirib ko'ring: Hamkasbingiz "men Cursor'da ishlayman" dedi. Siz uning settings.json faylini ochib, tushuna olasizmi?

Javob

Ha, deyarli hammasini. Cursor — VS Code'ning forki, ya'ni uning ustiga qurilgan. Sozlamalar, menyu va yorliqlar VS Code'dagidek. Qo'shimcha faqat AI bilan bog'liq sozlamalar bo'ladi.

3. Terminal muharrirlari: nega ular kerak?

3.1 Grafik oyna yo'q joylar

Hozirgacha muharrirlarning hammasi grafik edi: oyna, tugma, sichqoncha. Lekin shunday joylar borki, u yerda faqat terminal bor:

  • Server. Saytlar ishlaydigan kompyuterlarning ko'pida ekran ham, oyna ham yo'q. Ularga SSH orqali ulanasiz — VS Code ichki terminali darsida SSH'ni tilga olgan edik. U yerda faylni faqat terminal ichida tahrirlash mumkin.
  • Git. Git — kod tarixini saqlaydigan vosita, uni 07-qismda to'liq o'rganamiz. Git ba'zan sizdan izoh matnini so'raydi va buning uchun muharrir ochadi. Sozlanmagan bo'lsa — ko'pincha Vim ochiladi.
  • Tizim buyruqlari. Linux'dagi ba'zi buyruqlar (masalan, rejali vazifalarni tahrirlash) ham avtomatik ravishda terminal muharririni ochadi.

3.2 Ikki asosiy terminal muharriri

Muharrir Xarakteri Qayerda bor
nano Sodda: buyruqlar ekran pastida yozilgan Ko'p Linux tizimlarida, macOS'da, Git Bash'da
Vim Kuchli, lekin "rejimli" — birinchi ko'rishda g'alati Deyarli har bir Linux va macOS'da, Git Bash'da

Vim — "Vi IMproved", ya'ni "yaxshilangan vi". vi — 1976-yilda yaratilgan juda eski muharrir. Vim 1991-yilda chiqqan va bugun ham faol yangilanadi. Uning muxlislari hammasini klaviaturadan, sichqonchasiz, juda tez bajaradi.

Windows'da ham ikkalasi bor: Git Bash bilan birga o'rnatiladi. Git Bash'da tekshirib ko'ring:

bash
vim --version
nano --version

Birinchi qatorda versiya chiqadi, masalan VIM - Vi IMproved 9.2 va GNU nano, version 9.0. PowerShell'da esa bu buyruqlar odatda yo'q — Vim'ni sinash uchun Git Bash'ni oching.

Tekshirib ko'ring: Nega server bilan ishlayotganda VS Code'ning oddiy oynasi yordam bermasligi mumkin?

Javob

Serverda grafik oyna yo'q — faqat terminal bor. Faylni o'sha yerning o'zida tahrirlash kerak bo'lsa, terminal muharriri (nano yoki Vim) kerak. VS Code'ning Remote-SSH kengaytmasi bu muammoni ko'pincha hal qiladi, lekin u har doim ham o'rnatilmagan bo'ladi.

4. Vim'ning uchta rejimi

4.1 Nega Vim "g'alati"?

Oddiy muharrirda harf bossangiz — harf yoziladi. Vim'da esa unday emas. Vim'da harflar ikki xil ish qiladi: ba'zan matn, ba'zan buyruq. Qaysi biri ekani — siz qaysi rejimda (mode) turganingizga bog'liq.

O'xshatish: televizor pulti. Bitta "5" tugmasi oddiy holatda 5-kanalni yoqadi. Menyu ochiq bo'lsa, xuddi shu tugma menyuning 5-bandini tanlaydi. Tugma bir, vazifa — holatga qarab.

Jasur harf bosganda matn chiqmagani shu sababdan: u buyruq rejimida edi va har bir harfi buyruq sifatida bajarilayotgan edi.

4.2 Uchta rejim

  1. Normal rejim (Normal mode) — Vim shu rejimda ochiladi. Harflar — buyruq. Masalan, x — kursor ostidagi belgini o'chiradi, u — oxirgi o'zgarishni bekor qiladi (undo).
  2. Insert rejimi (Insert mode) — matn yozish rejimi. Normal rejimda i bosilsa yoqiladi. Ekran pastida -- INSERT -- yozuvi chiqadi. Endi harflar oddiy matn bo'lib yoziladi.
  3. Buyruq qatori rejimi (Command-line mode) — Normal rejimda : (ikki nuqta) bosilsa ochiladi. Kursor ekranning eng pastki qatoriga tushadi. U yerda :w (saqlash), :q (chiqish) kabi buyruqlar yoziladi va Enter bilan bajariladi.

Rejimlar orasidagi yo'llar:

stateDiagram-v2
    [*] --> Normal: vim salom.txt
    Normal --> Insert: i bosiladi
    Insert --> Normal: Esc
    Normal --> Buyruq: ikki nuqta (:)
    Buyruq --> Normal: Esc
    Buyruq --> [*]: :wq yoki :q! + Enter

Rasmdan asosiy qoidani ko'ring: qayerda bo'lsangiz ham, Esc sizni Normal rejimga qaytaradi. Adashsangiz — Esc bosing (bir necha marta bossangiz ham zarari yo'q).

Tekshirib ko'ring: Ekran pastida -- INSERT -- yozuvi turibdi. Siz :wq yozdingiz. Nima bo'ladi?

Javob

:wq matn sifatida fayl ichiga yozilib qoladi, chunki Insert rejimida harflar — oddiy matn. Avval Esc bosib Normal rejimga qaytish, keyin :wq yozish kerak edi. Fayl ichiga tushgan :wq ni Esc dan keyin u bilan bekor qilish mumkin.

5. Vim'da omon qolish: amaliyot

5.1 To'liq misol: yozish, saqlash, chiqish

Git Bash'ni oching (macOS yoki Linux'da — oddiy terminal). Har qadamni o'zingiz bajaring.

1-qadam. Faylni Vim'da oching:

bash
vim salom.txt

Ekran bo'shaydi, chap chetda ustma-ust ~ belgilari chiqadi. ~ — "bu yerda hali qator yo'q" degani. Siz Normal rejimdasiz.

2-qadam. i harfini bir marta bosing. Pastda -- INSERT -- chiqadi. Endi yozing:

text
Salom, IlmHamroh! Men Vim'dan qo'rqmayman.

3-qadam. Esc bosing. -- INSERT -- yo'qoladi — siz yana Normal rejimdasiz.

4-qadam. :wq yozing. Kursor pastki qatorga tushadi va u yerda :wq ko'rinadi. Enter bosing.

Fayl saqlandi, siz terminalga qaytdingiz. Tekshiring:

bash
cat salom.txt

Terminalda:

text
Salom, IlmHamroh! Men Vim'dan qo'rqmayman.

5.2 "Omon qolish" jadvali

Buni yodlab oling — Vim bilan ishlashning 90% i shu:

Tugma yoki buyruq Qaysi rejimda Nima qiladi
i Normal Insert rejimiga o'tadi (yozishni boshlaydi)
Esc Istalgan Normal rejimga qaytaradi
:w + Enter Normal Saqlaydi (w — write, "yoz")
:q + Enter Normal Chiqadi (q — quit, "chiq"); saqlanmagan o'zgarish bo'lsa — chiqmaydi
:wq + Enter Normal Saqlaydi va chiqadi
:q! + Enter Normal Saqlamasdan, majburan chiqadi
u Normal Oxirgi o'zgarishni bekor qiladi (undo)

! belgisi Vim'da "ha, ishonchim komil, majburan bajar" degan ma'noni beradi.

5.3 Saqlamasdan chiqish

Faylni buzib qo'ydingiz va hammasini unutmoqchisiz. Formula:

  1. Esc bosing (ishonch uchun ikki marta).
  2. :q! yozing.
  3. Enter bosing.

Fayl oxirgi saqlangan holatida qoladi.

5.4 O'zingiz to'ldiring

Malika reja.txt faylini ochdi, bir qator yozdi va saqlab chiqmoqchi. Bo'sh joylarni to'ldiring:

  1. vim reja.txt
  2. Yozishni boshlash uchun tugmasini bosadi.
  3. Matnni yozadi.
  4. Normal rejimga qaytish uchun bosadi.
  5. Saqlab chiqish uchun yozib, Enter bosadi.

Maslahat: Vim'ni chuqurroq o'rganmoqchi bo'lsangiz, Git Bash'da vimtutor buyrug'ini yozing. Bu Vim'ning o'zi ichidagi 30 daqiqalik interaktiv darslik (inglizcha). Hozir shart emas — omon qolish jadvali yetarli.

Tekshirib ko'ring: Siz Vim'da matnni o'zgartirdingiz va :q yozib Enter bosdingiz. Vim chiqmadi, pastda qizil xabar chiqdi. Nega?

Javob

Chunki faylda saqlanmagan o'zgarish bor. Vim ma'lumot yo'qolmasin deb sizni to'xtatadi va E37: No write since last change (add ! to override) deb yozadi. Tarjimasi: "oxirgi o'zgarishdan beri saqlanmadi (majburlash uchun ! qo'shing)". Ikki yo'l bor: :wq — saqlab chiqish, :q! — saqlamay chiqish.

6. nano: yangi boshlovchiga do'st muharrir

nano'da rejimlar yo'q. Harf bossangiz — harf yoziladi, xuddi Bloknotdagidek. Buyruqlar esa ekran pastida doim yozib turiladi.

bash
nano xarid.txt

Ekran pastida shunga o'xshash qatorlar chiqadi:

text
^G Help    ^O Write Out   ^W Where Is   ^K Cut
^X Exit    ^R Read File   ^\ Replace    ^U Paste

Bu yerda ^ belgisi — Ctrl tugmasi degani. Ya'ni ^O — Ctrl + O.

Eng kerakli ikkitasi:

  • Ctrl + O — saqlash (Write Out). Pastda fayl nomi so'raladi — Enter bosib tasdiqlaysiz.
  • Ctrl + X — chiqish (Exit). Saqlanmagan o'zgarish bo'lsa, Save modified buffer? ("o'zgargan matn saqlansinmi?") deb so'raydi. Y — ha, N — yo'q.

Tekshirib ko'ring: nano ekranining pastida ^W Where Is yozuvi bor. Qaysi tugmalarni bosish kerak?

Javob

Ctrl + W. ^ belgisi Ctrl ni bildiradi. "Where Is" — "qayerda?", ya'ni fayl ichidan so'z qidirish.

7. Git qaysi muharrirni ochadi: core.editor

Git'ni 07-qismda o'rganamiz. Lekin Git Bash o'rnatilgan bo'lsa, Git ham kompyuteringizda allaqachon bor. Uni hozirdan sozlab qo'ysangiz, keyin Vim "tuzog'iga" tushmaysiz.

Windows uchun Git o'rnatuvchisi "qaysi muharrirni ishlatay?" deb so'raydi va odatda Vim tanlangan bo'ladi. Buni bitta buyruq bilan o'zgartirish mumkin.

VS Code ochilsin desangiz:

bash
git config --global core.editor "code --wait"

nano ochilsin desangiz:

bash
git config --global core.editor "nano"

Buyruq qismlari:

  • git config — Git sozlamasini o'zgartirish.
  • --global — faqat bitta loyiha uchun emas, kompyuterdagi barcha loyihalar uchun.
  • core.editor — sozlama nomi: "asosiy muharrir".
  • "code --wait" — ochiladigan dastur. code — VS Code'ni terminaldan ochish buyrug'i (VS Code darsida o'rnatgan edik).

--wait nega kerak? Usiz code faylni ochadi va terminalga darhol "tayyor" deydi. Git esa "matn bo'sh ekan" deb ishni bekor qiladi. --wait bilan terminal siz VS Code'dagi o'sha tabni yopmaguningizcha kutib turadi.

Sozlamani tekshirish:

bash
git config --global core.editor

Terminalda:

text
code --wait

Maslahat: Ko'p dasturlar Git kabi muharrir ochishi kerak bo'lganda EDITOR muhit o'zgaruvchisiga qaraydi. Muhit o'zgaruvchilarini PATH darsida o'rgangan edingiz. Serverda export EDITOR=nano yozsangiz, o'sha sessiya davomida Vim o'rniga nano ochiladi.

Tekshirib ko'ring: Sardor git config --global core.editor "code" deb yozdi (--wait siz). Keyin Git unga Aborting commit due to empty commit message. dedi. Nega?

Javob

--wait bo'lmagani uchun VS Code ochildi-yu, terminal kutmadi. Git faylni darhol o'qidi — u bo'sh edi. Xabar tarjimasi: "izoh matni bo'sh bo'lgani uchun saqlash bekor qilindi". Yechim: "code --wait" deb qayta sozlash.

8. Ko'p uchraydigan xatolar

8.1 -- INSERT -- rejimida :wq yozish

:wq fayl ichiga matn bo'lib tushadi, Vim yopilmaydi.

Avval Esc, pastdagi -- INSERT -- yo'qolganini ko'ring, keyin :wq. Tushib qolgan matnni Esc dan keyin u bilan bekor qiling.

8.2 E37: No write since last change (add ! to override)

Nega chiqadi: :q bilan chiqmoqchisiz, lekin faylda saqlanmagan o'zgarish bor.

Tuzatish: saqlash kerak bo'lsa — :wq, kerak bo'lmasa — :q!.

8.3 E492: Not an editor command: WQ

Nega chiqadi: Caps Lock yoqilgan, siz :WQ yozdingiz. Tarjimasi: "WQ — muharrir buyrug'i emas". Vim katta va kichik harflarni farqlaydi.

Tuzatish: Caps Lock'ni o'chiring va :wq yozing.

8.4 Terminalni yopib qochish va E325: ATTENTION

Chiqa olmay, terminal oynasini X bilan yopish. Vim ish paytida yashirin .salom.txt.swp nomli zaxira (swap) faylini yaratadi. To'g'ri yopilmasa, u o'chmay qoladi.

Keyingi safar faylni ochganingizda E325: ATTENTION va Found a swap file by the name ".salom.txt.swp" degan uzun ogohlantirish chiqadi. Qo'rqmang: pastdagi variantlardan (D)elete it — D bosing, zaxira fayl o'chadi va fayl ochiladi.

Chiqishning to'g'ri yo'li — Esc, keyin :q! yoki :wq.

8.5 --wait ni unutish

code ni --wait siz yozsangiz, Git kutmaydi va Aborting commit due to empty commit message. deydi. Tuzatish — 7-bo'limdagi buyruq.

9. Mashqlar

1-mashq (oson)

Git Bash'da Vim bilan tanishuv.txt faylini yarating. Ichiga ismingiz va "IlmHamroh o'quvchisiman" jumlasini yozing. Saqlab chiqing va natijani cat bilan tekshiring.

Ishora: 5.1 bo'limdagi to'rt qadam — i, matn, Esc, :wq.

Yechim
bash
vim tanishuv.txt
  1. i bosing — pastda -- INSERT -- chiqadi.
  2. Yozing: Aziz. IlmHamroh o'quvchisiman.
  3. Esc bosing.
  4. :wq yozib Enter bosing.

Tekshirish:

bash
cat tanishuv.txt

Terminalda siz yozgan qator chiqadi. Chiqmasa — ehtimol :q! bilan chiqib ketgansiz, qaytadan urinib ko'ring.

2-mashq (o'rta)

tanishuv.txt ni Vim'da qayta oching. Oxiriga "Bu qator saqlanmasligi kerak" deb yozing. Keyin saqlamasdan chiqing. cat bilan fayl o'zgarmaganini isbotlang.

Ishora: saqlamasdan chiqish — ! bilan tugaydigan buyruq (5.2 jadval).

Yechim
  1. vim tanishuv.txt
  2. i, yangi qatorni yozing.
  3. Esc.
  4. :q! va Enter.
bash
cat tanishuv.txt

Faqat birinchi mashqdagi qator chiqadi. Yangi qator yo'q — demak :q! o'zgarishni saqlamagan.

Agar :q (undov belgisisiz) yozsangiz, Vim E37 xabarini berib chiqmaydi. Bu to'g'ri: Vim sizni tasodifan ma'lumot yo'qotishdan himoya qilyapti.

3-mashq (qiyin)

Ikki ish:

  1. Git uchun muharrirni nano qiling va sozlama saqlanganini tekshiring.
  2. So'ng o'zingizga qulay variantga qaytaring: VS Code (code --wait).

Har ikki holatda sozlamaning joriy qiymatini ko'rsatadigan buyruqni ham yozing.

Ishora: sozlash — git config --global core.editor "..."; o'qish — xuddi shu buyruq, lekin qiymatsiz (7-bo'lim).

Yechim
bash
git config --global core.editor "nano"
git config --global core.editor

Terminalda:

text
nano

VS Code'ga qaytarish:

bash
git config --global core.editor "code --wait"
git config --global core.editor

Terminalda:

text
code --wait

Bir sozlamaga yangi qiymat berilsa, eskisi o'rniga yoziladi — ikkitasi birga saqlanmaydi. Agar code buyrug'i topilmasa (command not found), VS Code darsidagi "Shell Command: Install 'code' command in PATH" qadamini bajaring.

10. Real ishda

  • Serverda. Backend va DevOps ishida serverdagi sozlama faylini tez tuzatish kerak bo'ladi. Ko'pincha o'sha yerda faqat vi yoki nano bo'ladi. Linux va serverlar kursning 33-qismida o'rganiladi.
  • Git bilan. Git har kuni izoh matni so'raydi. core.editor bir marta sozlansa, bu muammo butunlay yo'qoladi.
  • Jamoada. Muharrir tanlash — shaxsiy ish. Hech kim sizni Vim'ga majburlamaydi. Lekin jamoada Cursor, WebStorm yoki Zed nomlarini eshitasiz — endi ular nima ekanini bilasiz.
  • Intervyu. "Vim'dan qanday chiqasiz?" — ba'zan hazil sifatida so'raladi. Javob: "Esc, keyin :wq yoki :q!".

Xulosa

  • VS Code asosiy muharrirligicha qoladi; Cursor, Antigravity, Devin Desktop — uning AI qo'shilgan forklari, bilimingiz ularga ham ko'chadi.
  • WebStorm — kuchli IDE (o'qish uchun bepul), Zed — juda tez muharrir, Sublime va Notepad++ — yengil vositalar.
  • Terminal muharriri serverda va Git'da kerak bo'ladi: nano — sodda, Vim — rejimli.
  • Vim'ning uchta rejimi: Normal (harf = buyruq), Insert (i — yozish), buyruq qatori (:). Esc hamma joydan Normal'ga qaytaradi.
  • Saqlab chiqish — Esc, :wq, Enter; saqlamay chiqish — Esc, :q!, Enter.
  • git config --global core.editor "code --wait" — Git VS Code'ni ochadi va siz yopmaguningizcha kutadi.

Keyingi dars: Dasturchi ingliz tili — Vim'dagi E37: No write since last change kabi inglizcha xabarlarni o'qish uchun eng kerakli 100–200 so'zni va tarjimon bilan to'g'ri ishlashni o'rganamiz.

Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
Boshqa muharrirlar va Vim: Cursor, WebStorm, Zed va terminalda omon qolish — IlmHamroh