windowsの場合だけかもしれないが、デフォルトの設定ではうまく展開されないことがほとんど。そこで直接7-zipを使用するように設定する。
yazi.toml
[opener]
extract = [
{ run = '7z x %s', desc = "extract here (7z x)", for = "windows" },
{ run = '7zx.exe %s', desc = "to base-name dir (7zx.exe)", for = "windows" },
]
2個目の設定は、以下のスクリプトをexeファイルに変換したものを使用するものである。
7zx.ps1
param([Parameter(Mandatory)]$f)
7z x -mcp=932 $f ("-o" + (Get-Item $f).BaseName)
アーカイブファイル名から拡張子を除いた文字列を展開先のディレクトリとしている。
-mcpは文字化け防止。
変換したexeファイルはもちろんパスを通す必要がある。
7zx.ps1をpwsh -cで実行する設定も試みたが、ダブルクォーテーションが重なって不具合が生じた。
変換方法:https://qiita.com/denkiuo604/items/c55dc2bc34cdae9e35cf