zsh

zsh: /usr/libexec/path_helperから逃れる方法 2020年版

zsh

macOSには /usr/libexec/path_helper というスクリプトがあり、これは /etc/zprofile で実行されOSがPATHをよしなに設定するというものだが、ユーザーが追加したパスより優先度高く追加するようになっており、かなり傍迷惑。 /usr/local/binなどより任意のパ…

便利 zsh 設定 N 連発

zsh

シェルなどの設定の知見が意外と広まってないよね、ということで話題になったので書きました。 :q で exit https://github.com/aereal/dotfiles/blob/1be211fcda027f75b0624eab2c44a288f8e0691e/.zshrc#L174Vim 使っていると :q したくなるので alias をつく…

rbenv など *env でどの設定 (global, local, shell) を参照しているか知る

zsh

rbenv *1 は rbenv version-origin というサブコマンドがあり、それは「rbenv がバージョンを決定するのに使われた設定」を出力する。出力は次の3つのうちのいずれかとなる。すなわち: global の設定 $HOME/.rbenv/version ディレクトリごとの設定 (local) $…

pkgutil(1) の zsh 補完関数を書いた

自分は zsh の補完関数をシェルのプロンプトからシームレスに読めるドキュメントだと考えているので、コマンドを使う頻度に関わらず補完関数の存在に頼っているところが大きい。最近使う機会がいくらかあったので pkgutil(1) の補完関数を書いた。dotfiles/.…

Git リポジトリのトップからの相対パスをプロンプトに表示する

zsh

今、どこにいるか知りたいので、zsh のプロンプトにワーキングディレクトリを表示している。しかし、リポジトリの中ではそのリポジトリがどこにあるかということはあまり重要ではなくて、リポジトリの中のどのディレクトリにいるか、ということのほうが重要…

Git のようにサブコマンドごとに分割された man を自然に開く

zsh

Open Git's man pages wisely · 5f5c909 · aereal/dotfiles · GitHubGit の man はサブコマンドごとに分割されている。たとえば git filter-branch だと man git-filter-branch のような。ただ、普段ハイフンを入れないところに入れるのは戸惑うので man git…

Zsh の補完関数を更新したあとにやる

zsh

rm -f ~/.zcompdump compinit

べんりなユーザ定義補完関数を使う

zsh

zsh-users/zsh-completions · GitHub GitHubにあるzsh-usersというOrganizationがべんりそうなユーザ定義補完関数を集めたリポジトリを公開しているのでこれを使ってみる。 $ mkdir -p ~/.zsh $ git clone git://github.com/zsh-users/zsh-completions.git ~…

CUIで楽しい一夫多妻制生活をはじめよう

zsh

geekはプロンプトに「俺の嫁」を置き、一日中ちゅっちゅさせるものなんだとか。また、プロンプトにおさまるような簡素なAAで表現される嫁をより品があり格が高いと考える文化があるんだとか。美少女がたくさんいて、誘惑の多い世界ですから、「俺の嫁」なん…

zsh

% sudo apt-get install lighttpd{,-dev,-doc} # ここでTab % sudo apt-get install lighttpd lighttpd-dev lighttpd-doc実は、それほどzshの「すごい機能」を使っていないのかもしれない。せいぜい補完がべんりなシェル、くらいの認識なのかもしれない。も…