いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

vimで開きたいファイルをvimに探してもらうようにする (:set path, :find, :tabfind)

f:id:gsf_zero1:20211217140202g:plain

以前の記事

vimでカーソル位置の単語をコマンド行に挿入 - いろいろ備忘録日記

現場でvim慣れていない人が知っておくと便利なTips - いろいろ備忘録日記

vim の3種類のビジュアルモード (v, V, Ctrl-v) - いろいろ備忘録日記

vim のビジュアルモードで使える o コマンド(端点移動) - いろいろ備忘録日記

vimで関数の中身を全部削除するコマンド (Inner Block, di{, ci{, vi{ ) - いろいろ備忘録日記

プログラミング時に便利なvimの選択モーション (i{, i(, i[, i", it) - いろいろ備忘録日記

プログラミング時に便利なvimのビジュアルモードコマンド (I, A, X, c) - いろいろ備忘録日記

vimのコマンドラインモードで一気に編集する (vim, command line mode, range) - いろいろ備忘録日記

vimでファイルの最後から始める (option, +) - いろいろ備忘録日記

vimでアクティブファイルのディレクトリを使って別のファイルを開く (%:h) - いろいろ備忘録日記

概要

よく忘れるのでここにメモメモ。。。知っているとちょっと楽できます。

前回、

devlights.hatenablog.com

というので、%:h を使ってアクティブバッファのディレクトリを補完して他のファイルを開くというやり方を書いたのですが、実はこれより便利なやり方もあります。個人的には今回のやり方の方がよく使いますね。

vimにはpathという設定項目があります。何かのファイルを探すときの場所が指定されている項目です。

この項目にソースコードなどの編集対象が格納されているディレクトリを指定するとファイルを探すときの候補になってくれます。

以下のように指定します。

:set path+=/workspace/try-golang/examples/**

上では絶対パスで指定していますが、カレントディレクトリを動かない場合は set path+=examples/** とかでもオッケイです。

これでファイルを探すときの候補に上の場所が追加されました。

vimにファイルを探してほしいときは :find を使います。

なので、

:find runtime_st

まで打ち込んでタブを押すと examples/basic/stacktrace/runtime_stack.go のように探し出してくれます。

これを知ると一気に便利になりますよ。

ちなみに、設定したpathの項目を除去したい場合は

:set path-=/workspace/try-golang/examples/**

-= で同じものを指定すれば除去されます。

補足

余談ですが、:find と同じ機能で見つかったらタブで開く :tabfind コマンドもあります。

これも便利です。

参考情報


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。