#!/bin/sh # fzf-man: fuzzy search manual pages if [ "$OPENFLAG" = 0 ]; then input="$*"; page="${input%%)*}"; name="${page%%[ (]*}"; section="${page#*(}" if [ "$name" = "$section" ]; then man "$name" else man "$section" "$name" fi; exit fi [ -z "$FZF_HISTDIR" ] && export FZF_HISTDIR="${XDG_STATE_HOME:-$HOME/.local/state}/fzf" mkdir -pv "$FZF_HISTDIR" export FZF_HIST="$FZF_HISTDIR/manual_history" apropos -l "${@:-.}" | fzf --history="$FZF_HIST" --prompt="man: " \ --preview='MANWIDTH=$FZF_PREVIEW_COLUMNS OPENFLAG=0 fm {}' \ --preview-window="hidden" --tiebreak="begin" \ --bind 'ctrl-v:toggle-preview,ctrl-space:toggle-preview' \ --bind 'enter:execute(echo {1} >> "$FZF_HIST"; OPENFLAG=0 fm {})'