IDE borku, nima uchun VIM ishlatishim kerak?

IDE borku, nima uchun VIM ishlatishim kerak?

IDE borku, nima uchun VIM ishlatishim kerak?

Habrahabrda bir dasturchi Sublimedan VIMga o’tgani haqida maqola chiqgan edi. Odamlar esa har doimgidek «Bir yaxshi, ishlab turgan IDE o’rniga, nega VIM ishlatib bekorchi vaqt sarflashim kerak?» qabilasidagi fikrlarni yozishgan edi. Endi shu mavzu bo’yicha biz ham muhokama qilamiz (imloviy xatolar uchun oldindan uzur).

Umuman olganda bu hohishga qarab tanlanadigan qaror. Agar sizga IDE(yoki boshqa matn muharriri) yoqadimi, marhamat! Ishingiz uchun eng to’g’ri keladiganini ishlating, bu ish unumdorligini oshiradi. Lekin sizda ozroq bo’lsa ham o’z qobilyatlaringizni oshirish uchun vaqt topilib qolsa, VIMni sinab ko’rishga harakat qiling va o’zingizni IDE bilan solishtirib ko’rishga harakat qiling.

ide borku nima uchun vim ishlatishim kerak 65e61cf8f2279

Nima uchun?

Agar barcha IDEdagi kamchiliklarni VIM bilan solishtirib (yoki teskarisi, VIMning yutuqlarni) aytganda, ular quyidagilar:

  • IDE juda o’g’ir ishlaydi, hatto VIM (pluginlar o’rnatilgan) paytda ham; buni ko’rsatib turibdiki IDE uchun kuchli kompyuter kerak bo’ladi.
  • IDE odatda ma’lum bir dasturlash tillarida yozish uchun ishlatiladi, agar boshqa tilga o’tsangiz boshqa IDE o’rnatishingiz kerak bo’ladi. VIMda esa hech narsaga qaramasdan, barcha narsani yozib ketaverishadi. Asosan VIMda Ruby/Rails, Python, C, OpenCL (+PyOpenCL), CUDA (+PyCUDA), bash, Go, XML, YAML, HTML, Markdown, Textile, CSS, .ini, Sage, Magma, GAP, LaTex, sozlama faylar va boshqa turdagi matn fayllar. IDEda biron bir dasturlash tilida ishlayotgan paytingizda, uning imkoniyatlarini, ishlatish usullari, klavishlar kombinatsiyalarini o’rganishingiz kerak bo’ladi. VIM esa barcha narsa qila oladi, siz qaytadan boshqa instrumentga ko’nikishingiz kerak bo’lmaydi. Natijada, siz bir texnologiyadan boshqa bir texnologiyaga o’tgan paytingizda (masalan, bugun Rubyda yozmoqdasiz, ertaga esa Pythonda, undan keyin esa yana orqaga qaytsangiz) siz o’zingiz ko’nikgan muhitdan ayrilmaysiz.
  • Vim yuqorida aytganimday hamma narsada yozish imkonini beradi. Ya’ni shunday narsalarki, qolganlar bu imkoniyat bermaydi. Masalan, Magma uchun IDE topishga harakat qib ko’ring, yoki boshqa yangi dasturlash tili uchun. Vimda esa hamma narsa bor. Ya’ni har doim hamma IDE yaratilavermaydi, Vimga plugin yozish esa unchalik qiyin emas.
  • Vim konsol rejimida ishlashi mumkin. Boshqacha qilib aytganda kompyuteringizga ortiqcha o’g’irlik tushmaydi. Lenovo noutbukimda dasturlash uchun yetarlicha resurslar yo’q, agar unda testlarni ishga tushursam juda ko’p vaqt testlarni yakunlanishi kutaman va yana IDE o’rnatib olsam noutbukim turgan joyida qotib qoladi (Windowsda bo’lsangiz Blue Screen of Death). Lekin ayni paytda ssh orqali kuchli serverga ulanish imkoniyati bor, u yerda bemalol ishlashingiz mumkin: testlarni ishga tushirish, VIM ishlaydi yani kod yozish imkoniyati bor. Bitta ishni bitta kompyuterda boshladim (masalan ishxonada), VIMni yopmasdan serverdan chiqib ketaman, uyga borib kompyuterda serverga ulansam, aynan oxirgi marta qayerda to’xtagan bo’lsa o’sha yerdan davom ettirish imkoniyatiga ega bo’laman, bu esa juda qulay. Qani shu ishni o’zingizning IDEda qilib ko’ringchi! (Kodlarni Git yoki SVNda saqlash kerak deyishingiz mumkin, lekin biz kod yozishni davom ettishini emas, kod yozish muhitini davom ettirish haqida gaplashmoqdamiz).
  • VIM mafkurasi — IDEga qaraganda juda kuchli hisoblanadi. Practical Vim: Edit Text at the Speed of Thought kitobi bor, uni nomi («matni fiklash tezligida tahrirlash») kabi oxirida albatta o’z natijasini ko’rsatadi. Afsuski, o’zi sinab ko’rmagan narsasiga, odamni ishontirish qiyin masala (lekin ba’zilar hakat qilishmoqda). Muammo shundaki, VIM mafkurasi juda yuqimli kasallik desa ham bo’ladi, uni kompyuterda ishlatiladigan barcha jo’yga o’rnatgingiz keladi, masalan: brauzer, pdf, pochta klient, musiqa playeri, fayl menejer va boshqa ko’p narsalar.
  • Vim bilan sizga sichqoncha kerak bo’lmaydi, agar o’zingiz hohlasangiz (agar hohlamasangiz, Vim sichqoncha bilan ishlashni yaxshi biladi). Odamlar tachpadlar ishlashda qiynalib o’zlari bilan sichqonchalar olib yurishini ko’rish man uchun juda qiyin. Noutbuk bilan ishlagan paytda sichqoncha uchun albatta tekin joy topishlari kerak bo’ladi.
  • Vimda siz ishlamoqchi bo’lgan texnologiyangizga oid plugin albatta bo’ladi.
  • SIzning Vimdagi sozlamalaringiz muammosiz bir kompyuterdan, ikkinchi kompyuterga o’tkazishingiz mumkin(.vimrc fayl). IDEda buni qanday qilasiz ?

Agar kamlik qilgan bo’lsa, mana yana: bir, ikki, uch.

Ha, VIMchilar ish unumdorligi va tezlikka bog’lanib qolishgan, har doim biron bir ishni avtomatlashtirish yoki tezlashtirish uchun o’ylashadi. Agar sizning ko’nglingizda ham shunday fikrlar bo’lsa, VIM bilan ishlash sizga katta yordam beradi.

Qanday o’rganish mumkin?

Darhol boshqa odamlar yozgan sozlama fayllarni o’rnatib olmang (vimrc). Ular juda yaxshi tuyilishi mumkin, lekin u yerda qaynoq klavishlar va azgincha mo’jiza bor holos. vimtutorni o’tib chiqing. Undan keyin oddiy VIMni o’zida yozing, barmoqlar o’rganishi uchun.

Undan keyin esa o’zingizga kerakli pluginlarni o’rnatib olib ishlatishingiz mumkin. Pluginlarni boshqarish uchun Vundle yoki vim-plug o’rnatib oling.

Good Luck!

P.S: VIM har bir xolatda ham IDEdan ustun emas, lekin shunday xolatlar borki VIM, IDEdan ustun keladi. Shularni yozib o’tdim. Bu ustun taraflar faqat mening fikrim edi va «Nima uchun VIM» degan savollarga javob tariqasida edi.

Ta‘lim
IDE borku, nima uchun VIM ishlatishim kerak?