Closed KSR-Yasuda closed 4 weeks ago
vimgrep / lvimgrep で、検索対象ファイルを設定するとき の話です。 tcd と lcd が一致していないとき、 うまくファイルが開けない気がします。
vimgrep
lvimgrep
tcd
lcd
tcd = lcd が一致しているケース だと 大抵 意図通り 動作するので、 今のところ、意図的に そういう使い方をしています。
このあたりの挙動について、ご存じであれば ご教示いただきたいです。
自分でも あまり整理ができておらず、混乱していますが、 見たところ、以下のような感じです。
例えば、以下のようなディレクトリ構成で、 tcd = . ; lcd = ./d にいたとします。
.
./d
./ `-- d/ |-- fuga.txt `-- hoge.txt
このとき、:vimgrep /SEARCH_STRING/ PATH の PATH の部分を 以下で試しても、 成功が まちまちです。
:vimgrep /SEARCH_STRING/ PATH
PATH
*.txt
d/*.txt
/absolute/path/d/*.txt
絶対パス を与えた場合でも、どうも ファイルをうまく開けていないようです。
fuga.txt "fuga.txt" [新] /absolute/path/d ファイル "fuga.txt" を開けません "hoge.txt" [新] /absolute/path/d ファイル "hoge.txt" を開けません E480: 該当はありません: hoge
vimgrepコマンドの実行を、コマンドウィンドウを開いて実行したり などでも、挙動に影響を受けている気がします:
q:
:
Ctrl-F
pwd
9.0.1403 (以前から なので、8系でも 同様かと思います)
特になし
Linux(Ubuntu 20.04)でも再現しました。
Reported. https://github.com/vim/vim/issues/12520
原因分かりました。今週末にはpatch書いてPR出せると思います。
この問題は、2024-04-07 に 9.1.0272 で修正されました。
ご対応 ありがとうございます😄
質問の内容
vimgrep
/lvimgrep
で、検索対象ファイルを設定するとき の話です。tcd
とlcd
が一致していないとき、 うまくファイルが開けない気がします。tcd
=lcd
が一致しているケース だと 大抵 意図通り 動作するので、 今のところ、意図的に そういう使い方をしています。このあたりの挙動について、ご存じであれば ご教示いただきたいです。
自分でも あまり整理ができておらず、混乱していますが、 見たところ、以下のような感じです。
例えば、以下のようなディレクトリ構成で、
tcd
=.
;lcd
=./d
にいたとします。このとき、
:vimgrep /SEARCH_STRING/ PATH
のPATH
の部分を 以下で試しても、 成功が まちまちです。*.txt
(lcd
的には 相対パスで 正しい)d/*.txt
(tcd
的には 相対パスで 正しい)/absolute/path/d/*.txt
(絶対パス で指定)絶対パス を与えた場合でも、どうも ファイルをうまく開けていないようです。
vimgrep
コマンドの実行を、コマンドウィンドウを開いて実行したり などでも、挙動に影響を受けている気がします:q:
または:
→Ctrl-F
) ケースだと、大抵 失敗:
) 実行するケースだと、場合により 成功?pwd
が別のウィンドウ に移動していると、失敗Vimのバージョン
9.0.1403 (以前から なので、8系でも 同様かと思います)
OSの種類/ディストリ/バージョン
使用している or 関係していそうなプラグイン
特になし
その他