晴れてmacOSのデフォルトシェルになったzshですが、読み方がバラバラです。 はてな民で読み方を決めてしまいましょう! 候補一覧ゼッシュ ザッシュ ジィーシェル ゼットシェル ゼットエスエイチ
プロジェクト移行期に入って暇な時間ができたので、開発環境をリフレッシュすることにした。vim や zsh の設定が少しずつ壊れてきていたのだった。 .vimrc や .zshrc を眺めてみると、かつて意識が高かった頃に施した設定が何のためのものだったのか忘れてしまっていた。別人が書いたスパゲティコードのようだった。 また vim や zsh の設定を検索して理解するべきなんだろうか。ここで覚えた知識はまたすぐに忘れてしまうんじゃないだろうか。設定が洗練されるほどに、それを更新する機会もまた少なくなってくる。設定が必要になるきっかけは忘れた頃にやってくるもんだ。 やり方を根本的に見直す時期なのかもしれない。新しいツールもいまなら選択できる。 まず、vim から atom に移行した。git のコミットメッセージやちょっとしたファイルの修正ではまだ vim を使うものの、細かい設定が必要にな
概要 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 設定後
自分が使っている便利な機能を紹介 $ 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の起動を高速化したよというのを共有したいと思います。 計測 〜が遅いという場合、プロファイリングするのが定石ですね。 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
今までは何も考えずに 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 + oh my zsh + pecoの利点。 bushのみに比べて、zsh + oh my zsh + pecoを導入すると飛躍的にコマンドが打ちやすくなります。 どういうことかというとこういうこと。↓↓ つまりcontrol + Rによるコマンド履歴検索がものすごく便利になります。 1文字ずつコマンド履歴を検索し、それをリストアップしてくれます。一度打ったコマンドはすべてもうフルに入力する必要がなくなるくらい快適になります。 ただこの機能を使うだけなら、oh-my-zshはいらないのですが、git回りが便利になりますし、zshが自動アップデートされますし、なにしろ設定しておかないとpecoとoh-my-zshが両立できないので、oh-my-zshの導入方法も書いておきます。 STEP 1. zshを導入する。 zshを導入するのは簡単です。 CentOSの場合は、以下のコマンドを
追記 @hokaccha さんの指摘反映 npm install -g cosidered harmful 何かコマンドラインツールなどが必要なために npm install -g を強要するリポジトリがたまにある。 もっと面倒なのは、依存するツールがあるくせに README とかに書いてない場合だ。リポジトリにある設定ファイルからこちらが察して入れてやらないといけない。 グローバルに入れるツールは package.json の管理外なので、そこのバージョンは指定できない。 入れれば済むなら良いけれど、同じコマンドを他のリポジトリでも使っているような場合、求められるバージョンが違ったりすると面倒だ。
Prezto 今回はコマンドライン環境の話です。私は以前より oh-my-zsh を利用していましたが、テーマの調子が悪かったので Prezto に乗り換えてみました。結構快適だったので、いまは Prezto を使っています。 本稿では Zsh + Prezto で快適なコマンドライン環境を構築する方法について簡単ですがご紹介します。 Zsh + Prezto 環境を構築する 環境構築の手順については README に書いてありますので、手順通り進めれば問題なく環境づくりができると思います。なお、コマンド実行すると .zlogin .zlogout .zprofile .zshenv .zshrc のシンボリックリンクを貼るので、oh-my-zsh から乗り換える場合など、既存の Zsh 環境を引き継ぎたい場合は各設定ファイルを退避させておきましょう。 // Zsh起動 $ zsh //
function percol-cdr () { local selected_dir=$(cdr -l | awk '{ print $2 }' | percol --query "$LBUFFER") if [ -n "$selected_dir" ]; then BUFFER="cd ${selected_dir}" zle accept-line fi zle clear-screen } zle -N percol-cdr これを読み込んで、おもむろに percol-cdr という 関数を 呼び出し、やった! これでぼくもナウいpercolユーザだ! ってやろうとすると $ percol-cdr percol-cdr:zle:4: widgets can only be called when ZLE is active percol-cdr:zle:6: widgets can
初めに ghq というコマンドがある。GitHub のリポジトリをクローンしていい感じに管理するコマンドだ。 これには zsh 補完ファイルも含まれているんだけど、補完できないオプションあったりして、いまいちだった。なのでそれを直すことにした。 何日か前に修正して Pull Request を送ったら無事取り込まれたので、どういう感じで修正したのか、その過程を紹介してみる。補完関数の書き方が分からない人でも雰囲気は伝わると思うので参考にしてみてほしい。 ちなみに、ghq 自体の詳しい使い方は作った人の紹介記事を見るのが良いと思う。 どこを直すか まず、ghq コマンドの基本的な使い方はこんな感じ。 # GitHub の mollifier/config リポジトリをローカルに clone する % ghq get mollifier/config # clone したリポジトリを一覧表示す
僕はコマンドラインで使うシェルスクリプトを書くことがけっこうあるんだけど、インターフェイスというか呼び出し方はとても大事だと思ってるので、そこにわりと時間をかけて考えるようにしてる。実装はいつでも変更できるけど呼び出し方を変えた時は利用者にも変更を強いるので、できれば最初から良い設計で作りたいと思っている。 そこで、僕がシェルスクリプトのオプションとか引数とかの仕様を決める上で注意していることをまとめてみた。シェルスクリプトや、その他コマンドラインのツールを作るときに参考にしてほしい。 シェルの種類は bash や zsh を想定してるけど、実装によらない話なのでどんなシェルでも使えると思う。 エラーの時に Usage (使い方ヘルプメッセージ)を表示するのはやめる エラーになった時に Usage (使い方ヘルプメッセージ) を表示するスクリプトがあるけど、やめたほうがいいと思う。例えばこ
のような形式で実行できる。 こちらで紹介されている.cファイルを実行すると自動でビルド->実行までしてくれるような設定が可能で、もはやなんでもできそうな感じがする。スゴイ 現在は下のように設定している。練習がてらjavaを追加。 alias -s txt='cat' alias -s html='google-chrome' alias -s rb='ruby' alias -s py='python' alias -s hs='runhaskell' alias -s php='php -f' alias -s {gz,tar,zip,rar,7z}='unarchive' # preztoのarchiveモジュールのコマンド(https://github.com/sorin-ionescu/prezto/tree/master/modules) alias -s {gif,jpg,j
背景 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を設定するのはつらい……。そんな方
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く