Linux

vim+ctagsでコードのタグジャンプをする方法

お仕事でチーム内の人が書いたコードやオープンソースのコードなど、ある程度のボリュームがあるコードを読むときはサクサクと関数の定義に飛べたりすると便利です。

そこで、ctagsというツールを使えば、vimでもサクサクとコードが読めちゃうかもということで試してみました。

ctagsのインストール

ctagsが入っていなければ、CentOS7では以下のコマンドでインストールできます。

# sudo yum install ctags

ソースコードのtagsファイルを生成する

ソースコードのあるディレクトリに移動して以下のコマンドを実行すると、ソースコードのtagsファイルが生成されます。

# cd <ソースのあるディレクトリ>
# ctags -R

tagsファイルというのは、ソースコード中で「○○の定義は××の△△にあるよ」という情報の一覧みたいなものです。これをvimから利用してあげれば、ある関数の定義にパッと飛んだりすることができます。

vimでtagsファイルを読み込む

tagsファイルができたらvimで以下のコマンドを実行し、tagsファイルを読み込みます。デフォルトではカレントディレクトリのtagsファイルを読み込みますが、tabsファイルの場所を指定して読み込むことも可能です。

:set tags または :set tags=./tags

コマンド実行後、次のようなメッセージが出ていればOKです。

tags=./tags,./TAGS,tags,TAGS

タグジャンプしてみる

ここまでくれば、vimでソースコードのタグジャンプができるようになります。ざっくりとした使い方は以下の通り。

「Ctrl+]」:定義にジャンプ
「Ctrl+o」または「Ctrl+t」または「:pop」:元の場所に戻る

実際に使ってみるとかなり快適です。これまでチマチマと関数名で検索して定義を探して…ということをしていたので、一気にコード読みが楽になりました。

作業の効率化という面でもかなり効果ありそうです(・∀・)

ではではノシ

関連記事

日記 自作物

2020/5/14

GitHubのコントリビューション数をグラフ化してみた

先日、ブログのトップページにGitHubの草を表示してみたという記事をあげました。 Corgi Lab. ~備忘録のための技術ブログ~ブログ内にGithubの草を生やしてみた今回はちょっとした小ネタです。お気づきの方もいるかもしれませんが、PC限定でブログのページ上部にGithubのコントリビューションを表示してみました。俗にいう「草を生やす」というやつです。特に深い意図はありませんが、これがあるだけでぐっと技術系ブログ色が... GitHubの草(コントリビューション)は日々の活動が可視化されるので、個 ...

この記事を読む

RaspberryPi

2020/5/6

Raspberry Pi4上のUbuntu ServerでCPUクロックを制限する方法

Raspberry Pi4は消費電力が大きく発熱がちょっと心配です。そのため、用途によっては意図的にCPUの動作クロックを絞って消費電力と発熱を抑えるという運用もアリかと思います。 CPUクロックの設定方法の多くはRaspbianを例に挙げていますが、Ubuntu Serverでも同じ方法で設定できたので、備忘録として残しておきたいと思います。 動作環境は、 ・Raspberry Pi4本体:モデルB(メモリ4GB) ・OS:Ubuntu Server 20.04 です。 目次CPU状態のチェッククロック ...

この記事を読む

RaspberryPi Linux

2020/5/2

RaspberryPi4でUbuntu Server 20.04を動かしてみた

新しい遊び道具として、RaspberryPi4(ModelB 4GBメモリ)を買いました。 前モデルと比べて大幅に性能アップしているということで、学習用のLinux環境としても実用的なものになりそうです。ということで、今回はRaspbian(ラズパイの標準OS)ではなく、Ubuntu Serverをインストールして使ってみたいと思います(・∀・) 目次OSイメージのダウンロードSDカードにイメージを書き込む初期起動+設定固定IPアドレスを設定する OSイメージのダウンロード まずはUbuntu Serve ...

この記事を読む

日記

2020/5/14

ブログ内にGithubの草を生やしてみた

今回はちょっとした小ネタです。 お気づきの方もいるかもしれませんが、PC限定でブログのページ上部にGithubのコントリビューションを表示してみました。俗にいう「草を生やす」というやつです。 特に深い意図はありませんが、これがあるだけでぐっと技術系ブログ色が強まるので、遊び半分で組み込んでみました。そこまで難しくないので、その方法を紹介しようと思います。 目次生やすだけなら簡単ちょっとひと工夫画像の取得はwget+Cronであとはブログ内に貼るだけ後日談:自分でグラフをつくってみました 生やすだけなら簡単 ...

この記事を読む

Flutter

2020/4/12

【Flutter】リリースチャンネルについて調べてみた

この記事を書いている2020/04/12時点で、FlutterのiOS実機ビルドが以下のようなエラーで通らなくなっています(´・ω・) Building for iOS, but the linked and embedded framework 'App.framework' was built for iOS Simulator. どうやら、最新のXcode11.4とstableチャンネルの組み合わせが原因らしく、Flutterのチャンネルを切り替えてあげればOKとのことでした。 とりあえず、stab ...

この記事を読む

-Linux

© 2020 Corgi Lab. ~備忘録のための技術ブログ~