{"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":"sviluppo-di-rails-con-tmux-vim-fzf-ripgrep","status":"publish","type":"post","link":"https:\/\/thecodest.co\/it\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/","title":{"rendered":"Sviluppo di Rails con TMUX, Vim, Fzf + Ripgrep"},"content":{"rendered":"<p>Da allora, ho provato alcuni IDE \"veri\", ma sono sempre tornato a <strong>Vim<\/strong> e terminali perch\u00e9 \u00e8 un metodo molto veloce, ha tutti gli strumenti di cui ho bisogno e semplicemente mi piace lavorare in modalit\u00e0 testo.<\/p>\n\n\n\n<p>Ecco alcuni dettagli sul mio flusso di lavoro. Vale la pena di ricordare che lavoro su Linux, ma \u00e8 possibile configurarlo senza problemi su Mac o Windows.<\/p>\n\n\n\n<p>Inizio la mia giornata lavorativa con l'apertura di un terminale, cd ~\/Projects\/XYZ e l'esecuzione di <strong>tmux<\/strong>, quindi iniziamo da l\u00ec.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TMUX<\/h2>\n\n\n\n<p>Che cosa \u00e8 <strong>TMUX<\/strong>? Come dicono gli autori:<\/p>\n\n\n\n<p><em>TMUX \u00e8 un multiplexer di terminale. Permette di passare facilmente da un programma all'altro in un terminale, di staccarli (continuano a girare in background) e di riattaccarli a un altro terminale.<\/em><\/p>\n\n\n\n<p>Lo uso per passare da un terminale all'altro. Quindi, in un <strong>TMUX<\/strong> ho la finestra <strong><a href=\"https:\/\/thecodest.co\/it\/blog\/ways-to-increase-your-rails-performance\/\">Rotaie<\/a> <\/strong>server in esecuzione, nel secondo ho il mio <strong>Vim<\/strong> e ogni volta che ho bisogno di fare qualcosa nel terminale, come controllare le rotte, eseguire migrazioni o test, apro semplicemente una nuova finestra con <code>CTRL-A C<\/code> e fare la cosa.<\/p>\n\n\n\n<p>Non uso <strong>TMUX<\/strong> riquadri, solo finestre, e fare un sacco di passaggi (ho CTRL + doppia A per passare tra le ultime finestre).<\/p>\n\n\n\n<p>Un'altra caratteristica molto comoda di <strong>TMUX<\/strong> \u00e8 che mi permette di trovare e copiare testo da un terminale senza usare il mouse.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vim<\/h2>\n\n\n\n<p>\u00c8 la parte principale del mio flusso di lavoro. Non entrer\u00f2 nei dettagli di ci\u00f2 che <strong>VIM<\/strong> e come si differenzia dagli altri editor. Ci sono molti articoli e video interessanti al riguardo. In poche parole, <strong>Vim<\/strong> \u00e8 un editor modale. Dispone di due modalit\u00e0, quella di inserimento e quella normale. La modalit\u00e0 inserisci serve per digitare il testo in un documento, mentre la modalit\u00e0 normale serve per eseguire diverse operazioni sul documento, come spostare il cursore, cancellare frammenti di testo, modificarlo e cos\u00ec via. Sembra strano, ma dopo un po' di tempo risulta molto naturale ed \u00e8 molto difficile tornare al normale editor.<\/p>\n\n\n\n<p>Vorrei mostrarvi il modo in cui combino <strong>Vim<\/strong> con altri strumenti per ottenere tutto ci\u00f2 di cui ho bisogno come <a href=\"https:\/\/thecodest.co\/it\/blog\/find-your-ideal-stack-for-web-development\/\">web<\/a> <a href=\"https:\/\/thecodest.co\/it\/blog\/hire-vue-js-developers\/\">sviluppatore<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plugin<\/h2>\n\n\n\n<p>Non sono un fan dei plugin pesanti <strong>Vim<\/strong> configurazioni, quindi ne sto usando solo alcune. Ecco l'elenco:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/preservim\/nerdtree\" rel=\"nofollow\">NERDtree<\/a> - \u00e8 un esploratore di file. Permette di eseguire facilmente alcune operazioni di base del file system, come spostare i file, rinominarli, crearne di nuovi e molte altre,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-endwise\" rel=\"nofollow\">vim-endwise<\/a> - Sono un <a href=\"https:\/\/thecodest.co\/it\/blog\/hire-ror-developer\/\">Rubino<\/a> sviluppatore, quindi lo uso per aggiungere <code>fine<\/code> dopo <code>se<\/code>, <code>fare<\/code>, <code>dif<\/code>e diverse altre parole chiave,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-rails\" rel=\"nofollow\">vim-rail<\/a> - \u00e8 un <strong>Rotaie<\/strong> plugin di potenza. Conosce la struttura di un file <strong>Applicazione Rails<\/strong>. Volete controllare il parziale sotto il vostro cursore? Basta premere <code>gf<\/code> e si apre nella finestra corrente. Ci sono molte altre opzioni, ma questa \u00e8 quella che uso pi\u00f9 spesso,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-surround\" rel=\"nofollow\">vim-surround<\/a> - ottimo plugin che rende molto semplice lavorare con l'ambiente circostante. Con esso, \u00e8 possibile cambiare l'ambiente circostante del testo da () a [] in poche battute,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-repeat\" rel=\"nofollow\">vim-ripetizione <\/a>- complementare a Vim-surround. Permette di cambiare ripetutamente l'ambiente circostante con <code>.<\/code> (ripetere l'ultima modifica in Vim),<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/vimwiki\/vimwiki\" rel=\"nofollow\">vimwiki<\/a>- il mio modo di prendere appunti,<\/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> - la parte centrale del mio <a href=\"https:\/\/thecodest.co\/it\/blog\/find-your-node-js-expert-for-hire-today\/\">sviluppo web<\/a> flusso di lavoro.<\/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=\"banner di cooperazione\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Fzf + Ripgrep<\/h2>\n\n\n\n<p>Questi sono gli strumenti che definiscono il mio modo di fare codifica. Mi sono reso conto che di solito, quando svolgo attivit\u00e0 di codifica, passo la maggior parte del tempo a scoprire come funzionano le cose. Per farlo, devo controllare rapidamente diverse parti del codice, definizioni di metodi, classi e altro.<\/p>\n\n\n\n<p><strong>Fzf<\/strong> \u00e8 un filtro Unix interattivo per la riga di comando che pu\u00f2 essere usato con qualsiasi elenco (file, cronologia dei comandi, commit di git, elenchi di processi); in altre parole, \u00e8 un cercatore di informazioni.<\/p>\n\n\n\n<p><strong>Ripgrep<\/strong> \u00e8 un'alternativa a grep, ma \u00e8 molto veloce.<\/p>\n\n\n\n<p>Una volta combinati, questi due elementi mi permettono di trovare rapidamente tutto ci\u00f2 che desidero nella mia <a href=\"https:\/\/thecodest.co\/it\/dictionary\/why-do-projects-fail\/\">progetto<\/a>.<br>Ho due impostazioni in <strong>Vim<\/strong> file di configurazione per aiutarmi a risolvere questo problema:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"vim\" class=\"language-vim\">nnoremap  :File\nnnoremap  :Rg<\/code><\/pre>\n\n\n\n<p>Il primo mi ha permesso di trovare rapidamente i file corretti usando il fuzzy finder sui percorsi dei file (CTRL-P). Il secondo esegue il fuzzy finder su tutti i percorsi e i contenuti dei file del mio progetto usando <strong>Ripgrep<\/strong> (CTRL-F).<\/p>\n\n\n\n<p>Quindi, supponiamo di voler trovare la migrazione dove ho aggiunto una colonna al file <code>utenti<\/code> tavolo. Premendo CTRL-F, scrivo qualcosa come <code>adcolusnam<\/code> e corrisponder\u00e0 a <code>add_column :users, :name, :string<\/code>.<\/p>\n\n\n\n<p>Quando cerco la definizione di un metodo, spesso eseguo CTRL-F <code>def nome_metodo<\/code>.<\/p>\n\n\n\n<p>\u00c8 molto utile perch\u00e9 cerca attraverso il percorso del file + il contenuto. \u00c8 particolarmente comodo quando so che il contenuto che sto cercando si trova in una parte specifica del progetto. Per esempio, voglio trovare dove abbiamo aggiornato un nome utente e ricordo che era da qualche parte nei controllori. Ho premuto <code>CTRL-F<\/code> <code>nome del gruppo<\/code> per abbinare la linea <code>app\/controller\/users_controller: @utente.update(nome: nuovo_nome)<\/code>.<\/p>\n\n\n\n<p>Se si conosce la struttura del progetto e della base di codice, si possono facilmente costruire query di ricerca fuzzy per trovare rapidamente quasi tutto ci\u00f2 che si desidera.<\/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\">Clicca qui <\/a> per vedere una breve registrazione di me che gioco con la base di codice `discourse` (440k LOC sul mio i5, 16GB desktop) e che mostra come di solito mi muovo nel progetto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sintesi<\/h2>\n\n\n\n<p>Spero che vi siate interessati alla mia configurazione e che abbiate deciso di dare <strong>Fzf<\/strong> provare nei vostri tentativi di codifica. Ha davvero cambiato il mio modo di usare <strong>Vim<\/strong> come un <a href=\"https:\/\/thecodest.co\/it\/dictionary\/what-is-code-refactoring\/\">codice<\/a> redattore.<\/p>","protected":false},"excerpt":{"rendered":"<p>Qualche anno fa, stavo facendo una grigliata con alcuni amici, tutti sviluppatori Java. Non so come sia venuto fuori, ma abbiamo iniziato a parlare dei nostri ambienti di codifica. Ho detto loro che faccio tutto il mio sviluppo usando Vim e Terminals. Questo ha scatenato alcune battute e domande divertenti, come se stessi ancora usando le schede perforate \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=\"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 name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/it\/blog\/sviluppo-di-rails-con-tmux-vim-fzf-ripgrep\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/blog\/sviluppo-di-rails-con-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 minuti\" \/>\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\":\"it-IT\",\"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\",\"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 :)\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@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\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@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\":\"it-IT\",\"@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\\\/it\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sviluppo di Rails con TMUX, Vim, Fzf + Ripgrep - The Codest","description":"Qualche anno fa, stavo facendo una grigliata con alcuni amici, tutti sviluppatori Java. Non so come sia venuto fuori, ma abbiamo iniziato a parlare dei nostri ambienti di codifica. Ho detto loro che faccio tutto il mio sviluppo usando Vim e Terminals. Questo ha scatenato alcune battute e domande divertenti, come se stessi ancora usando le schede perforate :)","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\/it\/blog\/sviluppo-di-rails-con-tmux-vim-fzf-ripgrep\/","og_locale":"it_IT","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\/it\/blog\/sviluppo-di-rails-con-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 minuti"},"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":"it-IT","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":"Sviluppo di Rails con 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","description":"Qualche anno fa, stavo facendo una grigliata con alcuni amici, tutti sviluppatori Java. Non so come sia venuto fuori, ma abbiamo iniziato a parlare dei nostri ambienti di codifica. Ho detto loro che faccio tutto il mio sviluppo usando Vim e Terminals. Questo ha scatenato alcune battute e domande divertenti, come se stessi ancora usando le schede perforate :)","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@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":"it-IT"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@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":"it-IT","@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\/it\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/posts\/3534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/comments?post=3534"}],"version-history":[{"count":6,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/posts\/3534\/revisions"}],"predecessor-version":[{"id":7967,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/posts\/3534\/revisions\/7967"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/media\/3535"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/media?parent=3534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/categories?post=3534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/it\/wp-json\/wp\/v2\/tags?post=3534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}