vimで完結せよ
IDEを使わず、しかし使い勝手は損なわず、
vimだけで以下の要求を満たすための設定や使い方を考えてみた。
- 要求
- 宣言元へジャンプしたい
- ジャンプ先とジャンプ元を並べて見ていたい
- 開いていたファイルを閉じてもすぐに次のアクション(次の開きたいページ)へ移れる
前提
- 宣言元へのジャンプのためにctagが入っていること
- 参考資料: ctag, gtagsで超捗るコードリーディング
- 参考資料: ctagsをちゃんと使う
vim
,ctag
のデフォルト設定は変えない
使い方
該当プロジェクトのルートディレクトリに移動しておく。
今回は、以前作成した「テストブロックチェーンネットワークを使って分散アプリケーションを動かす」のプロジェクトを題材に紹介
- 該当プロジェクトのルートにタグ管理ファイルを作成する。
tags
というファイルが作成される。これでジャンプができるようになる。
ctags -R
- カレントディレクトリをvimで開く。
pet-shop-tutorial (master %=)$ vim ./
画面を
:vs
コマンドで分割する- まず、既存とは別で、新たな画面移動をしたい場合には
:vs
で水平に画面(ウィンドウ)作成 - 次に、新規作成したウィンドウへ移動
ctl+w
- ソースコードのうち、ジャンプしたい単語の上に移動する。
- 移動はvimに便利なコマンドがたくさんあるので、それを使う。
- 参考資料: 【入門】Vimで高速で移動~プラグインなしでの移動まとめ~
- 更に、新規ウィンドウを展開して、新規ウィンドウへ移動
- 不要になった順から
:q
で閉じていけば始めに戻れる
- まず、既存とは別で、新たな画面移動をしたい場合には
所感
IDEではデフォルトで分割するとか、ジャンプするとかはできるため、便利であることが多い。一方で、やっぱり重いな〜、とか立ち上げるの面倒だなとかって思うことが少なくない。
私はRubymineを使っていますが、プロジェクトが複数になってしまうと上記のような面倒だったり、時間がかかったりする印象です。どうにかしたいなっておもっていました。
加えて、違う言語を使うときには、別のIDEで管理したりするのも面倒だなっておもっていました。
vimは軽いし、エディタなので言語化はほとんど関係ないです。既にたくさんの投稿がある通り、便利なプラグイン、カスタマイズができるのも魅力だと思います。
一方で、いまいち、よい(使いやすい)プラクティスの言及は多くない印象です。実際、どんな風に画面を使って効率的に作業するんだろうかって考えていて、今回の投稿にいたりました。(ちなみに、先輩の使い方を盗み見して、解読した部分がほとんどです。ありがとうパイセン)
もし、もっとこうするといいよ、的なのがあれば教えていただけると嬉しいです
お読みいただきありがとうございました。
疑問、誤り、ご意見あれば、コメントいただけると嬉しいです。