mirror of
https://github.com/junegunn/fzf.git
synced 2025-11-17 15:53:39 -05:00
Updated Examples (markdown)
52
Examples.md
52
Examples.md
@@ -1283,26 +1283,44 @@ uninstall() {
|
|||||||
```
|
```
|
||||||
### DNF
|
### DNF
|
||||||
|
|
||||||
```sh
|
Interactively Install, Remove and Search DNF packages via fzf
|
||||||
# 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
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# List all the packages then remove or uninstall the selected package/s.
|
|
||||||
dnfzf-remove() {
|
#!/bin/bash
|
||||||
rpm -qa --qf '%{NAME}\n' |
|
|
||||||
fzf --multi \
|
## [0m...4m] == [Normal, Bold, Dim, Italic, Underlined]
|
||||||
--preview-window 'right,65%,wrap' \
|
declare -r esc=$'\033'
|
||||||
--preview 'rpm -qa --info {1}' | xargs -ro sudo dnf remove
|
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
|
### v
|
||||||
|
|||||||
Reference in New Issue
Block a user