1. Qiita
  2. 投稿
  3. Zsh

zsh の分からないフラグ類を man から素早く探す

  • 7
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

以下の記事が目からウロコだったので触発されました。

zsh といえばフラグを使った黒魔術ですよね。

  • 変数展開フラグ (Parameter Expansion Flags)
  • 編集子 (Modifiers)
  • グロブフラグ (Globbing Flags)
  • グロブ修飾子 (Glob Qualifiers)
  • などなど

というわけでフラグ類を調べるバージョンを考えてみました。

.zshrc
zfman() {
    local w='^'
    w=${(r:8:)w}
    w="$w${(r:7:)1}|$w$1(\[.*\].*)|$w$1:.*:|$w$1/.*/.*"
    PAGER="less -g -s '+/"$w"'" man zshall
    echo "Search word: $w"
}
$ zfman h

qiita_zfman02.png

$ zfman j

qiita_zfman01.png

なお、発展途上につき全てに対応できていないかもしれません。

自分がよく使うものはこれでだいたい検索できるなぁぐらいしか確認していないので、他に検索できないパターンがあれば教えて下さい。

まとめ

参考元と合わせて以下のようにすると、使いやすいと思う。

.zshrc
## man zshall
# zman [search word]
zman() {
    if [[ -n $1 ]]; then
        PAGER="less -g -s '+/"$1"'" man zshall
        echo "Search word: $1"
    else
        man zshall
    fi
}

# zsh 用語検索
# http://qiita.com/mollifier/items/14bbea7503910300b3ba
zwman() {
    zman "^       $1"
}

# zsh フラグ検索
zfman() {
    local w='^'
    w=${(r:8:)w}
    w="$w${(r:7:)1}|$w$1(\[.*\].*)|$w$1:.*:|$w$1/.*/.*"
    zman "$w"
}