{"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":"begiu-pletra-su-tmux-vim-fzf-ripgrep","status":"publish","type":"post","link":"https:\/\/thecodest.co\/lt\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/","title":{"rendered":"\"Rails\" k\u016brimas naudojant TMUX, \"Vim\", Fzf + Ripgrep"},"content":{"rendered":"<p>Nuo to laiko i\u0161band\u017eiau kelet\u0105 \u201ctikr\u0173\u201d IDE, bet visada gr\u012f\u017edavau prie <strong>Vim<\/strong> ir terminalus, nes tai labai greitas metodas, turi visus man reikalingus \u012frankius ir man tiesiog patinka dirbti teksto re\u017eimu.<\/p>\n\n\n\n<p>\u0160tai keletas detali\u0173 apie mano darbo eig\u0105. Verta pamin\u0117ti, kad dirbu \"Linux\", ta\u010diau be problem\u0173 galite j\u012f \u012fdiegti \"Mac\" arba \"Windows\".<\/p>\n\n\n\n<p>Darbo dien\u0105 pradedu nuo terminalo atidarymo, cd ~\/Projects\/XYZ ir paleid\u017eiu <strong>tmux<\/strong>, tod\u0117l prad\u0117kime nuo to.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TMUX<\/h2>\n\n\n\n<p>Kas yra <strong>TMUX<\/strong>? Kaip teigia autoriai:<\/p>\n\n\n\n<p><em>TMUX yra galinis multiplekseris. Jis leid\u017eia lengvai perjungti kelias programas viename terminale, jas atjungti (jos veikia fone) ir v\u0117l prijungti prie kito terminalo.<\/em><\/p>\n\n\n\n<p>J\u012f naudoju nor\u0117damas perjungti kelis dalykus viename terminale. Taigi, viename <strong>TMUX<\/strong> lang\u0105, turiu <strong><a href=\"https:\/\/thecodest.co\/lt\/blog\/ways-to-increase-your-rails-performance\/\">B\u0117giai<\/a> <\/strong>veikia serveris, antrajame a\u0161 turiu savo <strong>Vim<\/strong> ir kiekvien\u0105 kart\u0105, kai reikia k\u0105 nors atlikti terminale, pavyzd\u017eiui, patikrinti mar\u0161rutus, paleisti migracij\u0105 ar testus, tiesiog atidarau nauj\u0105 lang\u0105 su <code>CTRL-A C<\/code> ir atlikite \u0161\u012f darb\u0105.<\/p>\n\n\n\n<p>A\u0161 nenaudoju <strong>TMUX<\/strong> tik langus ir daug perjungin\u0117ti (CTRL + dviguba A susieta su perjungimu tarp paskutini\u0173 lang\u0173).<\/p>\n\n\n\n<p>Kita labai patogi funkcija <strong>TMUX<\/strong> tai, kad juo galima rasti ir kopijuoti tekst\u0105 i\u0161 terminalo nenaudojant pel\u0117s.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vim<\/h2>\n\n\n\n<p>Tai pagrindin\u0117 mano darbo eigos dalis. Nesigilinsiu \u012f detales apie tai, kas <strong>VIM<\/strong> ir kuo jis skiriasi nuo kit\u0173 redaktori\u0173. Apie j\u012f yra daug puiki\u0173 straipsni\u0173 ir vaizdo \u012fra\u0161\u0173. Keliais \u017eod\u017eiais, <strong>Vim<\/strong> yra modalinis redaktorius. Jame yra du re\u017eimai: \u012fterpimo re\u017eimas ir \u012fprastas re\u017eimas. \u012eterpimo re\u017eimu \u012f dokument\u0105 \u012fvedamas tekstas, o \u012fprastuoju - atliekamos \u012fvairios operacijos su dokumentu, pavyzd\u017eiui, \u017eymeklio perk\u0117limas, teksto fragment\u0173 i\u0161trynimas, keitimas ir pan. Skamba keistai, bet po kurio laiko tai atrodo labai nat\u016bralu ir labai sunku gr\u012f\u017eti prie \u012fprasto redaktoriaus.<\/p>\n\n\n\n<p>Nor\u0117\u010diau jums parodyti, kaip derinu <strong>Vim<\/strong> su kitais \u012frankiais, kad gautum\u0117te visk\u0105, ko man reikia kaip <a href=\"https:\/\/thecodest.co\/lt\/blog\/find-your-ideal-stack-for-web-development\/\">\u017einiatinklio svetain\u0117<\/a> <a href=\"https:\/\/thecodest.co\/lt\/blog\/hire-vue-js-developers\/\">k\u016br\u0117jas<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u012eskiepiai<\/h2>\n\n\n\n<p>Nesu sunki\u0173j\u0173 \u012fskiepi\u0173 gerb\u0117jas <strong>Vim<\/strong> konfig\u016bracij\u0173, tod\u0117l naudoju tik kelias. \u0160tai s\u0105ra\u0161as:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/preservim\/nerdtree\" rel=\"nofollow\">NERDtree<\/a> - tai fail\u0173 tyrin\u0117tojas. Juo galima lengvai atlikti kai kurias pagrindines fail\u0173 sistemos operacijas, pavyzd\u017eiui, perkelti failus, pervadinti, kurti naujus failus ir daugel\u012f kit\u0173,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-endwise\" rel=\"nofollow\">vim-endwise<\/a> - A\u0161 esu <a href=\"https:\/\/thecodest.co\/lt\/blog\/hire-ror-developer\/\">Ruby<\/a> k\u016br\u0117jas, tod\u0117l j\u012f naudoju nor\u0117damas prid\u0117ti <code>pabaiga<\/code> po <code>jei<\/code>, <code>daryti<\/code>, <code>def<\/code>, ir kelet\u0105 kit\u0173 rakta\u017eod\u017ei\u0173,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-rails\" rel=\"nofollow\">vim-rails<\/a> - tai <strong>B\u0117giai<\/strong> galios \u012fskiepis. Jis \u017eino strukt\u016br\u0105 <strong>Rails programa<\/strong>. Norite patikrinti po \u017eymekliu esant\u012f dalin\u012f? Tiesiog paspauskite <code>gf<\/code> ir jis bus atidarytas dabartiniame lange. Yra daug kit\u0173 parink\u010di\u0173, bet \u0161i\u0105 naudoju da\u017eniausiai,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-surround\" rel=\"nofollow\">vim-surround<\/a> - puikus \u012fskiepis, kuris labai palengvina darb\u0105 su aplinka. Naudodami j\u012f galite keliais klavi\u0161\u0173 paspaudimais pakeisti teksto aplink\u0105 i\u0161 () \u012f [],<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-repeat\" rel=\"nofollow\">vim-repeat <\/a>- papildo \"Vim-surround\". Jis leid\u017eia kartoti aplinkos keitim\u0105 su <code>.<\/code> (pakartokite paskutin\u012f pakeitim\u0105 \"Vim\"),<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/vimwiki\/vimwiki\" rel=\"nofollow\">vimwiki<\/a>- mano b\u016bdas u\u017esira\u0161yti,<\/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> - pagrindin\u0117 mano <a href=\"https:\/\/thecodest.co\/lt\/blog\/find-your-node-js-expert-for-hire-today\/\">\u017einiatinklio k\u016brimas<\/a> darbo eiga.<\/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=\"bendradarbiavimo v\u0117liava\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Fzf + Ripgrep<\/h2>\n\n\n\n<p>Tai \u012frankiai, kurie lemia mano kodavimo b\u016bd\u0105. Supratau, kad paprastai, atlikdamas tam tikras kodavimo u\u017eduotis, did\u017ei\u0105j\u0105 laiko dal\u012f praleid\u017eiu ie\u0161kodamas, kaip viskas veikia. Kad tai padary\u010diau, turiu greitai patikrinti \u012fvairias kod\u0173 baz\u0117s dalis, metod\u0173 apibr\u0117\u017etis, klases ir kitus dalykus.<\/p>\n\n\n\n<p><strong>Fzf<\/strong> tai interaktyvus \"Unix\" komandin\u0117s eilut\u0117s filtras, kur\u012f galima naudoti su bet kokiais s\u0105ra\u0161ais (failais, komand\u0173 istorija, \"git commits\", proces\u0173 s\u0105ra\u0161ais); kitaip tariant, tai i\u0161plaukusi paie\u0161kos priemon\u0117.<\/p>\n\n\n\n<p><strong>Ripgrep<\/strong> yra grep alternatyva, ta\u010diau ji yra labai greita.<\/p>\n\n\n\n<p>Sujungus \u0161ias dvi priemones, galiu greitai rasti bet k\u0105, ko noriu savo <a href=\"https:\/\/thecodest.co\/lt\/dictionary\/why-do-projects-fail\/\">projektas<\/a>.<br>Turiu du nustatymus <strong>Vim<\/strong> konfig\u016bracijos fail\u0105, kuris pad\u0117t\u0173 man tai padaryti:<\/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>Pirmasis leido greitai surasti tinkamus failus naudojant neai\u0161ki\u0105 paie\u0161k\u0105 pagal fail\u0173 kelius (CTRL-P). Antrasis paleid\u017eia neai\u0161ki\u0105 paie\u0161k\u0105 visiems mano projekto fail\u0173 keliams ir turiniui, naudodamas <strong>Ripgrep<\/strong> (CTRL-F).<\/p>\n\n\n\n<p>Tarkime, noriu surasti migracij\u0105, kai prie stulpelio <code>vartotojai<\/code> lentel\u0117. Paspaud\u017eiu CTRL-F ir para\u0161au ka\u017ek\u0105 pana\u0161aus \u012f <code>adcolusnam<\/code> ir jis atitiks <code>add_column :users, :name, :string<\/code>.<\/p>\n\n\n\n<p>Kai ie\u0161kau metodo apibr\u0117\u017eties, da\u017enai paleid\u017eiu CTRL-F <code>def method_name<\/code>.<\/p>\n\n\n\n<p>Tai labai naudinga, nes ie\u0161koma pagal failo keli\u0105 + turin\u012f. Tai ypa\u010d patogu, kai \u017einau, kad ie\u0161komas turinys yra konkre\u010dioje projekto dalyje. Pavyzd\u017eiui, noriu rasti, kur atnaujinome vartotojo vard\u0105, ir prisimenu, kad jis buvo ka\u017ekur valdikliuose. Paspaud\u017eiu <code>CTRL-F<\/code> <code>conupdname<\/code> kad atitikt\u0173 eilut\u0119 <code>app\/controllers\/users_controller: @user.update(name: new_name)<\/code>.<\/p>\n\n\n\n<p>Jei \u017einote savo projekto ir kod\u0173 baz\u0117s strukt\u016br\u0105, galite nesunkiai sudaryti neai\u0161kias paie\u0161kos u\u017eklausas ir greitai rasti beveik visk\u0105, ko norite.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vaizdo \u012fra\u0161as<\/h2>\n\n\n\n<p><a href=\"https:\/\/youtu.be\/yJWl4CfvMC8\" rel=\"nofollow\">Spauskite \u010dia <\/a> nor\u0117dami pamatyti trump\u0105 \u012fra\u0161\u0105, kuriame a\u0161 \u017eaid\u017eiu su `discourse` kod\u0173 baze (440k LOC mano i5, 16GB darbalaukyje) ir parodau, kaip paprastai judu projekte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Santrauka<\/h2>\n\n\n\n<p>Tikiuosi, kad jus sudomino mano s\u0105ranka ir nusprend\u0117te duoti <strong>Fzf<\/strong> pabandykite i\u0161bandyti savo kodavimo pastangas. Tai tikrai pakeit\u0117 mano naudojimosi b\u016bd\u0105 <strong>Vim<\/strong> kaip <a href=\"https:\/\/thecodest.co\/lt\/dictionary\/what-is-code-refactoring\/\">kodas<\/a> redaktorius.<\/p>","protected":false},"excerpt":{"rendered":"<p>Prie\u0161 kelerius metus su draugais, \"Java\" k\u016br\u0117jais, kepiau ant groteli\u0173. Ne\u017einau, kaip tai atsitiko, bet prad\u0117jome kalb\u0117ti apie savo programavimo aplinkas. Pasakiau jiems, kad vis\u0105 programavim\u0105 atlieku naudodamas \"Vim\" ir terminalus. Tai suk\u0117l\u0117 kelet\u0105 juokeli\u0173 ir juoking\u0173 klausim\u0173, pavyzd\u017eiui, ar vis dar naudoju perforatorius \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\/lt\/tinklarastis\/begiu-pletra-su-tmux-vim-fzf-ripgrep\/\" \/>\n<meta property=\"og:locale\" content=\"lt_LT\" \/>\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\/lt\/tinklarastis\/begiu-pletra-su-tmux-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 minut\u0117s\" \/>\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\":\"lt-LT\",\"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\":\"lt-LT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"lt-LT\",\"@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\":\"lt-LT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lt-LT\",\"@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\":\"lt-LT\",\"@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\\\/lt\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"B\u0117gi\u0173 b\u0117gi\u0173 k\u016brimas naudojant 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\/lt\/tinklarastis\/begiu-pletra-su-tmux-vim-fzf-ripgrep\/","og_locale":"lt_LT","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\/lt\/tinklarastis\/begiu-pletra-su-tmux-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 minut\u0117s"},"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":"lt-LT","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":"B\u0117gi\u0173 b\u0117gi\u0173 k\u016brimas naudojant 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":"lt-LT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/"]}]},{"@type":"ImageObject","inLanguage":"lt-LT","@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":"lt-LT"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"lt-LT","@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":"lt-LT","@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\/lt\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts\/3534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/comments?post=3534"}],"version-history":[{"count":6,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts\/3534\/revisions"}],"predecessor-version":[{"id":7967,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/posts\/3534\/revisions\/7967"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/media\/3535"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/media?parent=3534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/categories?post=3534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/lt\/wp-json\/wp\/v2\/tags?post=3534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}