| pacman -Ss | 搜索包名 | |
|---|---|---|
| pacman -S | 安装包 | |
| pacman -R <包名> | 删除包 | |
| pacman -Rs <包名> | 删除包及其依赖 |
pacman -Q | fzf
pacman -Qe 列出显示安装的包,不包含依赖
# pacman: fzf search packages and install
psf() {
local pkgs
pkgs=$(pacman -Ss | \\
grep -E '^[^ ]+/' | \\
cut -d' ' -f1 | \\
fzf -m) || return
[ -z "$pkgs" ] && return
echo "pacman -S \\\\"
local last
last=$(echo "$pkgs" | tail -n1)
while read -r pkg; do
if [[ "$pkg" == "$last" ]]; then
echo " $pkg"
else
echo " $pkg \\\\"
fi
done <<< "$pkgs"
echo
read -q "REPLY?Install selected packages? [y/N] " || { echo; return; }
echo
if [[ $REPLY == [yY] ]]; then
pacman -S ${(f)pkgs}
else
echo "Cancelled"
fi
}