タグ

zshに関するaki77のブックマーク (154)

  • sindresorhus/pure: Pretty, minimal and fast ZSH prompt

    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

    sindresorhus/pure: Pretty, minimal and fast ZSH prompt
    aki77
    aki77 2015/10/06
    シンプルなプロンプト
  • percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ

    先日、shell勉強会で「zawを使ってシェル操作を快適に」というお話を聴いて、自分ももう少しそのあたりの環境を整えよう、と思い立った。 nanapi勉強会 vol2 - Shellの活用でこれだけ毎日が便利になる - nanapi勉強会 | Doorkeeper zawで快適シェル生活 // Speaker Deck 自分が使う選択をしたのは zaw ではなく percol 。 軽く調べてみたかんじでは zawってのは設定してある(もしくは自作する)決められたsourceを使って決められた操作を行うもので、zshに密接に結び付いているツールで。percolはそういうのではなく純粋に「入力をフィルタリングする」だけのツールなので、パイプなどを使って各コマンドと組み合わせることで色々な使い方ができそう。 percolの導入 https://github.com/mooz/percol Pyt

    percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ
  • percol 入れて zsh と組み合わせたら超便利

    import sys, commands from percol.command import SelectorCommand from percol.key import SPECIAL_KEYS from percol.finder import FinderMultiQueryMigemo, FinderMultiQueryRegex ## prompt # Case Insensitive / Match Method に応じてプロンプトに表示 def dynamic_prompt(): prompt = ur"" if percol.model.finder.__class__ == FinderMultiQueryMigemo: prompt += "[Migemo]" elif percol.model.finder.__class__ == FinderMultiQuery

    percol 入れて zsh と組み合わせたら超便利
    aki77
    aki77 2014/06/05
  • Amazon.co.jp: 電子書籍で学ぶシェルスクリプト基礎編[bash/zsh/tcsh] ~今すぐ使える設定ファイル大公開: 後藤大地: Digital Ebook Purchas

    Amazon.co.jp: 電子書籍で学ぶシェルスクリプト基礎編[bash/zsh/tcsh] ~今すぐ使える設定ファイル大公開: 後藤大地: Digital Ebook Purchas
  • oh-my-zshを使っていて重いと感じている方、preztoはいかが? - Qiita

    背景 oh-my-zshは大変便利で、便利ではあるけど複雑怪奇なzshの設定を簡単に済ませることができるようになりました。 しかし、気の赴くままにpluginを追加していると、起動が重くなったり補完が重くなったり徐々に使いづらくなってしまいます。初回の起動が重いのはscreenやtmuxを活用してつぎつぎzshを起動・終了している人にはじわじわ効いてきますし、補完が重いのはとてもつらいものです。 また、oh-my-zshのpluginには、元のrepositoryからsourceを持ってきたまま放置されているものもあります。例えば、oh-my-zsh/plugins/zは2014-04-11時点では家のrupa/zより古く、更新されてないことが伺えます。 oh-my-zshはいろいろつらさもあることは分かった、しかしoh-my-zshを捨てて一からzshを設定するのはつらい……。そんな方

    oh-my-zshを使っていて重いと感じている方、preztoはいかが? - Qiita
    aki77
    aki77 2014/04/22
  • naoya_itoの火を噴いたシェルtips - Togetterまとめ

    Naoya Ito @naoya_ito シェルでパスワード入力プロンプトでるじゃないですか。途中まで打って間違えたとするじゃないですか。Ctrl + u 打つとリセットできるの知ってた? 俺は知ってた 2014-04-07 19:40:06

    naoya_itoの火を噴いたシェルtips - Togetterまとめ
  • zsh で source して使うプラグインを作るのは止めにしよう - Qiita

    特に、cd や bindkey など、今動いているシェル上で副作用のある処理を行いたいときは source を使わないとうまくいかないだろう。 一方、source にはこんなデメリットがある。 .zshrc でいっぱい source するとzsh の起動が遅くなる 現在動いているシェルの alias 設定の影響を受ける 特に2つめが厄介だ。例えば grep とかしたときに、alias grep='grep -E' なんか設定してあったら正規表現の意味が変わってしまう。一応 command grep とすれば alias を設定していない元の grep を実行できるけど、いちいちそう書くのも手間だ。 そんなときは autoload を使う形に書き換えるとうまくいく。 autoload というのは「関数体の読み込みを実行する時まで遅らせる」という zsh の機能のこと。これで ~/.zshr

    zsh で source して使うプラグインを作るのは止めにしよう - Qiita
    aki77
    aki77 2014/03/11
  • 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
    aki77
    aki77 2014/03/11
  • zsh で find を使わずに簡単にファイルを絞り込む - Qiita

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

    zsh で find を使わずに簡単にファイルを絞り込む - Qiita
    aki77
    aki77 2013/12/04
  • MacのZshはシェル起動時にPATHをリセットする - speg03の雑記帳

    zprofileに書いていたPATH設定だけが有効になっていなかったので調べたという話。zprofileに書いていたPATH以外の環境変数は有効になっていたのでzprofileが呼ばれていないわけではなかった。 path_helper Macにはpath_helperというやつがあって、PATH環境変数を/etc/pathsや/etc/paths.dに書かれているパスで設定しなおす。で、こいつがまたいたるところで呼ばれる。 zshで呼ばれる設定ファイル ログイン(ログインシェルとして起動)時にはzshenvとzprofile、対話シェルとして起動時にはzshenvが呼ばれる。PATHの設定は既存のPATHに追加していくので、ログイン時の一度だけ呼ばれて欲しい。そのためzprofileに書いていた。 件のzshenvは以下のようになっていた。 /etc/zshenv # system-wid

    MacのZshはシェル起動時にPATHをリセットする - speg03の雑記帳
    aki77
    aki77 2013/10/18
  • 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;
    aki77
    aki77 2013/06/23
  • zsh で Git の作業コピーに変更があるかどうかをプロンプトに表示する方法 - mollifier delta blog

    2012/12/13 追記 zsh 4.3.11 以降の新しい機能を使って改良しました。 -> 「zsh の vcs_info に独自の処理を追加して stash 数とか push していない件数とか何でも表示する - Qiita」 Git を使ってファイルを編集した場合、それをいったんインデックスに追加(add)してその後コミットってのが基的な流れになる。なんかいろいろやってると、ちゃんと add したのかどうかわかんなくなることがある。 そういうときは status コマンド使えばいいんだけど、以前エントリ書いた zsh の vcs_info の機能を使うといい感じにプロンプトに表示できるようになるので紹介する。 zshrc の書き方 こんな風に zshrc に書いておけば OK。 autoload -Uz add-zsh-hook autoload -Uz colors color

    aki77
    aki77 2013/06/11
  • zsh の chpwd_recent_dirs を Emacs の dired と連携する - Qiita

    zsh には,今までに移動したことがあるディレクトリを記録し,そこに簡単に移動できる chpwd_recent_dirs という機能があります.これについての詳細は他の投稿に任せます. zshのchpwd_recent_dirsでよく行くディレクトリに移動する この機能を Emacs の dired でも利用したいと考え, helm-dired-recent-dirs.el という Elisp を書きました.提供する機能は以下の2つです. dired でアクセスしたディレクトリを chpwd_recent_dirs で記録する (~/.chpwd-recent-dirs に書き込む) 最近アクセスしたディレクトリを Helm (Anything の後継) で選択し,そのディレクトリを dired を開く helm-dired-recent-dirs.el は以下の手順でインストールできます

    zsh の chpwd_recent_dirs を Emacs の dired と連携する - Qiita
  • jsxの zsh補完 - Shohei Yoshida's Diary

    jsxの補完が書きたかったというか、コンマで区切られた値の補完を どうやるんだというのが知りたかったので書いてみました。 コード jsx --helpだけを参考に書いたので問題があるかもしれません。 #compdef jsx _jsx_warn() { local expl warning local -a jsx_warnings jsx_warnings=(all deprecated none) # Ignore existing values compset -P '*,' # Remove already-referenced warnings for warning in ${(s:,:)${IPREFIX}} do jsx_warnings=( ${jsx_warnings:#$warning} ) done _wanted jsx_warnings expl 'warnin

    jsxの zsh補完 - Shohei Yoshida's Diary
    aki77
    aki77 2013/05/23
  • gruntのzsh補完を書いた。 - よんちゅBlog

    bashの補完は公式で提供されていたが、gruntのzsh補完がなかったので作った。 私が存在を知らないだけかもしれないので、知ってる方がいたら教えてください。 (zsh-completions と oh-my-zsh にはなかった。1つだけgithubにあったけど微妙だった。) ちなみに公式のbash補完は、以下の設定を .bashrc などに記述すれば使用出来ます。 eval "$(grunt --completion=bash)" zsh補完イメージ インストール方法 Githubに置いてあるのでとってきて下さい。 yonchu/grunt-zsh-completion · GitHub $ git clone git://github.com/yonchu/grunt-zsh-completion.git or $ wget https://github.com/yonchu/gr

    gruntのzsh補完を書いた。 - よんちゅBlog
  • zshでログイン・ログアウト時に実行されるファイル - Qiita

    今まではバカの一つ覚えのように何でもかんでも$HOME/.zshrcに書いていたけど、サーバ管理をよくするようになってきて、複数アカウントの共通設定とかをしたくなったので調べた。 順番 以下の$ZDOTDIRは指定されていない場合$HOMEになる。 ログイン時 /etc/zshenv $ZDOTDIR/.zshenv /etc/zprofile $ZDOTDIR/.zprofile $ZDOTDIR/.zshrc /etc/zlogin $ZDOTDIR/.zlogin ログアウト時 $ZDOTDIR/.zlogout /etc/zlogout 言うまでもなく、個人的な設定は$ZDOTDIRに、汎用的な設定は/etcに書く。 各種説明 zshenv 必ず実行される。/etc/zshenvは上書き不可で$PATHや$MANPATHの設定がされる。 $ZDOTDIR/.zshenvにはいかなる

    zshでログイン・ログアウト時に実行されるファイル - Qiita
    aki77
    aki77 2013/04/17
  • zsh の配列操作の基本から応用まで - Qiita

    zsh は当然配列を使える。今まであんまり気にしてなかったんだけど、ちょっと調べてみるといろんな配列操作ができるようになっていた。普通のプログラム言語とは違う感じのややこしい書き方もあったのでまとめてみた。

    zsh の配列操作の基本から応用まで - Qiita
    aki77
    aki77 2013/04/11
  • zshで超々簡単に多段の補完を行う一番楽な実装 ~plenvを例にやってみた~ - 僕のYak Shavingは終わらない

    ※追記(2013/06/02) 最新版のplenvだとrbenvみたいに自前で補完ができるようになってます。 なので以下の記事でplenvの補完つくってももう意味は無いです。 補完のつくりかたの一例として御覧ください。 超初級zsh補完職人のkazuphです。 今回はplenvの補完をつくりました。今日時間があるので2段階補完できるようにしますね。2段階目に現在インストールされているPerlのバージョンを選択できるようにしました。次はglobalやlocalなどのVersionが欲しい時にだけ補完を出すようにします(21:23)。いやいやこれは意外に簡単に良い感じになったのではないでしょうか。一旦これで終了です。もっとこうした方がいいとか、バグってるとかあったら教えて下さい(22:43)。 設定 .zshrcに以下を追加 plenvのzsh補完をするためのScript。zshrcへ追加で使

    aki77
    aki77 2013/04/11
  • "z"のfork「knu-z」v2.0をリリース - 工夫と趣向と分別と。

    「賢いcd」”z“の俺版fork「knu-z」v2.0をリリースしました(英語版記事)。 オリジナル版をいじっているうちに修正箇所がたくさん見つかり、直しすぎて個別にpull requestすることが困難になり、途中で作者のrupaさんにはforkの存在とそこそこ詳細な変更点リストをメールしたんだけど時すでに遅し。ほかにもforkがたくさんありすぎてうんざりだったかも。とはいえbashの補完は壊れているしzshの補完も古くて(compsys)いまいちだし、というわけでフィードバックについては気にせずにコアのアルゴリズム部以外を大幅に書き直しました。 ついでにcdの補完候補にzのスタック(ディレクトリ移動履歴に基づいてスコアリングされたディレクトリリスト)を含めるようにしたので、「zが使えるホストでだけzを使う」とか、「通常の移動はcd1、よく行くところへの移動はz」なんていう悲しい使い分け

    aki77
    aki77 2013/04/11
  • 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)が神な件 - プログラムモグモグ
    aki77
    aki77 2013/02/28