window.pipedriveLeadboosterConfig = { base: leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster on juba olemas') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Rails arendus TMUX, Vim, Fzf + Ripgrep - The Codest
The Codest
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Tööstusharud
    • Fintech & pangandus
    • E-commerce
    • Adtech
    • Healthtech
    • Tootmine
    • Logistika
    • Autotööstus
    • IOT
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
  • Meie kohta
  • Teenused
    • Tarkvaraarendus
      • Frontend arendus
      • Backend arendus
    • Staff Augmentation
      • Frontend arendajad
      • Backend arendajad
      • Andmeinsenerid
      • Pilveinsenerid
      • QA insenerid
      • Muud
    • See nõuandev
      • Audit ja nõustamine
  • Väärtus
    • CEO
    • CTO
    • Tarnejuht
  • Meie meeskond
  • Case Studies
  • Tea kuidas
    • Blogi
    • Kohtumised
    • Veebiseminarid
    • Ressursid
Karjäärivõimalused Võtke ühendust
Tagasi nool TAGASI
2021-06-07
Tarkvaraarendus

Railsi arendamine TMUX, Vim, Fzf + Ripgrep abil

The Codest

Marcin Doliwa

Software Engineer

Mõned aastad tagasi grillisin koos mõne oma sõbraga, kes olid kõik Java-arendajad. Ei tea, kuidas see tekkis, aga me hakkasime rääkima oma kodeerimiskeskkondadest. Ütlesin neile, et teen kogu oma arendustööd Vim'i ja terminali abil. See vallandas mõned naljad ja naljakad küsimused, näiteks kas ma kasutan ikka veel augukaarte 🙂 .

Pärast seda olen proovinud mõningaid "tõelisi" IDE-sid, kuid olen alati naasnud tagasi Vim ja terminalid, sest see on väga kiire meetod, selles on kõik vajalikud tööriistad ja mulle lihtsalt meeldib töötada tekstirežiimis.

Siin on mõned üksikasjad minu töökorralduse kohta. Tasub mainida, et ma töötan Linuxi peal, aga sa võid selle probleemideta seadistada ka Macil või Windowsil.

Ma alustan oma tööpäeva sellega, et avan terminali, cd ~/Projektid/XYZ ja käivitan järgmise programmi tmux, nii et alustame sellest.

TMUX

Mis on TMUX? Nagu autorid ütlevad:

TMUX on terminali multiplekser. See võimaldab teil hõlpsasti vahetada mitme programmi vahel ühes terminalis, neid lahutada (nad jäävad taustal tööle) ja uuesti teise terminali ühendada.

Ma kasutan seda mitme asja vahel vahetamiseks ühes terminalis. Nii et ühes TMUX aknas on mul Rööpad server töötab, teises on mul oma Vim avatud, ja iga kord, kui mul on vaja midagi teha terminalis, näiteks marsruutide kontrollimine, migratsioonide või testide käivitamine, avan lihtsalt uue akna koos CTRL-A C ja teha seda asja.

Ma ei kasuta TMUX paneelid, ainult aknad, ja teha palju ümberlülitusi (mul on CTRL + topelt-A seotud viimaste akende vaheliseks ümberlülitumiseks).

Teine väga mugav funktsioon TMUX on see, et see võimaldab mul leida ja kopeerida teksti terminalist ilma hiirt kasutamata.

Vim

See on minu töökorralduse peamine osa. Ma ei hakka üksikasjadesse laskuma, mida VIM on ja kuidas see erineb teistest toimetajatest. Selle kohta on palju häid artikleid ja videoid. Mõnede sõnadega, Vim on modaalne toimetaja. Sellel on kaks režiimi, sisestusrežiim ja tavarežiim. Insert režiimis saab sisestada teksti dokumenti ja tavalises režiimis saab teha dokumendiga erinevaid toiminguid, näiteks kursorit liigutada, kustutada tekstikatkendeid, muuta teksti jne. See kõlab kummaliselt, kuid mõne aja möödudes tundub see väga loomulik ja on väga raske minna tagasi oma tavalise redaktori juurde.

Ma tahaksin teile näidata, kuidas ma kombineerin Vim teiste tööriistadega, et saada kõik, mida ma veebiarendajana vajan.

Plugins

Ma ei ole raske pluginate fänn Vim configs, nii et ma kasutan ainult mõned. Siin on nimekiri:

NERDtree - see on failiuurija. See võimaldab teil hõlpsasti teha mõningaid põhilisi failisüsteemi toiminguid, nagu failide teisaldamine, ümbernimetamine, uute failide loomine ja palju muud,

vim-endwise - Ma olen Ruby arendaja, nii et ma kasutan seda, et lisada lõpp pärast kui, do, defja mitmed teised märksõnad,

vim-rails - see on Rööpad power plugin. See tunneb struktuuri Rails rakendus. Tahad kontrollida osalist kursori all olevat? Vajutage lihtsalt gf ja see avab selle teie praeguses aknas. Sellel on palju muid võimalusi, kuid see on see, mida ma kõige sagedamini kasutan,

vim-surround - suurepärane plugin, mis muudab ümbruskonnaga töötamise väga lihtsaks. Selle abil saate paari klahvivajutusega muuta teksti ümbrust () kuni [],

vim-repeat - Vim-surroundi täiendus. See võimaldab korduvat ümbritseva muutust koos . (korrake viimast muudatust Vimis),

vimwiki- minu viis märkmete tegemiseks,

fzf.vim+ fzf - minu keskne osa veebiarendus tööprotsess.

koostööbänner

Fzf + Ripgrep

Need on tööriistad, mis määravad, kuidas ma kodeerin. Ma mõistsin, et tavaliselt, kui ma teen mõnda kodeerimisülesannet, kulutan ma suurema osa oma ajast sellele, et leida, kuidas need asjad toimivad. Selleks pean ma kiiresti kontrollima koodibaasi erinevaid osi, meetodite definitsioone, klasse ja muid asju.

Fzf on interaktiivne Unixi käsurea filter, mida saab kasutada mis tahes nimekirjadega (failid, käskude ajalugu, git commits, protsesside nimekirjad); teisisõnu, see on ebaselge otsija.

Ripgrep on alternatiiv grep'ile, kuid see on ülimalt kiire.

Kui need kaks kombineeritakse, võimaldavad nad mul kiiresti leida kõik, mida ma tahan oma projekt.
Mul on kaks seadistust minu Vim config faili, et mind selles aidata:

nnoremap  :Files
nnoremap  :Rg

Esimene võimaldab mul kiiresti leida õiged failid, kasutades failiradade ebaselget leidmist (CTRL-P). Teine käivitab fuzzy finder'i minu projekti kõigi failide teede ja sisu kohta, kasutades Ripgrep (CTRL-F).

Niisiis, ütleme, et ma tahan leida migratsiooni, kus ma lisasin veergu kasutajad tabel. Vajutan CTRL-F ja kirjutan midagi sellist nagu adcolusnam ja see vastab add_column :users, :name, :string.

Kui ma otsin meetodi definitsiooni, siis sageli käivitan CTRL-F def meetodi_nimi.

See on väga kasulik, sest see otsib läbi faili tee + sisu. See on eriti mugav, kui ma tean, et sisu, mida ma otsin, on projekti konkreetses osas. Näiteks tahan leida, kus me uuendasime kasutajanime, ja ma mäletan, et see oli kuskil kontrollerites. Ma vajutan CTRL-F conupdname et sobitada rida app/controllers/users_controller: @user.update(nimi: uus_nimi).

Kui tunnete oma projekti ja koodibaasi struktuuri, saate hõlpsasti koostada hägusaid päringuid, et leida kiiresti peaaegu kõike, mida soovite.

Video

Vajuta siia et näha lühikest salvestust, kus ma mängin `discourse` koodibaasiga (440k LOC minu i5, 16GB töölaual) ja näitan, kuidas ma tavaliselt projektis ringi liigun.

Kokkuvõte

Ma loodan, et sa said huvitatud minu setup ja otsustas anda Fzf proovida oma kodeerimispüüdlustes. See tõesti muutis seda, kuidas ma kasutan Vim kui kood toimetaja.

Seotud artiklid

Fintech

5 näidet Ruby parimast kasutamisest

Kas olete kunagi mõelnud, mida me saame teha Ruby'ga? Noh, taevas on ilmselt piirideta, kuid me räägime hea meelega mõnest rohkem või vähem teadaolevast juhtumist...

The Codest
Pawel Muszynski Software Engineer
Tarkvaraarendus

Lisateave Ruby on Rails ja Pub/Sub kohta

Pub/Sub võib tuua projektile palju kasu - see võib muuta koodi puhtaks, lahutada teenuseid ja muuta need kergesti skaleeritavaks. Lisateave Pub/Subi kohta järgmises artiklis...

The Codest
Michal Pawlak Ruby vanem arendaja
Tarkvaraarendus

Tootearendus: Python vs. Ruby

Python ja Ruby on mõlemad kõige laialdasemalt kasutatavad backend programmeerimiskeeled. Python on veidi populaarsem ja laiema kasutusalaga. Ruby toob aga ka palju eeliseid ja...

The Codest
Kamil Ferens Majanduskasvu juht

Tellige meie teadmistebaas ja jääge kursis IT-sektori eksperditeadmistega.

    Meie kohta

    The Codest - rahvusvaheline tarkvaraarendusettevõte, mille tehnoloogiakeskused asuvad Poolas.

    Ühendkuningriik - peakorter

    • Büroo 303B, 182-184 High Street North E6 2JA
      London, Inglismaa

    Poola - kohalikud tehnoloogiakeskused

    • Fabryczna büroopark, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Varssavi, Poola

      The Codest

    • Kodu
    • Meie kohta
    • Teenused
    • Case Studies
    • Tea kuidas
    • Karjäärivõimalused
    • Sõnastik

      Teenused

    • See nõuandev
    • Tarkvaraarendus
    • Backend arendus
    • Frontend arendus
    • Staff Augmentation
    • Backend arendajad
    • Pilveinsenerid
    • Andmeinsenerid
    • Muud
    • QA insenerid

      Ressursid

    • Faktid ja müüdid koostööst välise tarkvaraarenduspartneriga
    • USAst Euroopasse: Miks otsustavad Ameerika idufirmad Euroopasse ümber asuda?
    • Tech Offshore arenduskeskuste võrdlus: Euroopa (Poola), ASEAN (Filipiinid), Euraasia (Türgi).
    • Millised on CTO ja CIOde peamised väljakutsed?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Copyright © 2025 by The Codest. Kõik õigused kaitstud.

    etEstonian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch elGreek etEstonian