{"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":"developpement-de-rails-avec-tmux-vim-fzf-ripgrep","status":"publish","type":"post","link":"https:\/\/thecodest.co\/fr\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/","title":{"rendered":"D\u00e9veloppement Rails avec TMUX, Vim, Fzf + Ripgrep"},"content":{"rendered":"<p>Depuis, j'ai essay\u00e9 quelques \"vrais\" IDE mais je suis toujours revenu \u00e0 <strong>Vim<\/strong> et les terminaux, car c'est une m\u00e9thode tr\u00e8s rapide, qui dispose de tous les outils dont j'ai besoin et j'aime tout simplement travailler en mode texte.<\/p>\n\n\n\n<p>Voici quelques d\u00e9tails sur mon processus de travail. Il convient de pr\u00e9ciser que je travaille sous Linux, mais vous pouvez l'installer sur Mac ou Windows sans probl\u00e8me.<\/p>\n\n\n\n<p>Je commence ma journ\u00e9e de travail en ouvrant un terminal, cd ~\/Projets\/XYZ, et en lan\u00e7ant <strong>tmux<\/strong>Commen\u00e7ons donc par l\u00e0.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TMUX<\/h2>\n\n\n\n<p>Qu'est-ce que <strong>TMUX<\/strong>? Comme le disent les auteurs :<\/p>\n\n\n\n<p><em>TMUX est un multiplexeur de terminal. Il vous permet de passer facilement d'un programme \u00e0 l'autre dans un m\u00eame terminal, de les d\u00e9tacher (ils continuent \u00e0 tourner en arri\u00e8re-plan) et de les rattacher \u00e0 un autre terminal.<\/em><\/p>\n\n\n\n<p>Je l'utilise pour passer d'une chose \u00e0 l'autre dans un seul terminal. Ainsi, dans un <strong>TMUX<\/strong> j'ai la fen\u00eatre <strong><a href=\"https:\/\/thecodest.co\/fr\/blog\/ways-to-increase-your-rails-performance\/\">Rails<\/a> <\/strong>en cours d'ex\u00e9cution, dans le second, j'ai mon <strong>Vim<\/strong> et chaque fois que j'ai besoin de faire quelque chose dans le terminal, comme v\u00e9rifier des routes, ex\u00e9cuter des migrations ou des tests, j'ouvre simplement une nouvelle fen\u00eatre avec <code>CTRL-A C<\/code> et de faire ce qu'il faut.<\/p>\n\n\n\n<p>Je n'utilise pas <strong>TMUX<\/strong> Il n'y a pas de fen\u00eatres, seulement des fen\u00eatres, et il y a beaucoup de changements (j'ai CTRL + double-A pour passer d'une fen\u00eatre \u00e0 l'autre).<\/p>\n\n\n\n<p>Une autre caract\u00e9ristique tr\u00e8s pratique de <strong>TMUX<\/strong> est qu'il me permet de trouver et de copier du texte \u00e0 partir d'un terminal sans utiliser de souris.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vim<\/h2>\n\n\n\n<p>C'est la partie principale de mon flux de travail. Je n'entrerai pas dans les d\u00e9tails de ce que font les <strong>VIM<\/strong> et en quoi il est diff\u00e9rent des autres \u00e9diteurs. Il existe un grand nombre d'articles et de vid\u00e9os sur le sujet. En quelques mots, <strong>Vim<\/strong> est un \u00e9diteur modal. Il poss\u00e8de deux modes, le mode insertion et le mode normal. Le mode insertion permet de taper du texte dans un document et le mode normal permet d'effectuer diff\u00e9rentes op\u00e9rations sur le document, comme d\u00e9placer le curseur, supprimer des fragments de texte, le modifier, etc. Cela peut para\u00eetre \u00e9trange, mais apr\u00e8s un certain temps, cela semble tr\u00e8s naturel et il est tr\u00e8s difficile de revenir \u00e0 son \u00e9diteur habituel.<\/p>\n\n\n\n<p>J'aimerais vous montrer comment je combine les \u00e9l\u00e9ments suivants <strong>Vim<\/strong> avec d'autres outils pour obtenir tout ce dont j'ai besoin en tant que <a href=\"https:\/\/thecodest.co\/fr\/blog\/find-your-ideal-stack-for-web-development\/\">web<\/a> <a href=\"https:\/\/thecodest.co\/fr\/blog\/hire-vue-js-developers\/\">d\u00e9veloppeur<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plugins<\/h2>\n\n\n\n<p>Je ne suis pas un adepte du plugin lourd <strong>Vim<\/strong> Je n'en utilise donc que quelques-unes. Voici la liste :<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/preservim\/nerdtree\" rel=\"nofollow\">NERDtree<\/a> - c'est un explorateur de fichiers. Il vous permet d'effectuer facilement des op\u00e9rations de base sur le syst\u00e8me de fichiers, comme d\u00e9placer des fichiers, les renommer, en cr\u00e9er de nouveaux, et bien d'autres encore,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-endwise\" rel=\"nofollow\">vim-endwise<\/a> - Je suis un <a href=\"https:\/\/thecodest.co\/fr\/blog\/hire-ror-developer\/\">Rubis<\/a> d\u00e9veloppeur, je l'utilise donc pour ajouter <code>fin<\/code> apr\u00e8s <code>si<\/code>, <code>faire<\/code>, <code>d\u00e9f.<\/code>et plusieurs autres mots-cl\u00e9s,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-rails\" rel=\"nofollow\">vim-rails<\/a> - c'est un <strong>Rails<\/strong> plugin de puissance. Il conna\u00eet la structure d'un <strong>Application Rails<\/strong>. Vous souhaitez v\u00e9rifier la partie situ\u00e9e sous votre curseur ? Appuyez simplement sur <code>gf<\/code> et il l'ouvre dans votre fen\u00eatre actuelle. Il existe de nombreuses autres options, mais c'est celle que j'utilise le plus souvent,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-surround\" rel=\"nofollow\">vim-surround<\/a> - Un excellent plugin qui rend le travail avec l'environnement tr\u00e8s facile. Avec lui, vous pouvez changer l'environnement du texte de () \u00e0 [] en quelques frappes,<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/tpope\/vim-repeat\" rel=\"nofollow\">vim-repeat <\/a>- compl\u00e9mentaire de Vim-surround. Il permet un changement r\u00e9p\u00e9t\u00e9 de l'environnement avec <code>.<\/code> (r\u00e9p\u00e9ter le dernier changement dans Vim),<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/vimwiki\/vimwiki\" rel=\"nofollow\">vimwiki<\/a>- ma fa\u00e7on de prendre des notes,<\/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 partie centrale de mon <a href=\"https:\/\/thecodest.co\/fr\/blog\/find-your-node-js-expert-for-hire-today\/\">d\u00e9veloppement web<\/a> flux de travail.<\/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=\"banni\u00e8re de coop\u00e9ration\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Fzf + Ripgrep<\/h2>\n\n\n\n<p>Ce sont les outils qui d\u00e9finissent ma fa\u00e7on de coder. Je me suis rendu compte qu'en g\u00e9n\u00e9ral, lorsque j'effectue des t\u00e2ches de codage, je passe le plus clair de mon temps \u00e0 trouver comment les choses fonctionnent. Pour ce faire, j'ai besoin de v\u00e9rifier rapidement diff\u00e9rentes parties de la base de code, les d\u00e9finitions de m\u00e9thodes, les classes et d'autres choses.<\/p>\n\n\n\n<p><strong>Fzf<\/strong> est un filtre Unix interactif pour la ligne de commande qui peut \u00eatre utilis\u00e9 avec n'importe quelle liste (fichiers, historique des commandes, commits git, listes de processus) ; en d'autres termes, c'est un outil de recherche flou.<\/p>\n\n\n\n<p><strong>Ripgrep<\/strong> est une alternative \u00e0 grep, mais c'est le plus rapide.<\/p>\n\n\n\n<p>Une fois combin\u00e9s, ces deux \u00e9l\u00e9ments me permettent de trouver rapidement tout ce que je veux dans ma <a href=\"https:\/\/thecodest.co\/fr\/dictionary\/why-do-projects-fail\/\">projet<\/a>.<br>J'ai deux param\u00e8tres dans mon <strong>Vim<\/strong> pour m'aider :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"vim\" class=\"language-vim\">nnoremap  : Fichiers\nnnoremap  :Rg<\/code><\/pre>\n\n\n\n<p>La premi\u00e8re me permet de trouver rapidement les fichiers corrects en utilisant la recherche floue sur les chemins d'acc\u00e8s aux fichiers (CTRL-P). La seconde lance la recherche floue sur tous les chemins d'acc\u00e8s et le contenu des fichiers de mon projet \u00e0 l'aide de la commande <strong>Ripgrep<\/strong> (CTRL-F).<\/p>\n\n\n\n<p>Supposons que je veuille trouver la migration \u00e0 l'endroit o\u00f9 j'ai ajout\u00e9 une colonne \u00e0 la base de donn\u00e9es <code>utilisateurs<\/code> table. J'appuie sur CTRL-F et j'\u00e9cris quelque chose comme <code>adcolusnam<\/code> et il correspondra \u00e0 <code>add_column :users, :name, :string<\/code>.<\/p>\n\n\n\n<p>Lorsque je cherche une d\u00e9finition de m\u00e9thode, je lance souvent CTRL-F <code>def nom_de_la_m\u00e9thode<\/code>.<\/p>\n\n\n\n<p>C'est tr\u00e8s utile car cela permet de rechercher le chemin d'acc\u00e8s au fichier + le contenu. C'est particuli\u00e8rement pratique lorsque je sais que le contenu que je recherche se trouve dans une partie sp\u00e9cifique du projet. Par exemple, je veux trouver l'endroit o\u00f9 nous avons mis \u00e0 jour un nom d'utilisateur, et je me souviens que c'\u00e9tait quelque part dans les contr\u00f4leurs. Je clique sur <code>CTRL-F<\/code> <code>nom de la configuration<\/code> pour correspondre \u00e0 la ligne <code>app\/controllers\/users_controller : @user.update(name : new_name)<\/code>.<\/p>\n\n\n\n<p>Si vous connaissez la structure de votre projet et de votre base de code, vous pouvez facilement construire des requ\u00eates de recherche floue pour trouver rapidement presque tout ce que vous voulez.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vid\u00e9o<\/h2>\n\n\n\n<p><a href=\"https:\/\/youtu.be\/yJWl4CfvMC8\" rel=\"nofollow\">Cliquez ici <\/a> pour voir un court enregistrement de moi jouant avec la base de code `discourse` (440k LOC sur mon i5, 16GB desktop) et montrant comment je me d\u00e9place habituellement dans le projet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h2>\n\n\n\n<p>J'esp\u00e8re que vous avez \u00e9t\u00e9 int\u00e9ress\u00e9 par mon installation et que vous avez d\u00e9cid\u00e9 d'y participer. <strong>Fzf<\/strong> un essai dans vos efforts de codage. Il a vraiment chang\u00e9 la fa\u00e7on dont j'utilise <strong>Vim<\/strong> en tant que <a href=\"https:\/\/thecodest.co\/fr\/dictionary\/what-is-code-refactoring\/\">code<\/a> \u00e9diteur.<\/p>","protected":false},"excerpt":{"rendered":"<p>Il y a quelques ann\u00e9es, je faisais la grillade avec certains de mes amis, tous d\u00e9veloppeurs Java. Je ne sais pas trop comment cela s'est produit, mais nous avons commenc\u00e9 \u00e0 parler de nos environnements de codage. Je leur ai dit que je faisais tout mon d\u00e9veloppement en utilisant Vim et des terminaux. Cela a d\u00e9clench\u00e9 des blagues et des questions amusantes, comme celle de savoir si j'utilisais encore des cartes perfor\u00e9es \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\/fr\/blog\/developpement-de-rails-avec-tmux-vim-fzf-ripgrep\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/blog\/developpement-de-rails-avec-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 minutes\" \/>\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\":\"fr-FR\",\"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\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/rails-development-with-tmux-vim-fzf-ripgrep\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@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\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@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\":\"fr-FR\",\"@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\\\/fr\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"D\u00e9veloppement Rails avec TMUX, Vim, Fzf + Ripgrep - The Codest","description":"Il y a quelques ann\u00e9es, je faisais la grillade avec certains de mes amis, tous d\u00e9veloppeurs Java. Je ne sais pas trop comment cela s'est produit, mais nous avons commenc\u00e9 \u00e0 parler de nos environnements de codage. Je leur ai dit que je faisais tout mon d\u00e9veloppement en utilisant Vim et des terminaux. Cela a d\u00e9clench\u00e9 des plaisanteries et des questions amusantes, comme celle de savoir si j'utilisais encore des cartes perfor\u00e9es :)","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\/fr\/blog\/developpement-de-rails-avec-tmux-vim-fzf-ripgrep\/","og_locale":"fr_FR","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\/fr\/blog\/developpement-de-rails-avec-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 minutes"},"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":"fr-FR","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":"D\u00e9veloppement Rails avec 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":"Il y a quelques ann\u00e9es, je faisais la grillade avec certains de mes amis, tous d\u00e9veloppeurs Java. Je ne sais pas trop comment cela s'est produit, mais nous avons commenc\u00e9 \u00e0 parler de nos environnements de codage. Je leur ai dit que je faisais tout mon d\u00e9veloppement en utilisant Vim et des terminaux. Cela a d\u00e9clench\u00e9 des plaisanteries et des questions amusantes, comme celle de savoir si j'utilisais encore des cartes perfor\u00e9es :)","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@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":"fr-FR"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@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":"fr-FR","@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\/fr\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts\/3534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/comments?post=3534"}],"version-history":[{"count":6,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts\/3534\/revisions"}],"predecessor-version":[{"id":7967,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/posts\/3534\/revisions\/7967"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/media\/3535"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/media?parent=3534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/categories?post=3534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/fr\/wp-json\/wp\/v2\/tags?post=3534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}