(function(w,d,s,l,i){w[l]=w[l]|||[];w[l].push({'gtm.start': new Date().getTime(),event:'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'); Rails attīstība ar TMUX, Vim, Fzf + Ripgrep - The Codest
The Codest
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Nozares
    • Fintech un banku darbība
    • E-commerce
    • Adtech
    • Healthtech
    • Ražošana
    • Loģistika
    • Automobiļu nozare
    • IOT
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
  • Par mums
  • Pakalpojumi
    • Programmatūras izstrāde
      • Frontend izveide
      • Backend izstrāde
    • Staff Augmentation
      • Frontend izstrādātāji
      • Backend izstrādātāji
      • Datu inženieri
      • Mākoņa inženieri
      • QA inženieri
      • Citi
    • Tā Konsultatīvais dienests
      • Audits un konsultācijas
  • Vērtība par
    • CEO
    • CTO
    • Piegādes vadītājs
  • Mūsu komanda
  • Case Studies
  • Zināt, kā
    • Blogs
    • Tikšanās
    • Tiešsaistes semināri
    • Resursi
Karjera Sazinieties ar mums
Atpakaļ bultiņa ATGRIEZTIES ATPAKAĻ
2019-04-24
Programmatūras izstrāde

Rails attīstība ar TMUX, Vim, Fzf + Ripgrep

The Codest

Marcin Doliwa

Software Engineer

Pirms dažiem gadiem es kopā ar dažiem draugiem, Java izstrādātājiem, grillēju. Nezinu, kā tas radās, bet mēs sākām runāt par savām kodēšanas vidēm. Es viņiem teicu, ka visu izstrādi veicu, izmantojot Vim un terminālus. Tas izraisīja dažus jokus un smieklīgus jautājumus, piemēram, vai es joprojām izmantoju perforatorus 🙂.

Kopš tā laika es izmēģināju dažas “īstas” IDE, bet vienmēr atgriezos pie Vim un termināli, jo tā ir ļoti ātra metode, tajā ir visi man vajadzīgie rīki un man vienkārši patīk strādāt teksta režīmā.

Šeit ir sniegta sīkāka informācija par manu darba procesu. Ir vērts pieminēt, ka es strādāju Linux operētājsistēmā, taču bez problēmām varat to iestatīt arī Mac vai Windows operētājsistēmā.

Darba dienu sāku ar termināļa atvēršanu, cd ~/Projects/XYZ un palaist tmux, tāpēc sāksim ar to.

TMUX

Kas ir TMUX? Kā saka autori:

TMUX ir termināla multipleksors. Tas ļauj viegli pārslēgties starp vairākām programmām vienā terminālī, atslēgt tās (tās turpina darboties fonā) un atkal pieslēgt tās citā terminālī.

Es to izmantoju, lai pārslēgtos starp vairākām lietām vienā terminālī. Tātad vienā TMUX logs, man ir Sliedes serveris darbojas, otrajā man ir mans Vim un ikreiz, kad man nepieciešams kaut ko darīt terminālī, piemēram, pārbaudīt maršrutus, migrāciju vai testus, es vienkārši atveru jaunu logu ar CTRL-A C un darīt šo lietu.

Es neizmantoju TMUX paneļi, tikai logi un daudz pārslēgšanās (man ir CTRL + dubultā A, lai pārslēgtos starp pēdējiem logiem).

Vēl viena ļoti ērta funkcija TMUX ir tas, ka tā ļauj man atrast un kopēt tekstu no termināļa, neizmantojot peli.

Vim

Tā ir mana darba procesa galvenā daļa. Es neiedziļināšos detaļās par to. VIM un ar ko tā atšķiras no citiem redaktoriem. Par to ir daudz lielisku rakstu un videoklipu. Dažos vārdos, Vim ir modālais redaktors. Tam ir divi režīmi - ievietotāja režīms un parastais režīms. Ievietošanas režīmā var ievadīt tekstu dokumentā, bet parastajā režīmā var veikt dažādas darbības ar dokumentu, piemēram, pārvietot kursoru, dzēst teksta fragmentus, mainīt tekstu utt. Tas izklausās dīvaini, bet pēc kāda laika tas šķiet ļoti dabiski, un ir ļoti grūti atgriezties pie parastā redaktora.

Es vēlos jums parādīt, kā es apvienoju Vim ar citiem rīkiem, lai iegūtu visu, kas man nepieciešams kā tīmekļa vietne izstrādātājs.

Spraudņi

Es neesmu smagā spraudņa ventilators Vim konfigurācijas, tāpēc es izmantoju tikai dažas. Šeit ir saraksts:

NERDtree - tas ir failu pārlūks. Tas ļauj viegli veikt dažas pamata failu sistēmas darbības, piemēram, failu pārvietošanu, pārdēvēšanu, jaunu failu izveidi un daudzas citas,

vim-endwise - Es esmu Rubīns izstrādātājs, tāpēc es to izmantoju, lai pievienotu beigas pēc ja, darīt, def, kā arī vairāki citi atslēgvārdi,

vim-rails - tas ir Sliedes jaudas spraudnis. Tas zina struktūru Rails lietotne. Vai vēlaties pārbaudīt daļēju rādījumu zem kursora? Vienkārši nospiediet gf un tas tiks atvērts pašreizējā logā. Tam ir daudz citu iespēju, bet šo es izmantoju visbiežāk,

vim-surround - lielisks spraudnis, kas padara darbu ar apkārtni ļoti viegli. Ar to jūs varat mainīt teksta apkārtni no () uz [] ar dažiem taustiņu nospiedumiem,

vim-repeat - papildina Vim-surround. Tas ļauj atkārtot apkārtējo maiņu ar . (atkārtojiet pēdējās izmaiņas Vim),

vimwiki- mans veids, kā veikt piezīmes,

fzf.vim+ fzf - manas darbības pamatdaļa tīmekļa izstrāde darba plūsma.

sadarbības baneris

Fzf + Ripgrep

Šie ir rīki, kas nosaka manu kodēšanas veidu. Es sapratu, ka parasti, veicot kādu kodēšanas uzdevumu, lielāko daļu laika es veltu tam, lai noskaidrotu, kā tas darbojas. Lai to izdarītu, man ir ātri jāpārbauda dažādas kodu bāzes daļas, metožu definīcijas, klases un citas lietas.

Fzf ir interaktīvs Unix komandrindas filtrs, ko var izmantot ar jebkuriem sarakstiem (faili, komandu vēsture, git commits, procesu saraksti); citiem vārdiem sakot, tas ir izplūdušais meklētājs.

Ripgrep ir alternatīva grep, taču tā ir ļoti ātra.

Apvienojot šos divus elementus, es varu ātri atrast visu, ko vēlos savā projekts.
Man ir divi iestatījumi Vim konfigurācijas failu, lai palīdzētu man to izdarīt:

nnoremap  :Files
nnoremap  :Rg

Pirmais no tiem ļāva ātri atrast pareizos failus, izmantojot izplūdušu meklēšanu failu ceļos (CTRL-P). Otrais palaidīs izplūdušo meklētāju visiem mana projekta failu ceļiem un saturam, izmantojot Ripgrep (CTRL-F).

Pieņemsim, ka es vēlos atrast migrāciju, kurā es pievienoju kolonnu. lietotāji tabula. Es nospiedu CTRL-F un uzrakstu kaut ko līdzīgu. adcolusnam un tas atbilst add_column :users, :name, :string.

Kad meklēju metodes definīciju, bieži vien palaist CTRL-F def method_name.

Tas ir ļoti noderīgi, jo tas meklē failu ceļu + saturu. Tas ir īpaši ērti, ja es zinu, ka meklētais saturs atrodas konkrētā projekta daļā. Piemēram, es gribu atrast, kur mēs atjauninājām lietotājvārdu, un es atceros, ka tas bija kaut kur kontrolleros. Es nospiežu CTRL-F conupdname lai atbilstu līnijai app/controllers/users_controller: @user.update(name: new_name).

Ja pārzināt sava projekta un datubāzes struktūru, varat viegli izveidot izplūdušus meklēšanas vaicājumus, lai ātri atrastu gandrīz visu nepieciešamo.

Video

Noklikšķiniet šeit lai redzētu īsu ierakstu, kurā es spēlējos ar `discourse` kodu bāzi (440k LOC uz mana i5, 16GB darbvirsmas) un parādītu, kā es parasti pārvietojos pa projektu.

Kopsavilkums

Es ceru, ka jūs ieinteresēja mana uzstādīšana un nolēma dot Fzf izmēģināt jūsu kodēšanas centienus. Tas patiešām mainīja veidu, kā es izmantoju Vim kā kods redaktors.

Saistītie raksti

Programmatūras izstrāde

5 Ruby labākā lietojuma piemēri

Vai esat kādreiz aizdomājušies, ko mēs varam darīt ar Ruby? Iespējams, debesis ir neierobežotas, taču mēs labprāt pastāstīsim par dažiem vairāk vai mazāk zināmiem gadījumiem...

The Codest
Pawel Muszynski Software Engineer
Programmatūras izstrāde

Uzzināt vairāk par Ruby on Rails ar Pub/Sub

Pub/Sub var sniegt projektam daudz priekšrocību - tas var padarīt kodu tīru, atsaistīt pakalpojumus un padarīt tos viegli mērogojamus. Uzziniet vairāk par Pub/Sub šajā rakstā...

The Codest
Michal Pawlak Vecākais Ruby programmētājs
Programmatūras izstrāde

Produktu izstrāde: Python vs Ruby

Python un Ruby ir visplašāk izmantotās backend programmēšanas valodas. Python ir nedaudz populārāka, un tai ir plašāks pielietojums. Tomēr arī Ruby sniedz daudz priekšrocību un...

The Codest
Kamil Ferens Izaugsmes nodaļas vadītājs

Abonējiet mūsu zināšanu bāzi un saņemiet jaunāko informāciju par IT nozares pieredzi.

    Par mums

    The Codest - starptautisks programmatūras izstrādes uzņēmums ar tehnoloģiju centriem Polijā.

    Apvienotā Karaliste - Galvenā mītne

    • 303B birojs, 182-184 High Street North E6 2JA
      Londona, Anglija

    Polija - Vietējie tehnoloģiju centri

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Krakova
    • Brain Embassy, Konstruktorska
      11, 02-673 Varšava, Polija

    The Codest

    • Sākums
    • Par mums
    • Pakalpojumi
    • Case Studies
    • Zināt, kā
    • Karjera
    • Vārdnīca

    Pakalpojumi

    • Tā Konsultatīvais dienests
    • Programmatūras izstrāde
    • Backend izstrāde
    • Frontend izveide
    • Staff Augmentation
    • Backend izstrādātāji
    • Mākoņa inženieri
    • Datu inženieri
    • Citi
    • QA inženieri

    Resursi

    • Fakti un mīti par sadarbību ar ārējo programmatūras izstrādes partneri
    • No ASV uz Eiropu: Kāpēc Amerikas jaunuzņēmumi nolemj pārcelties uz Eiropu?
    • Tehnoloģiju ārzonas attīstības centru salīdzinājums: Tech Offshore Eiropa (Polija), ASEAN (Filipīnas), Eirāzija (Turcija)
    • Kādi ir galvenie CTO un CIO izaicinājumi?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Autortiesības © 2026 The Codest. Visas tiesības aizsargātas.

    lvLatvian
    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 lt_LTLithuanian is_ISIcelandic lvLatvian