m/fzf
1
0
mirror of https://github.com/junegunn/fzf.git synced 2025-11-17 15:53:39 -05:00

Updated Examples (markdown)

lime-desu
2022-10-10 04:35:15 +00:00
parent 970970c1d5
commit aae380ee38

@@ -1283,26 +1283,44 @@ uninstall() {
```
### DNF
```sh
# Fuzzy search the available DNF packages and install the selected package/s.
dnfzf-install() {
dnf repoquery -Cq --queryformat '%{name}' |
fzf --multi \
--with-nth=1 \
--preview-window 'right,65%,wrap' \
--preview 'dnf -C --quiet info {1}' | xargs -ro sudo dnf install
}
```
Interactively Install, Remove and Search DNF packages via fzf
```sh
# List all the packages then remove or uninstall the selected package/s.
dnfzf-remove() {
rpm -qa --qf '%{NAME}\n' |
fzf --multi \
--preview-window 'right,65%,wrap' \
--preview 'rpm -qa --info {1}' | xargs -ro sudo dnf remove
}
#!/bin/bash
## [0m...4m] == [Normal, Bold, Dim, Italic, Underlined]
declare -r esc=$'\033'
declare -r reset="${esc}[0m"
declare -r red="${esc}[1m${esc}[31m"
# for query and preview color consistency change the 34->36 from blue to "glaucous" (color name)
declare -r blue="${esc}[1m${esc}[34m"
DNF_INS_QRY="dnf -Cq repoquery --qf '${blue}%{name}'"
DNF_RMV_QRY="dnf -Cq repoquery --qf '${red}%{name}'"
DNF_RMV_PRVW="dnf --color=always -Cq --installed info {+}"
DNF_INS_PRVW="dnf --color=always -Cq info"
# Delete tmp file used to determine install/remove mode
rm -f /tmp/.dnfzf_rm &> /dev/null
FZF_DEFAULT_COMMAND="$DNF_INS_QRY" \
fzf --ansi \
--query=$* \
--multi \
--preview-window="right,65%,wrap" \
--preview="$DNF_INS_PRVW {1}" \
--prompt=" Install packages > " \
--header="<Alt-r> Remove | <Alt-i> Install" \
--bind="enter:execute(if [ -f /tmp/.dnfzf_rm ]; then sudo dnf remove {+}; else sudo dnf install {+}; fi; read -n 1 -s -r -p 'Press any key to continue...' && echo)" \
--bind="alt-r:unbind(alt-r)+reload($DNF_RMV_QRY --installed)+change-prompt( Remove packages > )+execute-silent(touch /tmp/.dnfzf_rm)+rebind(alt-i)+change-preview:($DNF_RMV_PRVW {+})" \
--bind="alt-i:unbind(alt-i)+reload($DNF_INS_QRY)+change-prompt( Install packages > )+execute-silent(rm -f /tmp/.dnfzf_rm)+rebind(alt-r)+change-preview:($DNF_INS_PRVW {+})"
```
#### Usage:
<kbd>Alt+i</kbd> to switch on Install mode
<kbd>Alt+u</kbd> to switch on Remove mode
### v