高速化の敵 外部スクリプトロード (最も遅い) zsh 関数定義 zsh スクリプト実行 高速化の味方 分離された実行可能ファイル autoload による遅延ロード 複数 zsh ファイルの統合 実践したテクニック集 tmux の起動を高速化 tmux を起動するのに zsh プラグインは不要。
![zsh の起動を500%高速化した話 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b4bd509dbbecc00b2b61c2c0ed209d81bf3c27bc/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9enNoJTIwJUUzJTgxJUFFJUU4JUI1JUI3JUU1JThCJTk1JUUzJTgyJTkyNTAwJTI1JUU5JUFCJTk4JUU5JTgwJTlGJUU1JThDJTk2JUUzJTgxJTk3JUUzJTgxJTlGJUU4JUE5JUIxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1mYmYxZjgzNWVjYzAzZWJmMGYyYjAxODY1ZDM5M2YyYg%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzZWk0MGtyJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iYjlmZjQ4Mzk3OGRhMWY3ZTBmM2M5OTljN2E2ZmNlMg%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D3b43645036f0113f4ef17a32be1c5454)
概要 4年ほどメンテナンスしていなかった.zshrcをメンテナンスします。 1ヶ月前ぐらい、zshのplugin管理のためにantigenを入れたら、zshの起動に4秒くらいかかるようになってストレスフルだった。 しかし、便利なので我慢していた。重いのは初回起動時だけだし。。。 やっと重い腰を上げて調査と整理 見た目も色々変える。 見た目Before 見た目After やったこと zshのplugin管理にzplugを使うようにした かなり速い!すばらしい!オプションも多数!最高です。 iTerms2のカラースキーマを変更 https://github.com/altercation/solarized/blob/master/iterm2-colors-solarized/Solarized%20Dark.itermcolors 設定をダウンロードして、iTerm2にimport 設定後
dotfilesいじりが趣味の岩下(@ToruIwashita)です。 今回はzshの補完でこんな感じの動きをさせる話です。 はじめに みなさんはタイポに悩まされる事はありませんか?僕はタイピングする度にタイポを繰り返し、やりたい事をやるための入力に手間取ることに悩み、日々ストレスを感じています。 タイポしないとか、やりたい事をサクッとやるためにはどうしたら良いのか。その答えはタイピングをしない事だと思います。 もし自分の頭とPCをつなげて指を動かさずに入力できたなら、タイポのストレスから開放されるはずなので、早くそういう未来が来ることを切に願います。 が、夢見ているだけでは目の前のストレスは消えないわけで。今現在はそういう技術がまだ手元にないし、じゃあ極力タイピングをしないようにしようと、日々改善活動を行っています。 今回はその活動(dotfilesいじり)の中で、gitに関連する操作の
先月中途で入社した卜部です。 中途入社したタイミングでちょうどよいので環境設定を見直していました。 たぶん全部捨てて書き直したのは8年ぶりくらいでした。 今回の感想を忘れないうちに書いておきます。 Emacs Emacsを使い続けている理由はauto-save-buffersです。これと同じような機能を提供しているエディタは(RubyMineとかなくもないが)とても少なく、移行先として選択肢があまりありません。Atomのautosaveはどうやら求めているものと違うようですし。 auto-save-buffersで救われたファイルは数知れず、というか保存とかいう前世紀の遺物を計算資源に下請けさせることで考えることが減るので、本当は他のエディタにも是非あるべき機能です。下にzshでpredict-onの話も書いてありますが、自分は0クリック革命をわりと実践している派だと思います。 パッケージ
自分が使っている便利な機能を紹介 $ 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 ) みたいな形でわざわざ一時ファイルにしなくても、ファイル指
B! 46 0 0 0 以前、 Zshの補完について ちょっと書きましたが、 足りない所とか理解しきれてなかった所があるので追記。 Zshの補完について 補完設定ファイルの作成 補間関数がロードされるタイミング Zshの補完について 取り敢えず前回のはこちら。 Zshの補完について 補完を有効にするために autoload -U compinit compinit を.zshrc等で設定しておくことやcompdef/compadd等の 補完を作成、登録するコマンドなどについてまとめています。 上のautoloadはcompinitを有効にさせるためのコマンド。 compinitは指定されたパスにある補完ファイルから 補完をアップデートして、~/.zcompdumpというファイルに コマンドとそれに使う補間関数の定義の一覧を作成します。 パスはfpathまたはFPATHで設定されていて、 何
ネタがないので、昔こんなことをやって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 -------------------
更新 2016/01/08: .vimrc、.gvimrcを更新 .vimrcの設定 適当に書いてみました。 とりあえずPython3とC++を書けるようにする感じで。 " 1. curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh && mkdir -p ~/.vim/backup " 2. cp このファイル ~/.vimrc " 3. 一旦vim起動してBundleInstallする " 4. cd ~/.vim/bundle/jedi-vim/ && git submodule update --init " 5. pip install pep8 pyflakes scriptencoding utf-8 set nocompatible set antiali
X-seq: zsh-users 20489 From: Peter Stephenson <p.w.stephenson@xxxxxxxxxxxx> To: Zsh Users <zsh-users@xxxxxxx> Subject: zsh 5.1 released [user] Date: Sun, 30 Aug 2015 20:13:24 +0100 List-help: <mailto:zsh-users-help@zsh.org> List-id: Zsh Users List <zsh-users.zsh.org> List-post: <mailto:zsh-users@zsh.org> Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm [You may or may not also get this f
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が変わってしまう可能性があります
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/
今までは何も考えずに Terminal.app で bash を使ってたけど,最近黒い画面で作業することが多くなった.なので,この機会に Terminal.app と bash から卒業して,iTerm2 と zsh を使うことにした. iTerm2 と zsh を使おうと思ったきっかけはこの記事. http://yulily100.hatenablog.jp/entry/2014/08/03/230442 インストールの方法とか基本的な設定はほぼこの記事を真似てます. 環境 Mac OSX 10.9.4 Mavericks iTerm2 のインストール http://iterm2.com/ にアクセスし,Downloads からダウンロードして解凍,Application フォルダにつっこむ. iTerm2 のカラースキーム Preference -> Profiles -> Color
zshの履歴検索機能はとても便利な機能で、毎日使っているといっても過言ではありません。ただひとつ疑問な点があって、C-rを連打して履歴を戻しすぎた時「やっぱりあれだった」と一つ前に戻す方法がわかりませんでした。 bindky -Lでは、C-sで前方に検索できそうなのに、なぜか機能せず。 bindkey "^R" history-incremental-search-backward bindkey "^S" history-incremental-search-forward いいかげんなんとかしないとと思い真面目に調べてみたところ、どうやらシェルのフロー制御機能が邪魔していてC-sが有効になっていなかった様子。ということでフロー制御をやめるため.zshrcになどに以下の設定を追加します。 setopt no_flow_control もしくは以下のように書いても同じです。 stty -i
Prezto 今回はコマンドライン環境の話です。私は以前より oh-my-zsh を利用していましたが、テーマの調子が悪かったので Prezto に乗り換えてみました。結構快適だったので、いまは Prezto を使っています。 本稿では Zsh + Prezto で快適なコマンドライン環境を構築する方法について簡単ですがご紹介します。 Zsh + Prezto 環境を構築する 環境構築の手順については README に書いてありますので、手順通り進めれば問題なく環境づくりができると思います。なお、コマンド実行すると .zlogin .zlogout .zprofile .zshenv .zshrc のシンボリックリンクを貼るので、oh-my-zsh から乗り換える場合など、既存の Zsh 環境を引き継ぎたい場合は各設定ファイルを退避させておきましょう。 // Zsh起動 $ zsh //
はじめに このガイドでは、はじめて Zsh を使う人や Zsh の便利な使い方を知らない人に向けて、いくつかの便利な設定と操作方法を紹介します。また、 Zsh についての疑問を素早く解決できるよう、マニュアルの調べ方や他のドキュメントへのリンクも盛り込んであります。 このガイドでカバーしきれていない設定や分かりやすいドキュメントをご存知でしたら、ぜひ編集リクエストやコメントでお知らせください。 設定ファイル ここでは主に普段のキー入力数を大幅に減らせるような設定を紹介します。 .zshrc ~/.zshrc は Zsh のインタラクティブシェル(ユーザーがコマンドを入力する画面)が起動した際に読み込まれる設定ファイルです。 Zsh スクリプトを実行したり、 zsh -c 'command...' でコマンドを実行したりしたときには読み込まれません。このファイルには主に Zsh の操作に関す
zsh-users/zsh-syntax-highlighting · GitHub zshで作業中にsyntax-highlightをしてくれるスクリプトがあったので導入してみた。 紹介動画をみると、どんなものだか分かります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く