autojumpよりz.shのほうがPythonなしで動いて良いよ


zsh使いなら効率改善のため知っておきたいAUTOJUMPで話題になっているautojumpですが、zshの機能を拡張する割にはPythonが必要だったりしてインストール手続きがちょっと面倒くさいです。

単純なcd履歴のジャンプなら、zがほぼ同じ事ができて、zsh単体でやってくれるので導入も簡単です。.zshディレクトリにz.shをおいて、.zshrcに以下のように書くだけ。自分はzは打ちづらいので「_Z_CMD=j」を足して、jに置き換えてます。


_Z_CMD=j
source ~/.zsh/z.sh
precmd() {
  _z --add "$(pwd -P)"
}

zは、たくさんの人がforkしてて独自に手を入れていたりするので、自分は現時点で一番更新入ってそうなrupaさんのを使ってますが、他の人のリポジトリもチェックしておいたほうがいいかもしれません。

いろんな人がforkしてるz.sh

追記:2012-03-03 21:14

補完がうまくいかない(候補がquoteされてしまう)という話を聞いてちょっと調べてみたら、107行目を以下のように変更するとちゃんと補完されるようになりました。


diff --git a/zsh/z.sh b/zsh/z.sh
index 1443a6f..919d49f 100644
--- a/zsh/z.sh
+++ b/zsh/z.sh
@@ -104,7 +104,7 @@ _z() {
     } else {
      for( i in fnd ) $1 !~ fnd[i] && $1 = ""
     }
-    if( $1 ) print "\"" $1 "\""
+    if( $1 ) print $1
    }
   ' "$datafile" 2>/dev/null

Issue #46: z tab complete adding an open quote · rupa/z

投稿者: halt

PHPプログラマ。

“autojumpよりz.shのほうがPythonなしで動いて良いよ” への 30 件のフィードバック

  1. LION 付属の zsh 4.3.11 使ってるけど、j のあと補完すると、j \"/foo/var\" などとクオートされてしまう。brew でインストールしちゃったし、私はautojump でいいかな。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ねこ認証:9つのパネルの中からねこを3匹選んでください