up::
ツール管理が主軸なら全部aquaでよくないか。Go製。
scoopと比べてバージョン管理できるのが強み。CLIのみ。
[Quick Start | aqua](https://aquaproj.github.io/docs/tutorial/
分かりにくいがaqua generate
で検索できる。aqua g
でもOK。
これは設定を書き込むコマンド。-i
を付けることで設定がaqua.yaml
に書かれる。
ないならそのディレクトリに行ってaqua init
で作れる。
aqua list | sls
でもよさそう……fuzzyじゃないが。
といってもグローバルツールが主軸だと思うので、-g
でグローバルインストールする方法。
まず環境変数AQUA_GLOBAL_CONFIG
にaqua.yamlへの絶対パスを指定。aqua -i -g
で設定したパスのaqua.yamlに書き込みが行われる。
書き込み終えたらaqua i -a
。
globalからインストールしたものは"~\AppData\Local\aquaproj-aqua\"
に入る。AQUA_ROOT_DIR
で変更可能。aqua info
で確認。
cliしかないのでそんな重くはない。
これだけだと動かないので、PATHを通す。
AQUA_ROOT_DIR\bin
にハードリンクがある。ここへの絶対パスを書く。
ハードリンクだからかここ以下のexeはeverythingに引っかからない。
uvやdenoはある。rustはなぜかPRが二年放置されている。
feat: add rust-lang/rust by suzuki-shunsuke · Pull Request 13012 · aquaproj/aqua-registry · GitHub
aqua.yamlを書き換えることでツールバージョンを変更できる。
インストールされたパッケージはaqua list -installed
aqua i -l
とするとシンボリックリンクだけが作られ、ツールコマンドを打ってそれが無かった時に初めてインストールするようになる。
CLI バージョンマネージャー aqua のススメ - Retty Tech Blog
アンインストールはaqua rm -m pl -g <packaage name>
。バージョンまでは指定しなくていい。
パッケージとリンクを削除するだけなので構成ファイルには残る。編集で消す。
nvim $env:AQUQ_GLOBAL_CONFIG
など。
ripgrep
ファイル全文検索。rg
。
ファイルの中身を見ることになるのでそんなに使わない。
obsidianが起動してなくても使える利点はあるが、インデックスを作らないらしく一文字間違えるとまた検索の手間がかかる。
拡張子指定は-g '*.txt'
。複数指定は波括弧とコンマ区切り。
GitHub - BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern while respecting your gitignore
fd
ファイル名検索。everythingと同等。
indexを作ったり管理者権限で動かしたりが無いので楽。
GitHub - sharkdp/fd: A simple, fast and user-friendly alternative to ‘find’
特定のパス以下
二番目の引数として与える。
特定の拡張子
-e
高速サブフォルダ以下ls
fd . /
隠しファイル込み
--hidden
, -H
.gitignore込み
--no-ignore
, -I
-Hと-Iを両方
-u
,--unrestricted
シンボリックリンク込み
-L
, --follow
ファイル名を完全一致
-g
コマンド実行
-x
。rmと組み合わせるなど。
-i
を付けると都度確認できる。
除外
-E
fzfに投げる
結果をパイプで投げるだけ。
GitHub - junegunn/fzf: :cherry_blossom: A command-line fuzzy finder