タグ

zshに関するakishin999のブックマーク (60)

  • zsh の起動を500%高速化した話 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    zsh の起動を500%高速化した話 - Qiita
  • .bashrc/.zshrcを再読込した際にPATHを余計に追加しないようにする方法

    B! 9 0 0 0 BashやZshで設定ファイルである.bashrcや.zshrcをちょっと変更して 再び読み込む場合、 PATHの値などは基付け加えていく様な設定になってるため、 読み込む度に同じPATHが付け加えられていってやたら長いPATHの値になったりしてしまいます。 そういったことを避けるために最初にちょっと付け加えておく設定について。 .bashrc/.zshrcでのPATHなどの設定 _reset_path PATHを追加する時のもチェックする .bashrc/.zshrcでのPATHなどの設定 .bashrc/.zshrc の中で export PATH=/home/USER/bin:$PATH みたいな設定をして自分用のPATHを追加する事があると思います。 この設定のまま.bashrc/.zshrcを再び読み込むと $ echo $PATH /home/USER/

    .bashrc/.zshrcを再読込した際にPATHを余計に追加しないようにする方法
  • .zshenv で PATH を管理したら罠にハマった - 大学生からの Web 開発

    Spacemacs を起動すると、.zshrc で PATH の設定をするな、と怒られた。ので、.zshenv に記述を移すと、今度は不具合が起きた。emacs を以下のページの設定をして呼び出すと ~/bin/emacs を実行していたのが、 .zshenv に PATH を移したことによって /usr/local/bin/emacs を呼び出すようになってしまった。 karur4n.hatenablog.com 解決したのでメモする。 原因の特定 $ echo $PATH をすると、/usr/local/bin が ~/bin より優先的に読み込まれていた。 なので、試しに .zshenv に PATH="$HOME/bin" としてみても、 /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/karur4n/bin と出力された。

    .zshenv で PATH を管理したら罠にハマった - 大学生からの Web 開発
  • Mac OSX El Capitan での ~/.zshenv の扱いについて - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Mac OSX El Capitan での ~/.zshenv の扱いについて - Qiita
  • VimからrbenvのRubyが呼び出せない問題が発生してハマった - Glide Note

    Rubyスクリプトを書いていて、いつからかvimでquickrunから スクリプトを実行出来なくなってハマったのでメモ。 Linuxでは発生しなかったのでMacだけ発生する問題かもしれない。 起こっていた現象 quickrunを実行するとrequire': no such file to loadとかで怒られる。 ruby hogemoge.rbとかの場合は実行可能 開発環境 Mac Lion 10.7.4 zsh 4.3.11 rbenv(git clone git://github.com/sstephenson/rbenv.git .rbenvで導入してます) vim 7.3.515 quickrun 0.6.0 原因 vimがシステム標準のRubyを呼んでいた(rbenvのRubyが呼ばれていなかった) .zshenvに記載すべき設定を.zshrcに書いていた 下記のようにコマンド

  • プロンプトの戯れ

    B! 10 0 2 0 最近色々.bashrcだとか整理している時に、プロンプトの表示を変更しようと思い、 結局何が必要なのか考えたのですが、 普通、ディレクトリ名やユーザー名、ホスト名などを入れていると思いますが、 普段はGNU screenを使っていて、 常に各領域にディレクトリパスも表示させてるので、プロンプトに情報を表示 させとく必要が特に無いわけです。 そこで、プロンプト表示でちょっと遊んでみました。 これまでのプロンプト 顔文字にしてみる ランダムに顔を変えてみる これまでのプロンプト ここではbashでの話です。 プロンプトはPS1というシェル変数を変更してやることで表示を変えてやることが出来ます。 手元の環境だと、デフォルトでは/etc/bashrc内で次のように設定されています。 # System-wide .bashrc file for interactive bas

    プロンプトの戯れ
  • golang で zsh history を SQL 的に活用する - tellme.tokyo

    僕は開発中、zsh のヒストリー補完の機能をよく使います。具体的には次のような場面が多いです。 多用するコマンド 結局開発中に使うのはエディタ (vim) と git サブコマンドに集中する ちょちょいと ^N (↑) で履歴をさかのぼる alias がイケてない場面 「エディタで .zshrc 開いて追加してリロード」が面倒で後回ししがち そして登録せずに終わる の繰り返し… うろ覚え程度のコマンドの alias 名はもはや思い出せない 結局エディタ開いて見直したり、^R で遡ることに挑戦する 長いコマンド列になるとき 引数が多いとき、多段のパイプで繋いだとき 例えば、複数のパラメータを与えたときの curl コマンド Ctrl-r (history-incremental-search-backward) よるヒストリーサーチが便利なのはよく知られたことですが、それに加えて peco

    golang で zsh history を SQL 的に活用する - tellme.tokyo
  • Gitの作業を効率化するためにZshでやっている事 - クラウドワークス エンジニアブログ

    dotfilesいじりが趣味の岩下(@ToruIwashita)です。 今回はzshの補完でこんな感じの動きをさせる話です。 はじめに みなさんはタイポに悩まされる事はありませんか?僕はタイピングする度にタイポを繰り返し、やりたい事をやるための入力に手間取ることに悩み、日々ストレスを感じています。 タイポしないとか、やりたい事をサクッとやるためにはどうしたら良いのか。その答えはタイピングをしない事だと思います。 もし自分の頭とPCをつなげて指を動かさずに入力できたなら、タイポのストレスから開放されるはずなので、早くそういう未来が来ることを切に願います。 が、夢見ているだけでは目の前のストレスは消えないわけで。今現在はそういう技術がまだ手元にないし、じゃあ極力タイピングをしないようにしようと、日々改善活動を行っています。 今回はその活動(dotfilesいじり)の中で、gitに関連する操作の

  • anyframeを使おう

    4. ブログとか はてなブログ http://mollifier.hatenablog.com/ Twitter http://twitter.com/mollifier Qiita http://qiita.com/mollifier

    anyframeを使おう
  • zshでpecoと連携するためのanyframeというプラグインを作った - Qiita

    これは何? zshの操作で、pecoとかpercolとか、Anything風インターフェースで選択するやつがよく使われてる。これを使うと、例えばコマンドライン履歴からインクリメンタルに検索して、それを実行、とかできるようになる。 でも、pecoとかpercolはシェルとは関係なくて、単に「インクリメンタルに絞り込む」ってところだけしかやってくれない。それだけでは役に立たなくて、「選んだ結果を実行する」とかのシェルの処理が必要になる。 それで、そういうシェルの処理を自分で書きたくない人向けにanyframeというのを作った。 https://github.com/mollifier/anyframe これはzsh用のプラグインで、これを使うと自分でシェルの関数を書かなくても、キーバインドとかaliasを設定するだけでpeco/percolの便利なやつをすぐ使えるようになる。 特徴 普通の人が

    zshでpecoと連携するためのanyframeというプラグインを作った - Qiita
  • Zshの補完について 2

    B! 46 0 0 0 以前、 Zshの補完について ちょっと書きましたが、 足りない所とか理解しきれてなかった所があるので追記。 Zshの補完について 補完設定ファイルの作成 補間関数がロードされるタイミング Zshの補完について 取り敢えず前回のはこちら。 Zshの補完について 補完を有効にするために autoload -U compinit compinit を.zshrc等で設定しておくことやcompdef/compadd等の 補完を作成、登録するコマンドなどについてまとめています。 上のautoloadはcompinitを有効にさせるためのコマンド。 compinitは指定されたパスにある補完ファイルから 補完をアップデートして、~/.zcompdumpというファイルに コマンドとそれに使う補間関数の定義の一覧を作成します。 パスはfpathまたはFPATHで設定されていて、 何

    Zshの補完について 2
  • zsh のあまり知られていなそうな機能 - Qiita

    自分が使っている便利な機能を紹介 $ rm */(-@) ファイル修飾子は使っている人も多いはず。 zsh で find を使わずに簡単にファイルを絞り込む *(@) でシンボリックリンク *(-@) でリンクが切れたシンボリックリンク rm **/*(-@) で下位階層含めたリンク切れのシンボリックリンクの削除 修飾子で他に便利なのは *(-ch-1) シンボリックリンクのリンク先が1時間以内に作られたファイル *(U) 自分のファイル *(u:hoge:) ユーザ hoge のファイル *(/^F) 空のディレクトリ $ tkdiff =(zcat xxx.gz | cut -f 1) =(zcat xxx.gz | cut -f 2) プロセス置換 <(zcat xxxx.gz | grep yyyy | cut -f 2 ) みたいな形でわざわざ一時ファイルにしなくても、ファイル指

    zsh のあまり知られていなそうな機能 - Qiita
  • zshのプラグインマネージャzgenについて - なっく日報

    今日は技術的なトピックが特になかったので、いきなりですが、zshのことについて書きます。 ※追記:antigenはv1.1.0からめちゃ早くなったらしい。Release Release v1.1.0 · zsh-users/antigen · GitHub なので、無理にzgenに乗り換える必要もなくなりました。 zshのプラグインマネージャといえば github.com がメジャーだと思います(超重量級なoh-my-zshとかpreztoは考えないことにします) 自分も、しばらく愛用していました。 しかし、遅い tmuxで新規window/paneを開いたときに、1秒弱間があいていらっとしてました。 自分の開発スタイルはしょっちゅう新規window/paneを開くスタイルなのでとにかくイライラが募ってました。 http://blog.uu59.org/2013-06-01-zsh-opt

    zshのプラグインマネージャzgenについて - なっく日報
  • zshの起動を高速化する方法 - なっく日報

    ネタがないので、昔こんなことをやってzshの起動を高速化したよというのを共有したいと思います。 計測 〜が遅いという場合、プロファイリングするのが定石ですね。 http://blog.uu59.org/2013-06-01-zsh-optimize.html という素晴らしい記事を参考に、 ボトルネックを割り出しました。 ↑の記事に全て書いてますが、一応プロファイリングの方法をコチラにも書いておくと、 .zshenvの先頭行に↓を足す zmodload zsh/zprof .zshrcの最後の行に↓を足す if type zprof > /dev/null 2>&1; then zprof | less fi という感じ。 新しくzshを起動すると、lessで↓のようなプロファイリング結果が開きます。 num calls time self name -------------------

    zshの起動を高速化する方法 - なっく日報
  • なぜ私は敢えて Zsh で Shell Script も書くのか、目的合理性はどこにあるのか - hkoba blog

    はじめに UNIX, Linux のためのシェルスクリプトを bash どころか敢えて zsh で書くことに、どんな目的合理性があるのか… 個人的な考えをまとめてみます。 #!/bin/zsh の勧めにしたかったけど、途中で力尽きました。 勿論、 万人向けではない話 なので、なるべく背景・仕事環境・与えられた状況についても言及していくつもりです。 ツッコミも歓迎です。 前提 人生は短い。 限られた時間で、目的を達成したい。 『成果出力 / 学習含めた開発時間』の比を、納得行くレベルに保ちたい。 sh 族の各々には力の差が有る。 プログラミング言語としての表現力の優劣や、処理系の完成度の優劣が存在する。 チームの root と教育を任されている。 自分が個人としてベストな仕事をするだけでなく、メンバーの学習まで含めて判断したい。 道具は使い分ける。 sh 族で書くメリットのある、向いたタスク

    なぜ私は敢えて Zsh で Shell Script も書くのか、目的合理性はどこにあるのか - hkoba blog
  • 物理サーバを選定する際のポイント – Eureka Engineering – Medium

    Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.

    物理サーバを選定する際のポイント – Eureka Engineering – Medium
  • zplug 流 zsh プラグイン管理術 - tellme.tokyo

    とある引用から。 技術者であればだれでも経験することでしょうけれども、自分が作ったものを他人に理解させるというのは存外に難しく、なぜかというと開発者自身はどうしても開発した時の思考の流れを重視してしまい、読者にとって理解しやすい話の流れで話すという思考の大転換が困難だからです。そういえば、開発者自身による解説書の名著って意外なくらい少ないと思いませんか? 私は先月末に zplug という zsh 用のプラグインマネージャーをリリースした。以下の記事では、zplug が生まれた背景やその周辺事情を導入として書いたため、もしかするとユーザ目線からでは分かりづらかったかもしれない。 おい、Antigen もいいけど zplug 使えよ そこで今回は開発者としての記事ではなく、いちユーザとして(といっても開発者がユーザ目線でプロダクトを語るのは冒頭の引用にもある通りひどく難しいことである)使い方を

    zplug 流 zsh プラグイン管理術 - tellme.tokyo
  • Bash/Zshで'source'するファイルの中でで自分のパスを取得する

    B! 23 0 0 0 BashやZshのsourceして使う様な設定ファイルの中で そのファイル自身のパスを取得したいと言う話。 やりたいこと BASH_SOURCE Zshでは Bash/Zsh両用 やりたいこと 例えば~/v1.0.0、~/v2.0.0…みたいに何らかのプログラムとか プロジェクトをバージョン毎に管理してたりするとき、 その中にsetup.shみたいなのを置いておいて、そのファイルの中で、 export PATH=~/v1.0.0/bin:$PATH export LD_LIBRARY_PATH=~/v1.0.0/lib:$LD_LIBRARY_PATH みたいな設定をしたいとします。 この様に直接PATHを書いてしまうと、新しいバージョンになった時に この設定ファイル自体も書き換えが必要です。 また、違う環境に持っていった時にPATHが変わってしまう可能性があります

    Bash/Zshで'source'するファイルの中でで自分のパスを取得する
  • git statusを利用したリポジトリ情報のプロンプト表示 - GeekFactory

    zshでGitのステータス情報をプロンプトに表示するにはvcs_infoを使う方法が一般的ですが、vcs_infoで得られる情報には限りがあります。そこで、git statusを使ってプロンプトを表示する方法を調べてみました。なお、OS XのGit 2.3.2で確認しています。 git statusで得られる情報 git status --porcelain --branch を実行するとブランチ、ワーキングツリー、インデックスの状態が得られます。--porcelainを付けることで機械処理に適したフォーマットが得られます。このコマンドの実行結果は下記の2つの部分で構成されます。 ローカルブランチの状態(1行目) ローカルブランチの状態 表示 リモートブランチと同期している ## master...origin/master リモートブランチより古い ## master...origin/

    git statusを利用したリポジトリ情報のプロンプト表示 - GeekFactory
  • zshのオプション設定の分かりにくいところまとめ - Qiita

    zshには「オプション」というものがある。オプションとは、zshの動作を切り替えるためのオン/オフのフラグのこと。zshを使ってる人は何かしらオプションを設定して、使いやすいようにカスタマイズしてると思う。このオプションを設定したり、設定した値を確認する方法がちょっと分かりにくいので、ここでまとめておく。 オプションを有効にする オプションを有効にするには、setoptコマンドを使う。これは次のように、setopt <オプション名>という形で使う。

    zshのオプション設定の分かりにくいところまとめ - Qiita