LoginSignup
4
5

More than 5 years have passed since last update.

vimだけでコードリーディングってどうやる?? 画面複製(分割)を検討してみる。

Posted at

vimで完結せよ :bangbang:

IDEを使わず、しかし使い勝手は損なわず、
vimだけで以下の要求を満たすための設定や使い方を考えてみた。

  • 要求
    • 宣言元へジャンプしたい
    • ジャンプ先とジャンプ元を並べて見ていたい
    • 開いていたファイルを閉じてもすぐに次のアクション(次の開きたいページ)へ移れる

前提 :gear:

使い方 :eye: :point_up:

該当プロジェクトのルートディレクトリに移動しておく。
今回は、以前作成した「テストブロックチェーンネットワークを使って分散アプリケーションを動かす」のプロジェクトを題材に紹介

  • 該当プロジェクトのルートにタグ管理ファイルを作成する。 tagsというファイルが作成される。これでジャンプができるようになる。
ctags -R
  • カレントディレクトリをvimで開く。
pet-shop-tutorial (master %=)$ vim ./
  • こんな風になる
    スクリーンショット 2019-03-21 23.58.50.png

  • 画面を:vsコマンドで分割する

    • 左側のページは表示用に使う。右側でファイルを開いて操作(新たな表示など)する。
    • これによって「1つを閉じてもすぐに次のものを開く」ことができるようになる。
      • 今回は、このルールに基づいて操作すれば「満たしたい欲求」は満たされる。
    • ちなみに、ウィンドウの移動はctl+w スクリーンショット 2019-03-22 0.00.16.png
  • 最終的には、こんな風になる。
    vim_splt.gif

    • まず、既存とは別で、新たな画面移動をしたい場合には:vsで水平に画面(ウィンドウ)作成
    • 次に、新規作成したウィンドウへ移動 ctl+w
    • ソースコードのうち、ジャンプしたい単語の上に移動する。
    • 更に、新規ウィンドウを展開して、新規ウィンドウへ移動
      • 該当単語上でctl+]で宣言元へジャンプできる
      • 真ん中のウィンドウにジャンプ元、右のウィンドウに宣言元のソースコードが表示できるようになる。 スクリーンショット 2019-03-22 0.27.06.png
    • 不要になった順から:qで閉じていけば始めに戻れる

所感 :thinking:

IDEではデフォルトで分割するとか、ジャンプするとかはできるため、便利であることが多い。一方で、やっぱり重いな〜、とか立ち上げるの面倒だなとかって思うことが少なくない。
私はRubymineを使っていますが、プロジェクトが複数になってしまうと上記のような面倒だったり、時間がかかったりする印象です。どうにかしたいなっておもっていました。
加えて、違う言語を使うときには、別のIDEで管理したりするのも面倒だなっておもっていました。

vimは軽いし、エディタなので言語化はほとんど関係ないです。既にたくさんの投稿がある通り、便利なプラグイン、カスタマイズができるのも魅力だと思います。

一方で、いまいち、よい(使いやすい)プラクティスの言及は多くない印象です。実際、どんな風に画面を使って効率的に作業するんだろうかって考えていて、今回の投稿にいたりました。(ちなみに、先輩の使い方を盗み見して、解読した部分がほとんどです。ありがとうパイセン)
もし、もっとこうするといいよ、的なのがあれば教えていただけると嬉しいです :bow_tone2:


お読みいただきありがとうございました。
疑問、誤り、ご意見あれば、コメントいただけると嬉しいです。

4
5
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
4
5