zsh タグの一覧です(2 件)

[Zsh]Zshでよく行くディレクトリに名前を付ける

最近 Alfred Workflow を自作しています。 Workflowを開発していると、Workflowがあるディレクトリへは頻繁に行き来するのですが、そのディレクトリが結構深いのでなんとかしたいと思い、autojumpz を動かそうとしたが自分の環境では動かず(何故...)。

途方に暮れていたところ、標準でディレクトリにエイリアスを付与する機能があることを知りました。確認したVersionは5.0.2です。


この通りにやれば問題無いのですが、フルパスを記述するのは面倒なので、カレントディレクトリで

hash -d hoge=`pwd`
としたほうが楽ですね。もしくは
hash -d hoge=$(pwd)
でもいけるかも。あと、登録した名前を確認するには
hash -d
自分で登録したもの以外にもいくつか出てきますね。

これ、ユーザーがインストールした時などに自動的に追加されたものなのかもしれない(未調査)なので自分で登録したものが発見できるようにプレフィックスを付けたり、先頭を大文字にするなど工夫したほうがよいのかもしれません。

削除するには

hash -dr
してあげれば良いです。元々登録されているものも一緒に消えるのですが、チルダ + TABすると復活します(これもドキュメント読んでもよくわからない...)。但し登録したものを個別に削除する方法は無いっぽい。

あと今回の目的とは少しずれますが、これも便利ですね(知らなかった)


[pip][zsh]zshでpipのタブ補完を実現させる

zshでpipのタブ補完が出来ることを最近知った。ドキュメントに普通に書いてあった。

基本、ドキュメント通りなのだけど、自分の場合は.zsh_file/.zshrc.pythonというふうにpython関係のzshrcはまとめているのでそちらに書いた(実際には標準出力をリダイレクションでファイルへ追記)

$pip completion --zsh

# pip zsh completion start
function _pip_completion {
  local words cword
  read -Ac words
  read -cn cword
  reply=( $( COMP_WORDS="$words[*]" \
             COMP_CWORD=$(( cword-1 )) \
             PIP_AUTO_COMPLETE=1 $words[1] ) )
}
compctl -K _pip_completion pip
# pip zsh completion end

pip completion --zsh すると上記のように標準出力されるので、>> .zshrc のようにしてあげればOK

freezeって打ちにくいなあって使うたびに思っていたのでもっと早く知りたかった


PAGE TOP