(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': data().getTime(),įvykis:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5LHNRP9'); Bėgių bėgių kūrimas naudojant TMUX, "Vim", Fzf + Ripgrep - The Codest
The Codest
  • Apie mus
  • Paslaugos
    • Programinės įrangos kūrimas
      • Priekinės dalies kūrimas
      • Galinės dalies kūrimas
    • Staff Augmentation
      • Priekinės dalies kūrėjai
      • Atgalinės versijos kūrėjai
      • Duomenų inžinieriai
      • Debesų inžinieriai
      • QA inžinieriai
      • Kita
    • Patariamoji tarnyba
      • Auditas ir konsultacijos
  • Pramonės šakos
    • Fintech ir bankininkystė
    • E-commerce
    • Adtech
    • Sveikatos technologijos
    • Gamyba
    • Logistika
    • Automobiliai
    • IOT
  • Vertė už
    • CEO
    • CTO
    • Pristatymo vadybininkas
  • Mūsų komanda
  • Case Studies
  • Sužinokite, kaip
    • Tinklaraštis
    • Susitikimai
    • Interneto seminarai
    • Ištekliai
Karjera Susisiekite su mumis
  • Apie mus
  • Paslaugos
    • Programinės įrangos kūrimas
      • Priekinės dalies kūrimas
      • Galinės dalies kūrimas
    • Staff Augmentation
      • Priekinės dalies kūrėjai
      • Atgalinės versijos kūrėjai
      • Duomenų inžinieriai
      • Debesų inžinieriai
      • QA inžinieriai
      • Kita
    • Patariamoji tarnyba
      • Auditas ir konsultacijos
  • Vertė už
    • CEO
    • CTO
    • Pristatymo vadybininkas
  • Mūsų komanda
  • Case Studies
  • Sužinokite, kaip
    • Tinklaraštis
    • Susitikimai
    • Interneto seminarai
    • Ištekliai
Karjera Susisiekite su mumis
Atgal rodyklė GRĮŽTI ATGAL
2019-04-24
Programinės įrangos kūrimas

"Rails" kūrimas naudojant TMUX, "Vim", Fzf + Ripgrep

The Codest

Marcin Doliwa

Software Engineer

Prieš kelerius metus su draugais, "Java" kūrėjais, kepiau ant grotelių. Nežinau, kaip tai atsitiko, bet pradėjome kalbėti apie savo programavimo aplinkas. Pasakiau jiems, kad visą programavimą atlieku naudodamas "Vim" ir terminalus. Tai sukėlė keletą juokelių ir juokingų klausimų, pavyzdžiui, ar vis dar naudoju perforatorius 🙂

Nuo to laiko išbandžiau keletą “tikrų” IDE, bet visada grįždavau prie Vim ir terminalus, nes tai labai greitas metodas, turi visus man reikalingus įrankius ir man tiesiog patinka dirbti teksto režimu.

Štai keletas detalių apie mano darbo eigą. Verta paminėti, kad dirbu "Linux", tačiau be problemų galite jį įdiegti "Mac" arba "Windows".

Darbo dieną pradedu nuo terminalo atidarymo, cd ~/Projects/XYZ ir paleidžiu tmux, todėl pradėkime nuo to.

TMUX

Kas yra TMUX? Kaip teigia autoriai:

TMUX yra galinis multiplekseris. Jis leidžia lengvai perjungti kelias programas viename terminale, jas atjungti (jos veikia fone) ir vėl prijungti prie kito terminalo.

Jį naudoju norėdamas perjungti kelis dalykus viename terminale. Taigi, viename TMUX langą, turiu Bėgiai veikia serveris, antrajame aš turiu savo Vim ir kiekvieną kartą, kai reikia ką nors atlikti terminale, pavyzdžiui, patikrinti maršrutus, paleisti migraciją ar testus, tiesiog atidarau naują langą su CTRL-A C ir atlikite šį darbą.

Aš nenaudoju TMUX tik langus ir daug perjunginėti (CTRL + dviguba A susieta su perjungimu tarp paskutinių langų).

Kita labai patogi funkcija TMUX tai, kad juo galima rasti ir kopijuoti tekstą iš terminalo nenaudojant pelės.

Vim

Tai pagrindinė mano darbo eigos dalis. Nesigilinsiu į detales apie tai, kas VIM ir kuo jis skiriasi nuo kitų redaktorių. Apie jį yra daug puikių straipsnių ir vaizdo įrašų. Keliais žodžiais, Vim yra modalinis redaktorius. Jame yra du režimai: įterpimo režimas ir įprastas režimas. Įterpimo režimu į dokumentą įvedamas tekstas, o įprastuoju - atliekamos įvairios operacijos su dokumentu, pavyzdžiui, žymeklio perkėlimas, teksto fragmentų ištrynimas, keitimas ir pan. Skamba keistai, bet po kurio laiko tai atrodo labai natūralu ir labai sunku grįžti prie įprasto redaktoriaus.

Norėčiau jums parodyti, kaip derinu Vim su kitais įrankiais, kad gautumėte viską, ko man reikia kaip žiniatinklio svetainė kūrėjas.

Įskiepiai

Nesu sunkiųjų įskiepių gerbėjas Vim konfigūracijų, todėl naudoju tik kelias. Štai sąrašas:

NERDtree - tai failų tyrinėtojas. Juo galima lengvai atlikti kai kurias pagrindines failų sistemos operacijas, pavyzdžiui, perkelti failus, pervadinti, kurti naujus failus ir daugelį kitų,

vim-endwise - Aš esu Ruby kūrėjas, todėl jį naudoju norėdamas pridėti pabaiga po jei, daryti, def, ir keletą kitų raktažodžių,

vim-rails - tai Bėgiai galios įskiepis. Jis žino struktūrą Rails programa. Norite patikrinti po žymekliu esantį dalinį? Tiesiog paspauskite gf ir jis bus atidarytas dabartiniame lange. Yra daug kitų parinkčių, bet šią naudoju dažniausiai,

vim-surround - puikus įskiepis, kuris labai palengvina darbą su aplinka. Naudodami jį galite keliais klavišų paspaudimais pakeisti teksto aplinką iš () į [],

vim-repeat - papildo "Vim-surround". Jis leidžia kartoti aplinkos keitimą su . (pakartokite paskutinį pakeitimą "Vim"),

vimwiki- mano būdas užsirašyti,

fzf.vim+ fzf - pagrindinė mano žiniatinklio kūrimas darbo eiga.

bendradarbiavimo vėliava

Fzf + Ripgrep

Tai įrankiai, kurie lemia mano kodavimo būdą. Supratau, kad paprastai, atlikdamas tam tikras kodavimo užduotis, didžiąją laiko dalį praleidžiu ieškodamas, kaip viskas veikia. Kad tai padaryčiau, turiu greitai patikrinti įvairias kodų bazės dalis, metodų apibrėžtis, klases ir kitus dalykus.

Fzf tai interaktyvus "Unix" komandinės eilutės filtras, kurį galima naudoti su bet kokiais sąrašais (failais, komandų istorija, "git commits", procesų sąrašais); kitaip tariant, tai išplaukusi paieškos priemonė.

Ripgrep yra grep alternatyva, tačiau ji yra labai greita.

Sujungus šias dvi priemones, galiu greitai rasti bet ką, ko noriu savo projektas.
Turiu du nustatymus Vim konfigūracijos failą, kuris padėtų man tai padaryti:

nnoremap  :Files
nnoremap  :Rg

Pirmasis leido greitai surasti tinkamus failus naudojant neaiškią paiešką pagal failų kelius (CTRL-P). Antrasis paleidžia neaiškią paiešką visiems mano projekto failų keliams ir turiniui, naudodamas Ripgrep (CTRL-F).

Tarkime, noriu surasti migraciją, kai prie stulpelio vartotojai lentelė. Paspaudžiu CTRL-F ir parašau kažką panašaus į adcolusnam ir jis atitiks add_column :users, :name, :string.

Kai ieškau metodo apibrėžties, dažnai paleidžiu CTRL-F def method_name.

Tai labai naudinga, nes ieškoma pagal failo kelią + turinį. Tai ypač patogu, kai žinau, kad ieškomas turinys yra konkrečioje projekto dalyje. Pavyzdžiui, noriu rasti, kur atnaujinome vartotojo vardą, ir prisimenu, kad jis buvo kažkur valdikliuose. Paspaudžiu CTRL-F conupdname kad atitiktų eilutę app/controllers/users_controller: @user.update(name: new_name).

Jei žinote savo projekto ir kodų bazės struktūrą, galite nesunkiai sudaryti neaiškias paieškos užklausas ir greitai rasti beveik viską, ko norite.

Vaizdo įrašas

Spauskite čia norėdami pamatyti trumpą įrašą, kuriame aš žaidžiu su `discourse` kodų baze (440k LOC mano i5, 16GB darbalaukyje) ir parodau, kaip paprastai judu projekte.

Santrauka

Tikiuosi, kad jus sudomino mano sąranka ir nusprendėte duoti Fzf pabandykite išbandyti savo kodavimo pastangas. Tai tikrai pakeitė mano naudojimosi būdą Vim kaip kodas redaktorius.

Susiję straipsniai

Programinės įrangos kūrimas

5 geriausi "Ruby" naudojimo pavyzdžiai

Ar kada nors susimąstėte, ką galime padaryti su "Ruby"? Ko gero, dangus yra beribis, bet mes mielai papasakosime apie kai kuriuos daugiau ar mažiau žinomus atvejus...

The Codest
Pawel Muszynski Software Engineer
Programinės įrangos kūrimas

Sužinokite daugiau apie Ruby on Rails su "Pub/Sub

"Pub/Sub" projektui gali duoti daug naudos - dėl jos kodas gali būti švarus, paslaugos gali būti atskirtos ir lengvai keičiamos. Daugiau apie "Pub/Sub" sužinosite šiame straipsnyje...

The Codest
Michal Pawlak Vyresnysis "Ruby" programuotojas
Programinės įrangos kūrimas

Produkto kūrimas: Python vs. Ruby

Python ir "Ruby" yra plačiausiai naudojamos galinės programavimo kalbos. Python yra šiek tiek populiaresnė ir plačiau taikoma. Tačiau "Ruby" taip pat turi daug privalumų ir...

The Codest
Kamil Ferens Augimo vadovas

Prenumeruokite mūsų žinių bazę ir būkite nuolat informuoti apie IT sektoriaus patirtį.

    Apie mus

    The Codest - tarptautinė programinės įrangos kūrimo bendrovė, turinti technologijų centrus Lenkijoje.

    Jungtinė Karalystė - būstinė

    • 303B biuras, 182-184 High Street North E6 2JA
      Londonas, Anglija

    Lenkija - vietiniai technologijų centrai

    • Fabryczna biurų parkas, Aleja
      Pokoju 18, 31-564 Krokuva
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšuva, Lenkija

    The Codest

    • Pagrindinis
    • Apie mus
    • Paslaugos
    • Case Studies
    • Sužinokite, kaip
    • Karjera
    • Žodynas

    Paslaugos

    • Patariamoji tarnyba
    • Programinės įrangos kūrimas
    • Galinės dalies kūrimas
    • Priekinės dalies kūrimas
    • Staff Augmentation
    • Atgalinės versijos kūrėjai
    • Debesų inžinieriai
    • Duomenų inžinieriai
    • Kita
    • QA inžinieriai

    Ištekliai

    • Faktai ir mitai apie bendradarbiavimą su išoriniu programinės įrangos kūrimo partneriu
    • Iš JAV į Europą: Kodėl Amerikos startuoliai nusprendžia persikelti į Europą?
    • Technikos plėtros centrų užsienyje palyginimas: Tech Offshore Europa (Lenkija), ASEAN (Filipinai), Eurazija (Turkija)
    • Kokie yra svarbiausi CTO ir CIO iššūkiai?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autorinės teisės © 2026 The Codest. Visos teisės saugomos.

    lt_LTLithuanian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian es_ESSpanish nl_NLDutch etEstonian elGreek pt_PTPortuguese cs_CZCzech lvLatvian is_ISIcelandic lt_LTLithuanian