タグ

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

  • chpwd内のlsでファイル数が多い場合に省略表示する - Qiita

    zshではchpwd関数を定義することで、ディレクトリ移動後に任意のコマンドを実行することができます。 zshユーザの多くは、chpwd内でlsを実行するよう設定しているのではないでしょうか。 しかし、移動先のディレクトリに大量のファイルやディレクトリが存在していると、lsの結果で画面が一杯になってしまいます。 移動するたびにこれでは正直困ります。 そこでファイル数が多い場合には省略表示するchpwdの設定を紹介します。 どんな感じになるかというと… いかがでしょう、これでうっかりファイル数の多いディレクトリに移動してしまっても大丈夫です。 コードは以下 chpwd() { ls_abbrev } ls_abbrev() { if [[ ! -r $PWD ]]; then return fi # -a : Do not ignore entries starting with .. #

    chpwd内のlsでファイル数が多い場合に省略表示する - Qiita
    hamaco
    hamaco 2013/07/22
  • zawを使って最近更新したブランチをチェックアウトする - $shibayu36->blog;

    仕事でgit使っていてレビューとかしていると、どうもgitのブランチ切り替えがだるくなってくる。それで、zawで更新日時順でブランチが並んでいて、選択するとgit checkout出来ればすぐにブランチ切り替えが出来て便利ではと思いやってみた。 bindしたキーを押すと、更新日時順でブランチが表示されて、Enterを押すとチェックアウトする。更新日時順なので数回キーを押すだけで、チェックアウトしたいブランチに辿り着けることが多い。zawを使っているので絞り込みも出来る。 インストール zawを使っていれば、導入は簡単。 まずzawのsourceのディレクトリに以下のファイルを置く。もしくは適当なところに置いて、zawのloadの後にsourceを使ってloadする。 https://github.com/shibayu36/config-file/blob/master/.zsh/zaw-

    zawを使って最近更新したブランチをチェックアウトする - $shibayu36->blog;
    hamaco
    hamaco 2013/06/07
    便利そうだしzaw入れて使ってみようかな。
  • Why Zsh is Cooler than Your Shell

    Z shell (zsh) provides many powerful features out of the box that can make the shell experience more efficient and productive compared to other shells like bash. Zsh includes advanced tab completion for commands like git, path expansion and replacement, right-hand prompts, spelling correction, powerful aliases, extended globbing, environment variable editing, and programmable file renaming. It als

    Why Zsh is Cooler than Your Shell
    hamaco
    hamaco 2013/05/14
    cd の path replacement なんてあったのか……
  • zshのalias -s (suffix alias)が神な件 - プログラムモグモグ

    まず, 他のシェルをお使いの人にはごめんなさい. aliasコマンドの-sが使えるのは zsh 4.2.x- で, 他のシェルでは実装されていないと思います. あと, もう既に alias -s 知ってるよーって人は読まなくていいです. alias -s って何? 打ったコマンドの後ろ(suffix)を見て, 適当に宜しくやってくれるやつです. 次の例を見て下さい. ~$ echo "print ('hello, world')" > hello.py ~$ python hello.py hello, world ~$ alias -s py=python py=python ~$ ./hello.py hello, world ~$ Pythonのコードは python hello.py で実行出来ますが, お尻が py なら python を使います, とaliasしておけば, ./

    zshのalias -s (suffix alias)が神な件 - プログラムモグモグ
    hamaco
    hamaco 2013/02/28
    extractパクった。 atool使ってたけど入れるのめんどくさいし……
  • zsh の分かりにくい記号、用語のまとめ - Qiita

    zsh Advent Calendar もいよいよ最終日なった。便利な使い方とかがいっぱい載ってるので、まだの人は見てみると良いと思う。 こういう Advent Calendar とか便利な Tips とかの記事なんかは、読んでると自分なりにカスタマイズしたくなってくる。それに、単純にコピペするだけじゃなくて、何をやってるのかちゃんと理解したいって人も多いと思う。 でも、そういうときに困るのが、なんか変な記号みたいなのがいっぱいあって何やってるか分かんなくなること。 例えばこんな感じ。 意味わかんないし、(N-/) とかググってもうまく検索できない。 この手の記号とかはいっぱいあるし、知らないことがあるのはしょうがない。でも「調べ方が分からない」ってのはだいぶまずい。「知らなかったとしても必要なときに調べられる」ことが大事だと思う。 というわけで zsh の分かりにくい記号、用語をまとめて

    zsh の分かりにくい記号、用語のまとめ - Qiita
    hamaco
    hamaco 2012/12/27
    必要になった時に思い出したい
  • zsh の vcs_info に独自の処理を追加して stash 数とか push していない件数とか何でも表示する - Qiita

    zsh で Git 使ってる人はプロンプトにブランチ名とかを表示してる人も多いと思う。 zsh に標準で入ってる vcs_info っていうのを使うとだいたいいい感じにできるんだけど、できないことも当然ある。 例えば stash した数の表示には対応していないので、自分で無理矢理な感じで Git コマンドを呼び出してプロンプトに表示してる人もいると思う。 でも zsh 4.3.11 ぐらいから vcs_info に Hooks というのが追加されて、元の機能に自分で処理を追加できるようになってる。これを使うと好きなようにカスタマイズできるようになるので紹介する。 この記事でできるようになること こんなことがプロンプトに表示できるようになる。 使用しているバージョン管理システムの名前(svn, git, hg, ...) 現在のブランチ名 マージ失敗のエラー表示 さらに Git の場合は以下

    zsh の vcs_info に独自の処理を追加して stash 数とか push していない件数とか何でも表示する - Qiita
    hamaco
    hamaco 2012/12/11
    vcs_infoにHookとかあったのか。うーむ、遊んでると時間取られそうな機能だw
  • zsh でエイリアスとシンボリックリンクを突破してコマンドの実体を調べる - とある自宅警備員の酔狂録

    Linux, zsh まず基礎をばzsh では where は whence -ca と等価 which は whence -c と等価 type は whence -v と等価 whence は zsh のビルトインコマンド whenceman zshbuiltins よりwhence [ -vcwfpams ] name ...For each name, indicate how it would be interpreted if used as a command name.-v: Produce a more verbose report.-c: Print the results in a csh-like format. This takes precedence over -v.-w: For each name, print `name: word' where wor

    hamaco
    hamaco 2012/11/28
    where/which/type/whenceの違いが良く分かってなかったけどここ見てやっと分かった。
  • zshのautoload - ✘╹◡╹✘

    zsh autoload 意味— 人月さん (@r7kamura) 11月 25, 2012 使い方 % echo $fpath /usr/local/Cellar/zsh/4.3.12/share/zsh/functions /usr/local/Cellar/zsh/4.3.12/share/zsh/site-functions % cat $fpath[1]/a echo 1 % autoload a % a 1 仕組み autoload aが呼び出される autoload用に関数名aを記録する 関数aが呼び出される 配列$fpathを元に、ファイルaを探す ファイルaが見つかる ファイルaの中身を関数aの実装としてメモリ上に読み込む 関数aが実行される -U オプション aliasを無効化 % alias echo='shutdown -h now' % autoload a %

    zshのautoload - ✘╹◡╹✘
    hamaco
    hamaco 2012/11/28
    -U ってそういうことだったのかー
  • .bashrc や .zshrc の変更を、開いている全ターミナルへ一発で適用する方法 - わからん

    .bashrc に次のように追記すれば、source-bashrc-all コマンドで、他のアクティブになっていないターミナルでも source ~/.bashrc されます。reddit に載っていて、なるほどと思いました。 # http://www.reddit.com/r/commandline/comments/12g76v/how_to_automatically_source_zshrc_in_all_open/ trap "source ~/.bashrc" USR1 alias source-bashrc-all="pkill -usr1 bash"

    hamaco
    hamaco 2012/11/27
    なるほどなー。 zshrc弄った時とか困ってたし設定したった。
  • mac の zsh で、表示されてるコマンドラインを手早くクリップボードにコピーしたい - hibomaの日記

    # 名前はなんでもいい pbcopy-buffer(){ print -rn $BUFFER | pbcopy zle -M "pbcopy: ${BUFFER}" } zle -N pbcopy-buffer bindkey '^x^p' pbcopy-buffer ↑ を読み込んで、 Ctrl + X Crtl + P を押す。 するとコマンドラインを実行せず、表示したまんまでクリップボードに登録できる 素朴だけど、とりあえず役立ってる。 こういうことやる方法が長らく分からなくて放置してたんだけど、zaw https://github.com/zsh-users/zaw のソースを追いかけてようやくやり方を知りました (zaw最高ですね) iTermの機能とか screen/tmux とかでもできるのかな。 more better な書き方あったら教えてね 寿司ブロガーが似たようなの書

    hamaco
    hamaco 2012/07/19
  • zsh でも anything.el っぽいの - memo

    2011-02-22 zsh でも anything.el っぽいの書いた。 https://github.com/zsh-users/zaw $ git clone git://github.com/zsh-users/zaw Cloning into zaw... remote: Counting objects: 199, done. remote: Compressing objects: 100% (149/149), done. remote: Total 199 (delta 76), reused 133 (delta 43) Receiving objects: 100% (199/199), 31.56 KiB, done. Resolving deltas: 100% (76/76), done. $ cd zaw $ source zaw.zsh して、 ^X; で

  • カリスマzsh使いが使ってるカリスマbindについてまとめ - キモブロ

    素早くvを連打したときに、最後に実行したviコマンドをその引数と共に起動させる方法 bindkey -s "vv" "!vi\n" 素早く:qと入力した瞬間に即端末を終了させる方法 bindkey -s ':q' "^A^Kexit\n" 素早くps auxw | grepを超かっこよく入力する方法 bindkey -s P 'ps auxw' bindkey -s G '| grep ' とした状態でコンソールで PG と入力する

    カリスマzsh使いが使ってるカリスマbindについてまとめ - キモブロ
    hamaco
    hamaco 2012/03/15
  • この先生きのこるには

    ちょっとずつ複雑なことをやっていっているのですが、正直まだ自分で作っていくイメージがついていません。 加速と減速=イージングタイムラインパネルのフレーム数がでてるとこの下のスライダーでワークエリアの幅を操作できるグラフエディターというのが存在する。値グラフと速度グラフ。グラフを編集するときに触るのはハンドルだけイージングの速度が早くてコマが見える時はモーションブラーをかける(13:40)モーションブラーは色々ごまかせてしまうので最後につけたほうがいい。処理が重いから最初のほうでつけるとプレビューのときにしんどいとかもある(ただプレビューのときだけオフにするとかもできる)

    この先生きのこるには
    hamaco
    hamaco 2012/03/06
  • zsh使いなら効率改善のため知っておきたいAUTOJUMP - Glide Note

    joelthelion/autojump - GitHub zsh補完関数の書き方をいろいろ調べていたら、autojump-zshというパッケージを発見。 気になって使ってみたらめちゃくちゃ便利で、久々に感動したので紹介。 autojumpはcdコマンドの拡張的なコマンドで、移動したディレクトリを記録し、 ディレクトリ間を行ったり来たりするときに絶大な効果を発揮します。 公式wikiに書いてあるよう コマンドライン作業の10〜20%はcdコマンドのため、ディレクトリ移動の動作が 改善すると必然的に作業効率も向上するということです。 実際私もautojumpを使い出してから、作業効率が上がりました。 それでは早速autojumpの説明を。動作検証環境は下記です。 Mac OSX 10.7.3 Fedora 16 Scientifix Linux 6.1 導入方法 autojumpを利用するに

    hamaco
    hamaco 2012/03/01
  • tmux のペインを有効活用するための zsh の設定 -

    概要 「この設定のお陰で tmux のペインを有効活用できるようになりました!」(19歳 男性) nw(){ local CMDNAME split_opts spawn_command CMDNAME=`basename $0` while getopts dhvPp:l:t:b: OPT do case $OPT in "d" | "h" | "v" | "P" ) split_opts="$split_opts -$OPT";; "p" | "l" | "t" ) split_opts="$split_opts -$OPT $OPTARG";; * ) echo "Usage: $CMDNAME [-dhvP]" \ "[-p percentage|-l size] [-t target-pane] [command]" 1>&2 return 1;; esac done shift

  • シェルのワンライナーの再利用性を高めるたった一つの方法 | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 シェルはお友達です。 一見すると役に立たないように思えるコマンドでも、 組み合わせ次第で複雑な処理をこなすための道具になります。 例えば head – ファイルの先頭10行を出力する。cut – ファイルの各行のうち特定の部分を選んで出力する。shasum – SHA-1 ハッシュ値を出力する。 という、一つ一つでは大して役に立ちそうにないコマンドも、 このように組み合わせることで「ランダムなパスワードを自動生成する」という偉業を達成することができます。 シェルをある程度使っていると上記のようなワンライナーをしばしば入力することがあります。 覚え易いものや短いワンライナーなら即席で入力しても構わないのですが、 先ほどの例のようなものになると少々入力するのが面倒です。 そこで役に立つのがコマンドラインの入力履歴です。 入力履歴があれば、例えば 三か月前に試行錯誤の末に編み出した git

    シェルのワンライナーの再利用性を高めるたった一つの方法 | Webシステム開発/教育ソリューションのタイムインターメディア
  • Incremental completion on zsh

    Download incr-0.2.zsh これ何 zsh でインクリメンタルな補完を行うスクリプト。 使い方 source incr*.zsh 戻る y.fujii <y-fujii at mimosa-pudica.net>

    hamaco
    hamaco 2011/05/24
  • zsh の自動インクリメンタル補完が素晴らしい件。 - D.

    これはまさに Life Changing だ。 zsh で自動的にインクリメンタル補完をしてくれる。いままで Tab キーを入力して手動で補完していたのだがそれを自動でやってくれる。 Incremental completion on zsh http://mimosa-pudica.net/zsh-incremental.html 以下のブログで紹介されている。 http://d.hatena.ne.jp/seiunsky/20110519/1305764493 導入 ダウンロード curl -O -L http://mimosa-pudica.net/src/incr-0.2.zsh test -d ~/.zsh/plugin || mkdir -p ~/.zsh/plugin mv incr-0.2.zsh ~/.zsh/plugin .zshrc で読み込む load_plugin

    zsh の自動インクリメンタル補完が素晴らしい件。 - D.
    hamaco
    hamaco 2011/05/24
  • rpwd(なるべく短いpwd) - hitode909の日記

    rpwdっていうコマンドを作った.pwdの,出力結果がなるべく短くなるようにしたやつ.人が見るのに使う. % rpwd . % cd lib % rpwd lib rpwdは,シェルが起動した瞬間のパス(以下,基準パス)を使って,短いpwdを作る. 基準パスからの相対パスとか,ホームディレクトリまでのパスを~にしたものとか,絶対パスとかを見て,一番短いのを採用する. 基準パスは,普通にシェルを起動するとホームディレクトリだけど,screen内では,screenのルートみたいなパスになる. 例えば,基準パスが/Users/fkd/co/kindairbのとき,以下のように振る舞う. pwd rpwd /Users/fkd/co/kindairb . /Users/fkd/co/kindairb/lib/kindai lib/kindai /Users/fkd/co .. /Users/fkd

    hamaco
    hamaco 2011/03/23
    試してみる
  • Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法 - mollifier delta blog

    2012/12/13 追記 zsh 4.3.11 以降の新しい機能を使って改良しました。 -> 「zsh の vcs_info に独自の処理を追加して stash 数とか push していない件数とか何でも表示する - Qiita」 最近Gitを使い始めた。で、ブランチとか使うようになって、今どのブランチにいるのかをzshのプロンプトに表示したくなってきた。「そういやそんなブログのエントリ、よく見かけるな」と思ってちょっと調べてみた。 gitコマンドを呼び出してなんかやってる例が多いけど、manを読んでたらzsh自体にそういうのが組み込まれてたので紹介。vcs_info ってのを使うと解決する。 zshrcの例 いきなりだけど zshrc の書き方の例。 autoload -Uz vcs_info zstyle ':vcs_info:*' formats '(%s)-[%b]' zstyl

    Git だろうと Mercurial だろうと、ブランチ名をzshのプロンプトにスマートに表示する方法 - mollifier delta blog
    hamaco
    hamaco 2009/08/22
    設定してみた。