window.pipedriveLeadboosterConfig={です。 ベース:'leadbooster-chat.pipedrive.com'、 companyId:11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2、 } ;(function () { var w = window もし (w.LeadBooster) {なら console.warn('LeadBooster already exists') } else { w.LeadBooster = { {. q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 関数 (n) { { this.q.push({ t: 'o', n: n, h: h }) this.q.push({ t: 't', n: n }) }, } } })() TMUX、Vim、Fzf + RipgrepによるRails開発 - The Codest
The Codest
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 産業
    • フィンテック&バンキング
    • E-commerce
    • アドテック
    • ヘルステック
    • 製造業
    • 物流
    • 自動車
    • アイオーティー
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
戻る矢印 戻る
2021-06-07
ソフトウェア開発

TMUX、Vim、Fzf + RipgrepによるRails開発

The Codest

マルチン・ドリワ

Software Engineer

数年前、私は友人たち(全員Java開発者)と焼き肉を食べていた。どうしてそんな話になったのかわからないが、私たちは自分のコーディング環境について話し始めた。私は、すべての開発をVimとターミナルでやっていると話した。それがきっかけで、まだパンチカードを使っているのかというようなジョークや面白い質問が飛び出したんだ🙂。

それ以来、いくつかの "本物の "IDEを試したが、いつもここに戻ってきた。 ヴィム とても速いし、必要なツールはすべて揃っているし、単純にテキストモードで作業するのが好きなんだ。

以下、私のワークフローの詳細です。私はLinuxで作業しているが、MacでもWindowsでも問題なくセットアップができる。

私の仕事始めは、ターミナルを開き、~/Projects/XYZをcdし、以下を実行する。 タムックスでは、そこから始めよう。

TMUX

何なのか? TMUX?著者が言うように:

TMUXはターミナル・マルチプレクサである。これを使えば、1つの端末で複数のプログラムを簡単に切り替えたり、切り離したり(バックグラウンドで実行し続ける)、別の端末に再接続したりできる。

一つのターミナルで複数のことを切り替えるのに使っている。だから、1つの TMUX ウィンドウに レールズ サーバーが稼動している。 ヴィム ターミナルで何かする必要があるときは、ルートをチェックしたり、マイグレーションやテストを実行したりする。 CTRL-A C そしてそれを実行する。

私は使わない TMUX ペイン、ウィンドウのみで、多くの切り替えを行う(私はCTRL + double-Aを最後のウィンドウの切り替えにバインドしている)。

のもう一つの非常に便利な機能である。 TMUX それは、マウスを使わずにターミナルからテキストを探してコピーできることだ。

ヴィム

私のワークフローの主要部分だ。このワークフローは、私のワークフローの主要部分だ。 ブイアイエム 他のエディターとどう違うのか。それに関する素晴らしい記事やビデオがたくさんあります。一言で言うと ヴィム はモーダルエディタである。挿入モードと通常モードの2つのモードがあります。挿入は文書にテキストを入力するためのもので、ノーマルはカーソルの移動、テキストの断片の削除、変更など、文書に対してさまざまな操作を行うためのものだ。奇妙に聞こえるかもしれないが、しばらくするととても自然に感じられ、いつものエディターに戻るのはとても難しくなる。

ここでお見せしたいのは、私がどのように組み合わせるかということだ。 ヴィム ウェブ開発者として必要なものをすべて手に入れるために、他のツールも使っている。

プラグイン

重いプラグインは好きではない ヴィム コンフィグをいくつか使っている。これがそのリストだ:

ネルドツリー - はファイルエクスプローラである。ファイルの移動、名前の変更、新規ファイルの作成など、ファイルシステムの基本的な操作を簡単に行うことができる、

バイムエンドワイズ - 私はRubyの開発者なので、それを使って 終わり その後 もし, する, デフその他いくつかのキーワードがある、

ビムレール - それは レールズ パワープラグイン。このプラグインは Railsアプリ.カーソルの下にあるパーシャルをチェックしたいですか?を押すだけです。 ジーエフ をクリックすると、現在のウィンドウで開きます。他にもいろいろなオプションがあるが、私がよく使うのはこれだ、

バイムサラウンド - このプラグインを使えば、テキストの周囲を簡単に変更することができます。このプラグインを使えば、数回のキー操作で、テキストの周囲を()から[]に変更できます、

バイムリピート - Vim-surroundを補完するもの。これは . (Vimで最後の変更を繰り返す)、

ヴィムウィキ- 私のメモの取り方

fzf.vim+ エフゼットエフ - 私の核心部分 ウェブ開発 ワークフロー

協力バナー

Fzf + Ripgrep

これらは、私のコーディングのやり方を定義するツールだ。通常、コーディング作業をしているとき、私はほとんどの時間を、そのものがどのように動作するかを見つけることに費やしていることに気づいた。そのためには、コードベースのさまざまな部分、メソッドの定義、クラスなどを素早くチェックする必要がある。

Fzf はコマンドライン用の対話型Unixフィルターで、あらゆるリスト(ファイル、コマンド履歴、gitコミット、プロセスリスト)で使うことができる。

リップグレップ はgrepに代わるものだが、圧倒的に速い。

この2つが組み合わされば、自分の好きなものをすぐに見つけることができる。 プロジェクト.
には2つの設定がある。 ヴィム コンフィグファイルは、これを手助けしてくれる:

nnoremap:ファイル<Cr
nnoremap  :Rg (ノノレマップ  :Rg)

最初のものは、ファイル・パスのファジー検索(CTRL-P)を使って正しいファイルを素早く見つけることができる。もうひとつは、プロジェクト内のすべてのファイルのパスと中身に対して リップグレップ (CTRL-F)。

そこで、あるカラムを ユーザー テーブルでCTRL-Fを押しながら、次のように書く。 アドコラスナム とマッチする。 add_column :users, :name, :string.

メソッドの定義を探すとき、私はよくCTRL-Fを実行する。 def メソッド名.

ファイルパス+コンテンツで検索してくれるのでとても便利です。特に、探しているコンテンツがプロジェクトの特定の部分にあることがわかっているときに便利だ。例えば、ユーザー名を更新した場所を探したい。私は Ctrl-F 構成名 行と一致するように app/controllers/users_controller:user.update(name: new_name).

プロジェクトとコードベースの構造を知っていれば、ファジー検索クエリを簡単に構築して、欲しいものをほとんど何でも素早く見つけることができる。

ビデオ

ここをクリック をクリックすると、私が`discourse`コードベース(i5、16GBのデスクトップで440kLOC)をいじくりまわしている様子と、私が普段どのようにプロジェクトを動かしているかを録画したものを見ることができる。

概要

私のセットアップに興味をもってくれて、このセットアップに参加してくれることを願っている。 Fzf を試してみてください。それは本当に私の使い方を変えた ヴィム として コード 編集者

関連記事

フィンテック

Rubyの5つの活用例

Rubyで何ができるのだろうと思ったことはないだろうか。まあ、可能性は無限大でしょうが、多少なりとも知られている事例についてお話しできれば幸いです。

The Codest
パヴェル・ムジンスキー Software Engineer
ソフトウェア開発

パブ/サブ付きRuby on Railsについてさらに詳しく

Pub/Subはプロジェクトに多くの利点をもたらします - コードをクリーンにし、サービスを分離し、簡単にスケーラブルにすることができます。Pub/Subについては以下の記事で詳しく説明しています。

The Codest
ミハエル・パウラック シニアRubyデベロッパー
ソフトウェア開発

製品開発:PythonとRubyの比較

PythonとRubyはどちらも最も広く使われているバックエンドプログラミング言語です。Pythonの方が少し人気があり、応用範囲も広い。しかし、Rubyにも多くの利点があります。

The Codest
カミル・フェレンス 成長部門責任者

ナレッジベースを購読して、IT部門の専門知識を常に最新の状態に保ちましょう。

    会社概要

    The Codest - ポーランドに技術拠点を持つ国際的なソフトウェア開発会社。

    イギリス - 本社

    • オフィス 303B, 182-184 High Street North E6 2JA
      イギリス、ロンドン

    ポーランド - ローカル・テック・ハブ

    • ファブリチュナ・オフィスパーク、アレハ
      ポコジュ18、31-564クラクフ
    • ブレイン・エンバシー, コンストルクトースカ
      11, 02-673 Warsaw, Poland

      The Codest

    • ホーム
    • 会社概要
    • サービス
    • Case Studies
    • ノウハウ
    • 採用情報
    • 辞書

      サービス

    • アドバイザリー
    • ソフトウェア開発
    • バックエンド開発
    • フロントエンド開発
    • Staff Augmentation
    • バックエンド開発者
    • クラウドエンジニア
    • データエンジニア
    • その他
    • QAエンジニア

      リソース

    • 外部ソフトウェア開発パートナーとの協力に関する事実と神話
    • 米国から欧州へ:アメリカの新興企業がヨーロッパへの移転を決断する理由
    • テックオフショア開発ハブの比較:テックオフショア ヨーロッパ(ポーランド)、ASEAN(フィリピン)、ユーラシア(トルコ)
    • CTOとCIOの課題は?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • ウェブサイト利用規約

    著作権 © 2025 by The Codest。無断複写・転載を禁じます。

    jaJapanese
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek jaJapanese