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
|
||||
|
||||
```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
|
||||
|
||||
Reference in New Issue
Block a user