From 90c01434efca13341ea209e644bc6a45a35e6a3a Mon Sep 17 00:00:00 2001 From: Dmytro Meleshko Date: Mon, 14 Sep 2020 17:45:20 +0300 Subject: [PATCH] [zsh] save the real "man" command to history when F1 is pressed --- scripts/fzf-search-manpage | 4 ++++ scripts/visman | 5 ++--- zsh/zle.zsh | 4 +++- 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100755 scripts/fzf-search-manpage diff --git a/scripts/fzf-search-manpage b/scripts/fzf-search-manpage new file mode 100755 index 0000000..1199656 --- /dev/null +++ b/scripts/fzf-search-manpage @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +set -eu +# https://superuser.com/a/207474 +apropos . | fzf --no-multi --tiebreak=begin --query="$*" | sed -n 's/^\([^ ]\+\) \?(\([^)]\+\)).*$/\2 \1/p' diff --git a/scripts/visman b/scripts/visman index d14c278..6de69fe 100755 --- a/scripts/visman +++ b/scripts/visman @@ -1,4 +1,3 @@ -#!/bin/sh +#!/usr/bin/env sh -# https://superuser.com/a/207474 -man $(apropos . | fzf --no-multi --tiebreak=begin --query="$*" | sed -n 's/^\([^ ]\+\) \?(\([^)]\+\)).*$/\2 \1/p') +man $(fzf-search-manpage) diff --git a/zsh/zle.zsh b/zsh/zle.zsh index 74c3c4f..fd96c33 100644 --- a/zsh/zle.zsh +++ b/zsh/zle.zsh @@ -154,7 +154,9 @@ local words=("${(@z)BUFFER}") local cmd_name="${words[1]}" zle push-line - BUFFER="visman ${(q)cmd_name}" + local manpage="" + manpage="$(fzf-search-manpage "$cmd_name")" + BUFFER="man $manpage" zle accept-line } zle -N find-man-page _widget_find_man_page