{"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":"sliedes-attistiba-ar-tmux-vim-fzf-ripgrep","status":"publish","type":"post","link":"https:\/\/thecodest.co\/lv\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/","title":{"rendered":"Rails att\u012bst\u012bba ar TMUX, Vim, Fzf + Ripgrep"},"content":{"rendered":"<p>Kop\u0161 t\u0101 laika es izm\u0113\u0123in\u0101ju da\u017eas \u201c\u012bstas\u201d IDE, bet vienm\u0113r atgriezos pie <strong>Vim<\/strong> un termin\u0101li, jo t\u0101 ir \u013coti \u0101tra metode, taj\u0101 ir visi man vajadz\u012bgie r\u012bki un man vienk\u0101r\u0161i pat\u012bk str\u0101d\u0101t teksta re\u017e\u012bm\u0101.<\/p>\n\n\n\n<p>\u0160eit ir sniegta s\u012bk\u0101ka inform\u0101cija par manu darba procesu. Ir v\u0113rts piemin\u0113t, ka es str\u0101d\u0101ju Linux oper\u0113t\u0101jsist\u0113m\u0101, ta\u010du bez probl\u0113m\u0101m varat to iestat\u012bt ar\u012b Mac vai Windows oper\u0113t\u0101jsist\u0113m\u0101.<\/p>\n\n\n\n<p>Darba dienu s\u0101ku ar termin\u0101\u013ca atv\u0113r\u0161anu, cd ~\/Projects\/XYZ un palaist <strong>tmux<\/strong>, t\u0101p\u0113c s\u0101ksim ar to.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TMUX<\/h2>\n\n\n\n<p>Kas ir <strong>TMUX<\/strong>? K\u0101 saka autori:<\/p>\n\n\n\n<p><em>TMUX ir termin\u0101la multipleksors. Tas \u013cauj viegli p\u0101rsl\u0113gties starp vair\u0101k\u0101m programm\u0101m vien\u0101 termin\u0101l\u012b, atsl\u0113gt t\u0101s (t\u0101s turpina darboties fon\u0101) un atkal piesl\u0113gt t\u0101s cit\u0101 termin\u0101l\u012b.<\/em><\/p>\n\n\n\n<p>Es to izmantoju, lai p\u0101rsl\u0113gtos starp vair\u0101k\u0101m liet\u0101m vien\u0101 termin\u0101l\u012b. T\u0101tad vien\u0101 <strong>TMUX<\/strong> logs, man ir <strong><a href=\"https:\/\/thecodest.co\/lv\/blog\/ways-to-increase-your-rails-performance\/\">Sliedes<\/a> <\/strong>serveris darbojas, otraj\u0101 man ir mans <strong>Vim<\/strong> un ikreiz, kad man nepiecie\u0161ams kaut ko dar\u012bt termin\u0101l\u012b, piem\u0113ram, p\u0101rbaud\u012bt mar\u0161rutus, migr\u0101ciju vai testus, es vienk\u0101r\u0161i atveru jaunu logu ar <code>CTRL-A C<\/code> un dar\u012bt \u0161o lietu.<\/p>\n\n\n\n<p>Es neizmantoju <strong>TMUX<\/strong> pane\u013ci, tikai logi un daudz p\u0101rsl\u0113g\u0161an\u0101s (man ir CTRL + dubult\u0101 A, lai p\u0101rsl\u0113gtos starp p\u0113d\u0113jiem logiem).<\/p>\n\n\n\n<p>V\u0113l viena \u013coti \u0113rta funkcija <strong>TMUX<\/strong> ir tas, ka t\u0101 \u013cauj man atrast un kop\u0113t tekstu no termin\u0101\u013ca, neizmantojot peli.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vim<\/h2>\n\n\n\n<p>T\u0101 ir mana darba procesa galven\u0101 da\u013ca. Es neiedzi\u013cin\u0101\u0161os deta\u013c\u0101s par to. <strong>VIM<\/strong> un ar ko t\u0101 at\u0161\u0137iras no citiem redaktoriem. Par to ir daudz lielisku rakstu un videoklipu. Da\u017eos v\u0101rdos, <strong>Vim<\/strong> ir mod\u0101lais redaktors. Tam ir divi re\u017e\u012bmi - ievietot\u0101ja re\u017e\u012bms un parastais re\u017e\u012bms. Ievieto\u0161anas re\u017e\u012bm\u0101 var ievad\u012bt tekstu dokument\u0101, bet parastaj\u0101 re\u017e\u012bm\u0101 var veikt da\u017e\u0101das darb\u012bbas ar dokumentu, piem\u0113ram, p\u0101rvietot kursoru, dz\u0113st teksta fragmentus, main\u012bt tekstu utt. Tas izklaus\u0101s d\u012bvaini, bet p\u0113c k\u0101da laika tas \u0161\u0137iet \u013coti dabiski, un ir \u013coti gr\u016bti atgriezties pie parast\u0101 redaktora.<\/p>\n\n\n\n<p>Es v\u0113los jums par\u0101d\u012bt, k\u0101 es apvienoju <strong>Vim<\/strong> ar citiem r\u012bkiem, lai ieg\u016btu visu, kas man nepiecie\u0161ams k\u0101 <a href=\"https:\/\/thecodest.co\/lv\/blog\/find-your-ideal-stack-for-web-development\/\">t\u012bmek\u013ca vietne<\/a> <a href=\"https:\/\/thecodest.co\/lv\/blog\/hire-vue-js-developers\/\">izstr\u0101d\u0101t\u0101js<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Spraud\u0146i<\/h2>\n\n\n\n<p>Es neesmu smag\u0101 spraud\u0146a ventilators <strong>Vim<\/strong> konfigur\u0101cijas, t\u0101p\u0113c es izmantoju tikai da\u017eas. \u0160eit ir saraksts:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/preservim\/nerdtree\" rel=\"nofollow\">NERDtree<\/a> - tas ir failu p\u0101rl\u016bks. Tas \u013cauj viegli veikt da\u017eas pamata failu sist\u0113mas darb\u012bbas, piem\u0113ram, failu p\u0101rvieto\u0161anu, p\u0101rd\u0113v\u0113\u0161anu, jaunu failu izveidi un daudzas citas,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-endwise\" rel=\"nofollow\">vim-endwise<\/a> - Es esmu <a href=\"https:\/\/thecodest.co\/lv\/blog\/hire-ror-developer\/\">Rub\u012bns<\/a> izstr\u0101d\u0101t\u0101js, t\u0101p\u0113c es to izmantoju, lai pievienotu <code>beigas<\/code> p\u0113c <code>ja<\/code>, <code>dar\u012bt<\/code>, <code>def<\/code>, k\u0101 ar\u012b vair\u0101ki citi atsl\u0113gv\u0101rdi,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-rails\" rel=\"nofollow\">vim-rails<\/a> - tas ir <strong>Sliedes<\/strong> jaudas spraudnis. Tas zina strukt\u016bru <strong>Rails lietotne<\/strong>. Vai v\u0113laties p\u0101rbaud\u012bt da\u013c\u0113ju r\u0101d\u012bjumu zem kursora? Vienk\u0101r\u0161i nospiediet <code>gf<\/code> un tas tiks atv\u0113rts pa\u0161reiz\u0113j\u0101 log\u0101. Tam ir daudz citu iesp\u0113ju, bet \u0161o es izmantoju visbie\u017e\u0101k,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-surround\" rel=\"nofollow\">vim-surround<\/a> - lielisks spraudnis, kas padara darbu ar apk\u0101rtni \u013coti viegli. Ar to j\u016bs varat main\u012bt teksta apk\u0101rtni no () uz [] ar da\u017eiem tausti\u0146u nospiedumiem,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-repeat\" rel=\"nofollow\">vim-repeat <\/a>- papildina Vim-surround. Tas \u013cauj atk\u0101rtot apk\u0101rt\u0113jo mai\u0146u ar <code>.<\/code> (atk\u0101rtojiet p\u0113d\u0113j\u0101s izmai\u0146as Vim),<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/vimwiki\/vimwiki\" rel=\"nofollow\">vimwiki<\/a>- mans veids, k\u0101 veikt piez\u012bmes,<\/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> - manas darb\u012bbas pamatda\u013ca <a href=\"https:\/\/thecodest.co\/lv\/blog\/find-your-node-js-expert-for-hire-today\/\">t\u012bmek\u013ca izstr\u0101de<\/a> darba pl\u016bsma.<\/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=\"sadarb\u012bbas baneris\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Fzf + Ripgrep<\/h2>\n\n\n\n<p>\u0160ie ir r\u012bki, kas nosaka manu kod\u0113\u0161anas veidu. Es sapratu, ka parasti, veicot k\u0101du kod\u0113\u0161anas uzdevumu, liel\u0101ko da\u013cu laika es veltu tam, lai noskaidrotu, k\u0101 tas darbojas. Lai to izdar\u012btu, man ir \u0101tri j\u0101p\u0101rbauda da\u017e\u0101das kodu b\u0101zes da\u013cas, meto\u017eu defin\u012bcijas, klases un citas lietas.<\/p>\n\n\n\n<p><strong>Fzf<\/strong> ir interakt\u012bvs Unix komandrindas filtrs, ko var izmantot ar jebkuriem sarakstiem (faili, komandu v\u0113sture, git commits, procesu saraksti); citiem v\u0101rdiem sakot, tas ir izpl\u016bdu\u0161ais mekl\u0113t\u0101js.<\/p>\n\n\n\n<p><strong>Ripgrep<\/strong> ir alternat\u012bva grep, ta\u010du t\u0101 ir \u013coti \u0101tra.<\/p>\n\n\n\n<p>Apvienojot \u0161os divus elementus, es varu \u0101tri atrast visu, ko v\u0113los sav\u0101 <a href=\"https:\/\/thecodest.co\/lv\/dictionary\/why-do-projects-fail\/\">projekts<\/a>.<br>Man ir divi iestat\u012bjumi <strong>Vim<\/strong> konfigur\u0101cijas failu, lai pal\u012bdz\u0113tu man to izdar\u012bt:<\/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>Pirmais no tiem \u013c\u0101va \u0101tri atrast pareizos failus, izmantojot izpl\u016bdu\u0161u mekl\u0113\u0161anu failu ce\u013cos (CTRL-P). Otrais palaid\u012bs izpl\u016bdu\u0161o mekl\u0113t\u0101ju visiem mana projekta failu ce\u013ciem un saturam, izmantojot <strong>Ripgrep<\/strong> (CTRL-F).<\/p>\n\n\n\n<p>Pie\u0146emsim, ka es v\u0113los atrast migr\u0101ciju, kur\u0101 es pievienoju kolonnu. <code>lietot\u0101ji<\/code> tabula. Es nospiedu CTRL-F un uzrakstu kaut ko l\u012bdz\u012bgu. <code>adcolusnam<\/code> un tas atbilst <code>add_column :users, :name, :string<\/code>.<\/p>\n\n\n\n<p>Kad mekl\u0113ju metodes defin\u012bciju, bie\u017ei vien palaist CTRL-F <code>def method_name<\/code>.<\/p>\n\n\n\n<p>Tas ir \u013coti noder\u012bgi, jo tas mekl\u0113 failu ce\u013cu + saturu. Tas ir \u012bpa\u0161i \u0113rti, ja es zinu, ka mekl\u0113tais saturs atrodas konkr\u0113t\u0101 projekta da\u013c\u0101. Piem\u0113ram, es gribu atrast, kur m\u0113s atjaunin\u0101j\u0101m lietot\u0101jv\u0101rdu, un es atceros, ka tas bija kaut kur kontrolleros. Es nospie\u017eu <code>CTRL-F<\/code> <code>conupdname<\/code> lai atbilstu l\u012bnijai <code>app\/controllers\/users_controller: @user.update(name: new_name)<\/code>.<\/p>\n\n\n\n<p>Ja p\u0101rzin\u0101t sava projekta un datub\u0101zes strukt\u016bru, varat viegli izveidot izpl\u016bdu\u0161us mekl\u0113\u0161anas vaic\u0101jumus, lai \u0101tri atrastu gandr\u012bz visu nepiecie\u0161amo.<\/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\">Noklik\u0161\u0137iniet \u0161eit <\/a> lai redz\u0113tu \u012bsu ierakstu, kur\u0101 es sp\u0113l\u0113jos ar `discourse` kodu b\u0101zi (440k LOC uz mana i5, 16GB darbvirsmas) un par\u0101d\u012btu, k\u0101 es parasti p\u0101rvietojos pa projektu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kopsavilkums<\/h2>\n\n\n\n<p>Es ceru, ka j\u016bs ieinteres\u0113ja mana uzst\u0101d\u012b\u0161ana un nol\u0113ma dot <strong>Fzf<\/strong> izm\u0113\u0123in\u0101t j\u016bsu kod\u0113\u0161anas centienus. Tas patie\u0161\u0101m main\u012bja veidu, k\u0101 es izmantoju <strong>Vim<\/strong> k\u0101 <a href=\"https:\/\/thecodest.co\/lv\/dictionary\/what-is-code-refactoring\/\">kods<\/a> redaktors.<\/p>","protected":false},"excerpt":{"rendered":"<p>Pirms da\u017eiem gadiem es kop\u0101 ar da\u017eiem draugiem, Java izstr\u0101d\u0101t\u0101jiem, grill\u0113ju. Nezinu, k\u0101 tas rad\u0101s, bet m\u0113s s\u0101k\u0101m run\u0101t par sav\u0101m kod\u0113\u0161anas vid\u0113m. Es vi\u0146iem teicu, ka visu izstr\u0101di veicu, izmantojot Vim un termin\u0101lus. Tas izrais\u012bja da\u017eus jokus un smiekl\u012bgus jaut\u0101jumus, piem\u0113ram, vai es joproj\u0101m izmantoju perforatorus \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\/lv\/emuars\/sliedes-attistiba-ar-tmux-vim-fzf-ripgrep\/\" \/>\n<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\/lv\/emuars\/sliedes-attistiba-ar-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 min\u016btes\" \/>\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\":\"lv-LV\",\"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\":\"lv-LV\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"lv-LV\",\"@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\":\"lv-LV\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lv-LV\",\"@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\":\"lv-LV\",\"@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\\\/lv\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Rails att\u012bst\u012bba ar 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\/lv\/emuars\/sliedes-attistiba-ar-tmux-vim-fzf-ripgrep\/","og_locale":"lv_LV","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\/lv\/emuars\/sliedes-attistiba-ar-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 min\u016btes"},"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":"lv-LV","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 att\u012bst\u012bba ar 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":"lv-LV","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/"]}]},{"@type":"ImageObject","inLanguage":"lv-LV","@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":"lv-LV"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"lv-LV","@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":"lv-LV","@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\/lv\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/posts\/3534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/comments?post=3534"}],"version-history":[{"count":6,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/posts\/3534\/revisions"}],"predecessor-version":[{"id":7967,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/posts\/3534\/revisions\/7967"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/media\/3535"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/media?parent=3534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/categories?post=3534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/tags?post=3534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}