タグ

zshに関するhamacoのブックマーク (61)

  • zsh で path にディレクトリを追加するときは (N-/) を付けよう - Qiita

    これでも間違いというわけではないんだけど、追加するディレクトリが存在しない場合も path に追加されて、結果として無駄なディレクトリが含まれている状態になってしまう。あんまりうれしくない。 でも zsh にはちゃんとそれを防ぐ方法があって、ディレクトリ名の後ろに (N-/) を付ければうまく解決できる。

    zsh で path にディレクトリを追加するときは (N-/) を付けよう - Qiita
    hamaco
    hamaco 2014/03/31
    使ってはいたけど詳しく知らなかったから勉強になる!
  • zsh で自分で作っている補完関数を簡単に再読み込みする - Qiita

    追記 ここで紹介した機能を持つ独立したプラグインを作成しました。 zsh で補完関数を作るときに便利な再読み込みするプラグインを作った - Qiita 格的に使うならこちらをおすすめします。 はじめに 自分で zsh の補完関数とかを作る時に便利な関数を作ったので紹介する。 これは何? zsh の補完関数を作ったとき、当然それを呼び出して確認してってする。でもその準備がけっこうめんどくさい。 まず、その補完関数を fpath の通ったところに置かないといけない。 例えばカレントディレクトリの中に _my-command という補完関数を作っているとして

    zsh で自分で作っている補完関数を簡単に再読み込みする - Qiita
    hamaco
    hamaco 2014/03/23
  • よく使うディレクトリをブックマークする zsh のプラグイン - Qiita

    Qiita 見てたらこんな投稿を見つけた。 Zsh - よく作業するDirをBookmarkするshellスクリプト - Qiita だいたい、よく使うディレクトリに cd したいとき cd ~/work/project/ruby/web とか長い名前を打つのはめんどくさい。$CDPATH を通しておくっていう手もあるけど、タブで補完したときに候補がいっぱい出たりして微妙に便利じゃない。そんなときにこれを使えばディレクトリの移動が簡単になる。 ちょっと改良の余地があるというか、タブで補完できるようにしたらもっと便利になると思って、独立した zsh のプラグインとして書き直したので紹介する。 このプラグインでできること cd-bookmark というプラグインを作った。これをインストールすれば cd-bookmark というコマンドが使えるようになる。 こいつを使えばよく使うディレクトリに別

    よく使うディレクトリをブックマークする zsh のプラグイン - Qiita
    hamaco
    hamaco 2014/03/19
  • シェルスクリプトで対話的な選択を出来るようにするスクリプトを作った:sentaku

    B! 25 0 0 0 最近作り直してた multi_clipboard、 sd_cl、 trashで使っていた シェルスクリプトでの対話的な選択画面を他でも簡単に使える様にしてみました。 sentaku 単体で使う ライブラリみたいに使う Examples スニペットツールみたいに使う ファイルエクスプローラー メニュープログラム ゲーム まとめ sentaku 名前に困ったので日語で。 Bash (3.X以降)とZsh (4.X以降)で動くことは確認してあります。 (何かおかしかったら教えてください。) 単体で使う スクリプト単体だとそのまま実行しても何もしませんが、 lsなんかの出力をパイプで渡してあげる下のgifみたいな感じで選んで、 選んだものを出力できます 1。 最後に返される値だけが標準出力で、 他の選択画面は直接端末(/dev/tty)に送られるので、 上にある例のように

    シェルスクリプトで対話的な選択を出来るようにするスクリプトを作った:sentaku
  • Macで時間のかかるコマンドが終わったら、自動で通知するzsh設定 - Qiita

    概要 実行時間の長いコマンドが終わったら、Mac の Notification Center (Growl にするのも可能) で通知がくる。Terminal.app と iTerm 2 に対応している。 通知の様子。30秒を超えるコマンドが通知されている。 30秒を超えないコマンドでも、失敗したら通知される。 どちらもターミナルがバックグラウンドのときのみ通知される。長いコマンドを投げてから twitter とか見てたらいつのまにか時間が経ってしまうような人に便利。 1. 準備 Notification Center に通知する場合 alloy/terminal-notifier をインストールする。コマンドから Notification Center に通知をするためのアプリ。 Releases から .app をインストールしてもよいし、Download にあるように RubyGems

    Macで時間のかかるコマンドが終わったら、自動で通知するzsh設定 - Qiita
    hamaco
    hamaco 2014/01/30
  • https://qiita.com/y_uuki/items/5e2ece92370b424f1f1d

    hamaco
    hamaco 2014/01/30
  • zsh で編集子を使ってグロブ展開とかをその場で編集する - Qiita

    zsh には編集子(modifiers)というのがある。 こいつを使うと、グロブ展開(ワイルドカード展開)の結果をいろいろと編集できるようになる。 簡単な例 とりあえず例を見てもらったほうが早いと思う。 # 今このディレクトリにいる % pwd /home/mollifier/tmp # ファイルが2つある % echo * fuga.txt hoge.txt # :a は編集子の一種で、フルパスに変換する % echo *(:a) /home/mollifier/tmp/fuga.txt /home/mollifier/tmp/hoge.txt # :r も編集子の一種で、ファイルの拡張子の部分を取り除く % echo *(:r) fuga hoge # 並べて書けば2つ以上使うこともできる % echo *(:a:r) /home/mollifier/tmp/fuga /home/mo

    zsh で編集子を使ってグロブ展開とかをその場で編集する - Qiita
    hamaco
    hamaco 2014/01/09
  • zsh で 例外処理 - Qiita

    zsh はプログラム言語で言うところの try/catch のような例外処理ができるので紹介する。 シンプルな例 書き方はこんな感じ。 #!/bin/zsh autoload -Uz catch autoload -Uz throw { echo hoge throw 'MyException' echo fuga } always { if catch 'MyException'; then echo "catch MyException!" fi }

    zsh で 例外処理 - Qiita
    hamaco
    hamaco 2013/12/24
  • http://blog.uu59.org/2013-12-13-zsh-nullglob.html

    hamaco
    hamaco 2013/12/18
  • zsh で Git リポジトリのトップレベル ディレクトリに cd するプラグイン - Qiita

    Git リポジトリの中にいるときに、トップレベルのディレクトリに移動したくなることがある。それを1回のコマンドで簡単にできるようなプラグインを作ったので紹介する。 このプラグインでできること cd-gitroot というプラグインを作った。これをインストールすれば cd-gitroot というコマンドが使えるようになる。 使っている様子はこんな感じ。 # こんな感じで Git リポジトリの中にディレクトリがあったとする # doc/ # src/ # |-scripts/ # `-web/ % cd /home/mollifier/git_repo % cd src/web % pwd /home/mollifier/git_repo/src/web # リポジトリの奥の方にいる時でも、すぐにトップに移動できる % cd-gitroot % pwd /home/mollifier/git_

    zsh で Git リポジトリのトップレベル ディレクトリに cd するプラグイン - Qiita
    hamaco
    hamaco 2013/12/18
    便利
  • bundle exec を打たなくて良くなる zsh プラグイン書いた - Qiita

    エントリでは僕が初めてつくった zsh プラグインを紹介します. Ruby を使っている人なら bundler のお世話になっている方が多いと思いますが, その bundler をより便利に使うためのプラグインになります.Ruby を使わない方 には直接は関係ないですが,アイデアは応用できるかもしれません. Bundler の問題点 Bundler は gem の依存関係をローカルな範囲で管理できる gem で,Rails を始め色々 なところで使われています.この bundler を使う上で,面倒くさいことの1つが bundle exec です. bundler でインストールされた gem をコマンドラインから実行する場合,$PATH が通っていないため, 実行する場合は bundle exec を使う必要があります. 例えば,railsbundler でインストールした場合,

    bundle exec を打たなくて良くなる zsh プラグイン書いた - Qiita
    hamaco
    hamaco 2013/12/03
    これ便利。
  • zsh で find を使わずに簡単にファイルを絞り込む - Qiita

    ファイルの種類、タイムスタンプなんかで条件を指定してファイルを絞り込みたくなる時があるだろう。例えばこんな場合だ。 通常ファイルだけを別の場所に移動させる(ディレクトリはそのまま残す) シンボリックリンクだけ削除する タイムスタンプが1日以上古いファイルだけ削除する こういうときは普通は find コマンドでファイルを探すんだけど、zsh の「ファイル修飾子」を使うと1行で簡単にできるようになるので紹介する。 ファイル修飾子とは 「ファイル名修飾子」とは、ファイル名指定の後に付けるファイルの種類で絞り込みを行うための記号のこと。 例えばこんな感じ。

    zsh で find を使わずに簡単にファイルを絞り込む - Qiita
    hamaco
    hamaco 2013/12/02
  • zshプロンプトで今いるレポジトリに下線が出るようにした – まなドット

    上記画像のように、zshのプロンプトのパス部分で今いる場所に下線を引きます。 この記事は こちら の記事の内容を参考にさせていただきました。 上記参考記事をみて、これは便利そうと思いはじめ丸写ししようと思ったのですが、 上記記事のやり方だと /home/repo/hoge/repo でrepoがレポジトリ名の場合に両方に下線を引いてしまいそうであったので、 内容を理解しながら自分で改良してみました。 autoload -Uz vcs_info zstyle ':vcs_info:*' max-exports 3 zstyle ':vcs_info:*' formats '%s:%b ' '%r' '%R' precmd () { LANG=en_US.UTF-8 vcs_info psvar=() [[ -n ${vcs_info_msg_0_} ]] && psvar[1]="$vcs_

    hamaco
    hamaco 2013/11/29
    試し中
  • GitHub - rhysd/zsh-bundle-exec: No longer need to type in 'bundle exec'.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - rhysd/zsh-bundle-exec: No longer need to type in 'bundle exec'.
  • zsh で Git の man を素早く見る - Qiita

    例えば Git の status コマンドを man で調べようと思ったら、普通は man git-status って打たないといけない。でもそんなに長いのは打ってられない。それに alias を設定して g s で git status になるようにしてたりするので、man g s みたいな感じで man を見れるようにしたい。 そんなときはこれを zshrc に書いておけば OK。

    zsh で Git の man を素早く見る - Qiita
    hamaco
    hamaco 2013/11/10
  • zshのプロンプトにジョジョの奇妙な冒険ASBトレインの最新状況を表示する - Qiita

    $ curl "http://jojoasbtrain.jp/api/getTrainInfo" {"success":true,"status":220,"data":{"update":"2013.08.30 15:17","news":"8\/30 \u305f\u3060\u3044\u307e\u8eca\u4e21\u57fa\u5730\u3067\u4f11\u61a9\u4e2d\u30c3!!"}}% $ curl -s "http://jojoasbtrain.jp/api/getTrainInfo" | jq "." { "data": { "news": "8/30 ただいま車両基地で休憩中ッ!!", "update": "2013.08.30 15:17" }, "status": 220, "success": true }

    zshのプロンプトにジョジョの奇妙な冒険ASBトレインの最新状況を表示する - Qiita
    hamaco
    hamaco 2013/08/30
  • zsh の補完関数で キャッシュ機能(cache-policy) を使う - よんちゅBlog

    今回は grunt コマンドの補完関数を例として キャッシュ機能(cache-policy) について解説していきます。 grunt については知らなくても大丈夫だと思います。 キャッシュ機能(cache-policy) についての解説がメインなので、zsh 補完関数の基的な説明は省略します。 その代わり、コード内にコメントで簡単な説明を書きましたのでそちらを参考にして下さい。 ※ とても長い記事なので、誤字脱字があるかもしれません。ご容赦下さい。m(_ _)m (見つけたら教えてくれると助かります) はじめに grunt には標準で bash の補完がついています。 しかし、zsh 用の補完関数は無く、bash の補完と同じ方法で実装したのではオプションやタスクの説明が表示されません。 オプションの説明はベタ書きでいいとしても、タスクの説明はそうはいきません。 ということで作成したのが

    zsh の補完関数で キャッシュ機能(cache-policy) を使う - よんちゅBlog
    hamaco
    hamaco 2013/08/23
  • 話題の jq を便利に使う zsh の補完ファイルを書いた - Qiita

    jq というコマンドがある。JSON をいい感じに読みやすくしてくれるコマンドラインツールだ。 Web の API を呼び出してテストするときとかに便利。 でも --help をつけてもヘルプメッセージがしょぼい感じで、使い方がよく分からなかった。なので zsh 補完ファイルを書いた。これでさくさくオプション指定できるようになる。 zsh-users/zsh-completions (https://github.com/zsh-users/zsh-completions) に pull request を送ったのでそのうち取り込まれると思う。 自分でインストールして使う方法は以下。 補完ファイルをダウンロードする。 Gist に貼りつけた ので、そこから補完ファイルをダウンロードする。ファイル名は _jq にする。 _jq を適当な場所に配置する。 保存場所はどこでも良い。今回は $HO

    話題の jq を便利に使う zsh の補完ファイルを書いた - Qiita
    hamaco
    hamaco 2013/07/30
  • bash/zsh のパラメータ展開(#, %)の覚え方いろいろ - Qiita

    bash/zsh では パラメータ展開の # と %を使って Prefix または Suffix を削除することができます。 $ var='hogefuga' # Prefix削除 $ echo "${var#hoge}" fuga # Suffix削除 $ echo "${var%fuga}" hoge シェルスクリプトではよく使う手法ですが、意外と覚えづらく、特にどちらが Prefix削除 でどちらが Suffix削除 なのか忘れてしまいがちです。(私だけ? 先日そんな悩みを Twitter で吐露したところ、3名の親切な方が覚え方を伝授してくれました。 その覚え方がなかなかユニークで覚えやすかったので紹介します。 # はコメントを表す記号なので Prefix(先頭)削除 # を番号記号と考えて #30 のように使うので Prefix(先頭)削除 % はパーセンテージを表す記号で、30

    bash/zsh のパラメータ展開(#, %)の覚え方いろいろ - Qiita
  • Enter で ls と git status を表示すると便利 - Qiita

    とある方の "エンターだけで ls と git status 表示するようにしてある" というつぶやきを見て便利そうだと思ったのでやってみました。 基的なやり方は以下の記事が参考になりました。 zshでコマンドが空の状態でenter押したときに任意のコマンドを実行する方法 - kei_q ただ、上記方法では私の環境の場合、プロンプトが1回余分に表示されてしまって気持ちが悪いので、その辺りも手を加えました。 Installation 以下スクリプトを .zshrc に記述すれば、何も入力されていない状態で Enter を打つだけで ls と git status が表示されるようになります。 function do_enter() { if [ -n "$BUFFER" ]; then zle accept-line return 0 fi echo ls # ↓おすすめ # ls_abb

    Enter で ls と git status を表示すると便利 - Qiita
    hamaco
    hamaco 2013/07/22