10
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

この記事はソニックガーデン ソニックガーデン 若手プログラマ Advent Calendar 2024の12日目の記事です。

はじめに

ソニックガーデンには徒弟制度というものがあります。
わたしのような若手社員は弟子として親方の指導のもと業務に従事します。

ソニックガーデンの習わしとして弟子は親方の開発環境に揃えます。
ということで私はvimとRubyMineに入門しました🙌

とりあえず

vimとはなんぞやという方でvimに興味がある方はvimtutorをやってみましょう!
ターミナルでvimtutorを実行すると開始できます。

最低限覚えておきたいコマンド

プログラミングを始めたての頃、.zshrcをvimで編集したことがあり戸惑いました。
戸惑っている方、下記を覚えておけばなんとかなります!

  • i: インサートモード
    • こちらで入力できるようになります
  • esc
    • エスケープを押すことで各モードから抜けることができます
  • :q!: 保存しないでエディタを終了(escで抜けてから)
  • :wq: 保存してエディタを終了(escで抜けてから)
  • h, j, k, l
    • カーソルキーでも移動できますがこちらで移動できると便利です

個人的vimのメリット

  • キーボードで操作を完結できる
  • 開発中にタッチバッドやマウスを触る機会が減る
  • h,j,k,lでのカーソルの移動に慣れるとカーソルキーで移動するよりも速い
  • キーリピートの速度を上げるとvimでの開発体験がよくなります

個人的に便利だと感じたコマンド

カーソルの移動

  • h: 左、j: 下、k: 上、l: 右

置換

 user.id
 user.name
 user.image

:%s/user/current_userとすると下記のように置換できます

 current_user.id
 current_user.name
 current_user.image
  • :%s
    • ファイル全体に反映
  • s
    • 1行に反映
  • /gc
    • 置換するかどうかを確認しながら置換できる
    • Replace with current_user (y/n/a/q/l)?
      • y(yes): 1つずつ置換していく
      • n(no): 置換せず次の対象に移動する
      • a(all): 全て置換
      • q(quit): 置換せず終了
      • l(last): 1つ置換して終了
  • /g
    • 1行に複数の置換対象がある場合、まとめて置換できる
    • :s/user/current_user/g
          "#{user.id}: #{user.name}"
                      
          "#{current_user.id}: #{current_user.name}"
      

ファイルの移動

コマンド
shift + g ファイルの一番下に移動
gg ファイルの一番上に移動
shift + [ 段落ごとに上へ移動
shift + ] 段落ごとに下へ移動

インサートモード

  • 文字を入力できるようになります
コマンド
i カーソルは前
shift + i 行の最初に移動してインサートモード
a カーソルは後ろ
shift + a 行の末尾に移動してインサートモード
o 改行してインサートモード
shift + o 上の行でインサートモード

文字列検索

 user.id
 user.name
 user.image
コマンド
/user nで次のuserに移動 / Nで前のuserに移動
?user nで前のuserに移動 / Nで次のuserに移動

コピー・ペースト・カット

コマンド
yy or shift + y コピー
p 下の行にペースト
shift + p 上の行にペースト
dd カット

RubyMine

IdeaVimというプラグインを入れるとvimで開発できます!
RubyMineとvimに興味がある方はぜひ使ってみてはいかがでしょうか。

  • 補完が便利!
    スクリーンショット 2024-12-08 21.21.58.png
    今まで補完機能を利用したことがありませんでした。
    サクサクかけて楽しいですね!

  • cotrol + command + ↑を実行するとモデル、ビュー、コントローラーなどに移動できる

スクリーンショット 2024-12-08 21.30.55.png

  • rspecの設定
    スクリーンショット 2024-12-08 21.44.16.png

    • 編集をクリック
    • 左上の+をクリック

    スクリーンショット 2024-12-08 21.46.48.png

    • スペックフォルダーを設定して適用すると右上の▶️ボタンでrspecを実行できるようになります!

おわりに

最後までお読みいただきありがとうございました!
少しでもvimやRubyMineに興味を持っていただけていたら嬉しいです。
経験者の方、vimのおすすめコマンドやRubyMineの便利機能などぜひ教えていただきたいです!

ソニックガーデン 若手プログラマ Advent Calendar 2024の13日目は@bassarさんです。
お楽しみに!

参考リンク

10
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?