{"id":3534,"date":"2019-04-24T08:53:32","date_gmt":"2019-04-24T08:53:32","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/"},"modified":"2026-04-24T11:28:19","modified_gmt":"2026-04-24T11:28:19","slug":"roobastee-arendamine-tmuxiga-vim-fzf-ripgrep","status":"publish","type":"post","link":"https:\/\/thecodest.co\/et\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/","title":{"rendered":"Railsi arendamine TMUX, Vim, Fzf + Ripgrep abil"},"content":{"rendered":"<p>P\u00e4rast seda olen proovinud m\u00f5ningaid \"t\u00f5elisi\" IDE-sid, kuid olen alati naasnud tagasi <strong>Vim<\/strong> ja terminalid, sest see on v\u00e4ga kiire meetod, selles on k\u00f5ik vajalikud t\u00f6\u00f6riistad ja mulle lihtsalt meeldib t\u00f6\u00f6tada tekstire\u017eiimis.<\/p>\n\n\n\n<p>Siin on m\u00f5ned \u00fcksikasjad minu t\u00f6\u00f6korralduse kohta. Tasub mainida, et ma t\u00f6\u00f6tan Linuxi peal, aga sa v\u00f5id selle probleemideta seadistada ka Macil v\u00f5i Windowsil.<\/p>\n\n\n\n<p>Ma alustan oma t\u00f6\u00f6p\u00e4eva sellega, et avan terminali, cd ~\/Projektid\/XYZ ja k\u00e4ivitan j\u00e4rgmise programmi <strong>tmux<\/strong>, nii et alustame sellest.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TMUX<\/h2>\n\n\n\n<p>Mis on <strong>TMUX<\/strong>? Nagu autorid \u00fctlevad:<\/p>\n\n\n\n<p><em>TMUX on terminali multiplekser. See v\u00f5imaldab teil h\u00f5lpsasti vahetada mitme programmi vahel \u00fches terminalis, neid lahutada (nad j\u00e4\u00e4vad taustal t\u00f6\u00f6le) ja uuesti teise terminali \u00fchendada.<\/em><\/p>\n\n\n\n<p>Ma kasutan seda mitme asja vahel vahetamiseks \u00fches terminalis. Nii et \u00fches <strong>TMUX<\/strong> aknas on mul <strong><a href=\"https:\/\/thecodest.co\/et\/blog\/ways-to-increase-your-rails-performance\/\">R\u00f6\u00f6pad<\/a> <\/strong>server t\u00f6\u00f6tab, teises on mul oma <strong>Vim<\/strong> avatud, ja iga kord, kui mul on vaja midagi teha terminalis, n\u00e4iteks marsruutide kontrollimine, migratsioonide v\u00f5i testide k\u00e4ivitamine, avan lihtsalt uue akna koos <code>CTRL-A C<\/code> ja teha seda asja.<\/p>\n\n\n\n<p>Ma ei kasuta <strong>TMUX<\/strong> paneelid, ainult aknad, ja teha palju \u00fcmberl\u00fclitusi (mul on CTRL + topelt-A seotud viimaste akende vaheliseks \u00fcmberl\u00fclitumiseks).<\/p>\n\n\n\n<p>Teine v\u00e4ga mugav funktsioon <strong>TMUX<\/strong> on see, et see v\u00f5imaldab mul leida ja kopeerida teksti terminalist ilma hiirt kasutamata.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vim<\/h2>\n\n\n\n<p>See on minu t\u00f6\u00f6korralduse peamine osa. Ma ei hakka \u00fcksikasjadesse laskuma, mida <strong>VIM<\/strong> on ja kuidas see erineb teistest toimetajatest. Selle kohta on palju h\u00e4id artikleid ja videoid. M\u00f5nede s\u00f5nadega, <strong>Vim<\/strong> on modaalne toimetaja. Sellel on kaks re\u017eiimi, sisestusre\u017eiim ja tavare\u017eiim. Insert re\u017eiimis saab sisestada teksti dokumenti ja tavalises re\u017eiimis saab teha dokumendiga erinevaid toiminguid, n\u00e4iteks kursorit liigutada, kustutada tekstikatkendeid, muuta teksti jne. See k\u00f5lab kummaliselt, kuid m\u00f5ne aja m\u00f6\u00f6dudes tundub see v\u00e4ga loomulik ja on v\u00e4ga raske minna tagasi oma tavalise redaktori juurde.<\/p>\n\n\n\n<p>Ma tahaksin teile n\u00e4idata, kuidas ma kombineerin <strong>Vim<\/strong> teiste vahenditega, et saada k\u00f5ik, mida ma vajan kui <a href=\"https:\/\/thecodest.co\/et\/blog\/find-your-ideal-stack-for-web-development\/\">veeb<\/a> <a href=\"https:\/\/thecodest.co\/et\/blog\/hire-vue-js-developers\/\">arendaja<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plugins<\/h2>\n\n\n\n<p>Ma ei ole raske pluginate f\u00e4nn <strong>Vim<\/strong> configs, nii et ma kasutan ainult m\u00f5ned. Siin on nimekiri:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/preservim\/nerdtree\" rel=\"nofollow\">NERDtree<\/a> - see on failiuurija. See v\u00f5imaldab teil h\u00f5lpsasti teha m\u00f5ningaid p\u00f5hilisi failis\u00fcsteemi toiminguid, nagu failide teisaldamine, \u00fcmbernimetamine, uute failide loomine ja palju muud,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-endwise\" rel=\"nofollow\">vim-endwise<\/a> - Ma olen <a href=\"https:\/\/thecodest.co\/et\/blog\/hire-ror-developer\/\">Ruby<\/a> arendaja, nii et ma kasutan seda, et lisada <code>l\u00f5pp<\/code> p\u00e4rast <code>kui<\/code>, <code>do<\/code>, <code>def<\/code>ja mitmed teised m\u00e4rks\u00f5nad,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-rails\" rel=\"nofollow\">vim-rails<\/a> - see on <strong>R\u00f6\u00f6pad<\/strong> power plugin. See tunneb struktuuri <strong>Rails rakendus<\/strong>. Tahad kontrollida osalist kursori all olevat? Vajutage lihtsalt <code>gf<\/code> ja see avab selle teie praeguses aknas. Sellel on palju muid v\u00f5imalusi, kuid see on see, mida ma k\u00f5ige sagedamini kasutan,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-surround\" rel=\"nofollow\">vim-surround<\/a> - suurep\u00e4rane plugin, mis muudab \u00fcmbruskonnaga t\u00f6\u00f6tamise v\u00e4ga lihtsaks. Selle abil saate paari klahvivajutusega muuta teksti \u00fcmbrust () kuni [],<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-repeat\" rel=\"nofollow\">vim-repeat <\/a>- Vim-surroundi t\u00e4iendus. See v\u00f5imaldab korduvat \u00fcmbritseva muutust koos <code>.<\/code> (korrake viimast muudatust Vimis),<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/vimwiki\/vimwiki\" rel=\"nofollow\">vimwiki<\/a>- minu viis m\u00e4rkmete tegemiseks,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/junegunn\/fzf.vim\" rel=\"nofollow\">fzf.vim<\/a>+ <a href=\"https:\/\/github.com\/junegunn\/fzf\" rel=\"nofollow\">fzf<\/a> - minu keskne osa <a href=\"https:\/\/thecodest.co\/et\/blog\/find-your-node-js-expert-for-hire-today\/\">veebiarendus<\/a> t\u00f6\u00f6protsess.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/thecodest.co\/contact\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/interested_in_cooperation_.png\" alt=\"koost\u00f6\u00f6b\u00e4nner\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Fzf + Ripgrep<\/h2>\n\n\n\n<p>Need on t\u00f6\u00f6riistad, mis m\u00e4\u00e4ravad, kuidas ma kodeerin. Ma m\u00f5istsin, et tavaliselt, kui ma teen m\u00f5nda kodeerimis\u00fclesannet, 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.<\/p>\n\n\n\n<p><strong>Fzf<\/strong> on interaktiivne Unixi k\u00e4surea filter, mida saab kasutada mis tahes nimekirjadega (failid, k\u00e4skude ajalugu, git commits, protsesside nimekirjad); teisis\u00f5nu, see on ebaselge otsija.<\/p>\n\n\n\n<p><strong>Ripgrep<\/strong> on alternatiiv grep'ile, kuid see on \u00fclimalt kiire.<\/p>\n\n\n\n<p>Kui need kaks kombineeritakse, v\u00f5imaldavad nad mul kiiresti leida k\u00f5ik, mida ma tahan oma <a href=\"https:\/\/thecodest.co\/et\/dictionary\/why-do-projects-fail\/\">projekt<\/a>.<br>Mul on kaks seadistust minu <strong>Vim<\/strong> config faili, et mind selles aidata:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"vim\" class=\"language-vim\">nnoremap  :Files\nnnoremap  :Rg<\/code><\/pre>\n\n\n\n<p>Esimene v\u00f5imaldab mul kiiresti leida \u00f5iged failid, kasutades failiradade ebaselget leidmist (CTRL-P). Teine k\u00e4ivitab fuzzy finder'i minu projekti k\u00f5igi failide teede ja sisu kohta, kasutades <strong>Ripgrep<\/strong> (CTRL-F).<\/p>\n\n\n\n<p>Niisiis, \u00fctleme, et ma tahan leida migratsiooni, kus ma lisasin veergu <code>kasutajad<\/code> tabel. Vajutan CTRL-F ja kirjutan midagi sellist nagu <code>adcolusnam<\/code> ja see vastab <code>add_column :users, :name, :string<\/code>.<\/p>\n\n\n\n<p>Kui ma otsin meetodi definitsiooni, siis sageli k\u00e4ivitan CTRL-F <code>def meetodi_nimi<\/code>.<\/p>\n\n\n\n<p>See on v\u00e4ga kasulik, sest see otsib l\u00e4bi faili tee + sisu. See on eriti mugav, kui ma tean, et sisu, mida ma otsin, on projekti konkreetses osas. N\u00e4iteks tahan leida, kus me uuendasime kasutajanime, ja ma m\u00e4letan, et see oli kuskil kontrollerites. Ma vajutan <code>CTRL-F<\/code> <code>conupdname<\/code> et sobitada rida <code>app\/controllers\/users_controller: @user.update(nimi: uus_nimi)<\/code>.<\/p>\n\n\n\n<p>Kui tunnete oma projekti ja koodibaasi struktuuri, saate h\u00f5lpsasti koostada h\u00e4gusaid p\u00e4ringuid, et leida kiiresti peaaegu k\u00f5ike, mida soovite.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Video<\/h2>\n\n\n\n<p><a href=\"https:\/\/youtu.be\/yJWl4CfvMC8\" rel=\"nofollow\">Vajuta siia <\/a> et n\u00e4ha l\u00fchikest salvestust, kus ma m\u00e4ngin `discourse` koodibaasiga (440k LOC minu i5, 16GB t\u00f6\u00f6laual) ja n\u00e4itan, kuidas ma tavaliselt projektis ringi liigun.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kokkuv\u00f5te<\/h2>\n\n\n\n<p>Ma loodan, et sa said huvitatud minu setup ja otsustas anda <strong>Fzf<\/strong> proovida oma kodeerimisp\u00fc\u00fcdlustes. See t\u00f5esti muutis seda, kuidas ma kasutan <strong>Vim<\/strong> kui <a href=\"https:\/\/thecodest.co\/et\/dictionary\/what-is-code-refactoring\/\">kood<\/a> toimetaja.<\/p>","protected":false},"excerpt":{"rendered":"<p>M\u00f5ned aastad tagasi grillisin koos m\u00f5ne oma s\u00f5braga, kes olid k\u00f5ik Java-arendajad. Ei tea, kuidas see tekkis, aga me hakkasime r\u00e4\u00e4kima oma kodeerimiskeskkondadest. \u00dctlesin neile, et teen kogu oma arendust\u00f6\u00f6d Vim'i ja terminali abil. See vallandas m\u00f5ned naljad ja naljakad k\u00fcsimused, n\u00e4iteks kas ma kasutan ikka veel augukaarte \ud83d\ude42 .<\/p>","protected":false},"author":2,"featured_media":3535,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3534","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Rails Development with TMUX, Vim, Fzf + Ripgrep - The Codest<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/et\/blogi\/roobastee-arendamine-tmuxiga-vim-fzf-ripgrep\/\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rails Development with TMUX, Vim, Fzf + Ripgrep\" \/>\n<meta property=\"og:description\" content=\"A few years ago, I was grilling with some of my friends, all Java developers. Not sure how it came up, but we started talking about our coding environments. I told them I\u2019m doing all my development using Vim and terminals. It triggered some jokes and funny questions, like if I\u2019m still using punch cards :)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/et\/blogi\/roobastee-arendamine-tmuxiga-vim-fzf-ripgrep\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-24T08:53:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T11:28:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"Rails Development with TMUX, Vim, Fzf + Ripgrep\",\"datePublished\":\"2019-04-24T08:53:32+00:00\",\"dateModified\":\"2026-04-24T11:28:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/\"},\"wordCount\":894,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/\",\"name\":\"Rails Development with TMUX, Vim, Fzf + Ripgrep - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png\",\"datePublished\":\"2019-04-24T08:53:32+00:00\",\"dateModified\":\"2026-04-24T11:28:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rails Development with TMUX, Vim, Fzf + Ripgrep\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/et\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Rails arendus TMUX, Vim, Fzf + Ripgrep - The Codest","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/et\/blogi\/roobastee-arendamine-tmuxiga-vim-fzf-ripgrep\/","og_locale":"et_EE","og_type":"article","og_title":"Rails Development with TMUX, Vim, Fzf + Ripgrep","og_description":"A few years ago, I was grilling with some of my friends, all Java developers. Not sure how it came up, but we started talking about our coding environments. I told them I\u2019m doing all my development using Vim and terminals. It triggered some jokes and funny questions, like if I\u2019m still using punch cards :)","og_url":"https:\/\/thecodest.co\/et\/blogi\/roobastee-arendamine-tmuxiga-vim-fzf-ripgrep\/","og_site_name":"The Codest","article_published_time":"2019-04-24T08:53:32+00:00","article_modified_time":"2026-04-24T11:28:19+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"5 minutit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"Rails Development with TMUX, Vim, Fzf + Ripgrep","datePublished":"2019-04-24T08:53:32+00:00","dateModified":"2026-04-24T11:28:19+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/"},"wordCount":894,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png","articleSection":["Software Development"],"inLanguage":"et","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/","url":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/","name":"Rails arendus TMUX, Vim, Fzf + Ripgrep - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png","datePublished":"2019-04-24T08:53:32+00:00","dateModified":"2026-04-24T11:28:19+00:00","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/"]}]},{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/rails_development_with_tmux-_vim-_fzf_-_ripgrep_2.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"Rails Development with TMUX, Vim, Fzf + Ripgrep"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/et\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/posts\/3534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/comments?post=3534"}],"version-history":[{"count":6,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/posts\/3534\/revisions"}],"predecessor-version":[{"id":7967,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/posts\/3534\/revisions\/7967"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/media\/3535"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/media?parent=3534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/categories?post=3534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/et\/wp-json\/wp\/v2\/tags?post=3534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}