タグ

zshに関するhigeorangeのブックマーク (34)

  • zsh始めてみる - すぎゃーんメモ

  • コマンドが失敗したらプロンプトを赤くする - blog.8-p.info

    しばらく前から、コマンドの終了ステータスをプロンプトの色に反映させるようにしている。 終了ステータスとは C言語なら int main(int argc, char* argv[]) { ... return 0; } この return している 0 が終了ステータス。この整数値の下位 8bit がプロセスの終了時に親 (そのプロセスを起動したプロセス) にわたる。 終了ステータスの指定方法はいろいろある。C言語の場合 main 関数の戻り値以外にも exit 関数の引数でも指定できる。Ruby, Perl の場合、そもそも main 関数は無くて exit 関数に引数を与える方法だけがつかえる。 この値はシェル上で $? で参照できる。 % perl -e 'exit(0xdead)'; echo $? 173 % 慣例として、正常終了のときは 0 を返すことになっている。 % ls

  • 『zsh最強シェル入門』読んでるメモ - rderaログ

    zsh最強シェル入門 作者: 中島能和出版社/メーカー: 翔泳社発売日: 2008/12/04メディア: 単行(ソフトカバー)購入: 7人 クリック: 175回この商品を含むブログ (50件) を見るサポートページ:http://lpic.jp/zsh/ 正誤表:正誤表|翔泳社の 2009/01/09現在、登録されていない。 の内容などを記述していたんですが、それはプライベート日記に移動しました。 CHAPTER3 p38 ^Fでカーソルを右に1文字移動だと思う。 ^Bでカーソルを左に1文字移動だと思う。 CHAPTER5 p117 AUTO_DIRECTORY_VARSオプションが見当たらない。 CHAPTER8 p186 変数IFSの値を『,』と代入したがうまく行かない。 例えば、以下のようなスクリプトがある。ファイル名sample.zsh 1 echo $# 2 IFS=, 3

    『zsh最強シェル入門』読んでるメモ - rderaログ
  • zshの設定メモ - Webtech Walker

    ずっとbashを使ってたんですが、この前ようやくzshにして色々設定したので覚え書き程度に。メインはMacで使いますが、一応Linuxとかでも同じになるようにしています。 補間 何はともあれzsh使うならこれだけは指定しておけということなので。 autoload -U compinit compinit 文字コード UTF-8に設定 export LANG=ja_JP.UTF-8 プロンプト カレントディレクトリ、ユーザー名を2行で表示。見やすいように上に改行を入れて、カレントディレクトリは黄色にしました。エスケープ使うとコピペできないのでcolorsをロードしてます。 autoload colors colors PROMPT=" %{${fg[yellow]}%}%~%{${reset_color}%} [%n]$ " PROMPT2='[%n]> ' こんな感じ。 履歴 履歴を保存す

    zshの設定メモ - Webtech Walker
    higeorange
    higeorange 2008/12/18
    .zhsrc 説明つき
  • http://www.jmuk.org/diary/index.php/2007/02/23/2/

  • 漢のzshに乗り換えた時にアッーってなるコト - 技術メモ帳

    男のbashユーザーが、バラ色の紳士こと漢のzshに乗り換えたときに アッーってなるコト事を先ほどいくつか思いついたので共有する。 !!とかの履歴実行はrコマンドで zshには、r というシェル組み込みコマンドがあって 履歴からの実行が簡単に行える。 たとえば、一番最後に実行したviコマンドを実行したいときなどだ。 bashなんかだと !vi で出来るのだが、 rコマンドだったら % r vi でよい。 直前に実行したコマンドを再び実行したいとき、 bashなんかだと !! というやり方になるが、 rコマンドでは、 % r とするだけでよい。 また、文字列を置き換えてからの履歴実行はどうだろう。 たとえば次のようなbashの例だ。 $ vi .zshrc $ !vi:s/zsh/bash/ これは、最後に実行したviコマンドの引数文字列を ":s/zsh/bash/" によりzshという文

  • zshのinfo の読書メモ

    これは zsh manual を読みながら書いたメモである。 僕には判りきっている部分とか、必要としない機能とか、意味が判らない場所とかは適当に読み飛しているので注意 1. The Z Shell Manual 1.1 Producing documentation from zsh.texi html 版マニュアルは http://zsh.sunsite.dk/Doc/ にある 2. Introduction zsh は、スタンダードなシェルの中では ksh に最も近い。 2.1 Author zsh をはじめたのは Paul Falstad <pf@zsh.org>. 現在は zsh-workers mailing list <zsh-workers@sunsite.dk> でメンテされていて、コーディネータは Peter Stephenson <pws@zsh.org>. 彼へのコン

  • shell のちょっとしたテクニック - odz buffer

    後輩が cat README | tr ' ' '\n' | sort | uniq -c | sort -nr | head てなテクニックを見て、びっくりしたみたいな話をしていたのだが、こういうパイプラインを利用するテクニックを学んでいないのは色々損な気がする。 ていうか、サーバで丸一日以上かかるような処理を実行するのもしょっちゅうなのに、GNU screen も nohup も知らないってのはいろいろ支障があるような気もするのだが、だれも教えないものかなぁ。 ということで、bash or zsh のちょっとしたテクニックとか*1。リダイレクトとかパイプラインは略。 連続実行 単純に連続実行。 % foo; barfoo が正常終了したときだけ bar を実行 % foo && barfoo が正常終了しなかったときだけ bar を実行 % foo || bar&&、||は来は論理演

    shell のちょっとしたテクニック - odz buffer
  • zsh: diffの結果をvimで色付けして表示するグローバルエイリアス - Accept Things

    コードを書いていると、以前のコードと現在のコードとのdiffを取りたいことがよくあります。 でも、diffの結果はちょっと読みにくい。もしdiffの結果が色付けされていたら、もっと読みやすいじゃないかと、今日ふと思いました。 そこで、zshのグローバルエイリアスを使って、diffの結果をvimで色付けして表示するようにしてみました。(.vimrcには「syntax on」と書いておきます。) % vim ~/.zshrc [...] # View command results(stdout) by vim export VIM_TMP=/tmp/vim.tmp alias -g V="> $VIM_TMP$$; vim $VIM_TMP$$"仕組みは簡単で、一時ファイルにコマンドの実行結果を保存して、vimでその一時ファイルを開いているだけです。一時ファイルを作っている所が、ちょっとダサ

    zsh: diffの結果をvimで色付けして表示するグローバルエイリアス - Accept Things
  • 技術メモ帳 - zshで出来ている新感覚エディタzed

    zshのZLE Editorを使って作られた zedというテキストエディタがカッコいいうえに非常に便利。 zshの補完がそのまま使えたりする。 % autoload zed % zed ./test.txt 操作方法は、 変更を保存するときは、Ctrl+X Ctrl+W または Ctrl+J と入力。 破棄して終了したいときは Ctrl+C を入力すればいい。 あとはどんな bindkey をしているかによって変わるのだが 基的にemacsキーバインド 使ってみればわかるけどすごく新感覚なエディタ。 その場で編集してる感がすごくある。 ソースにも "他のシェルにはコレは出来ない" と書いてある。(いいすぎだ) # No other shell could do this. # Edit small files with the command line editor. あと、以下のような

    技術メモ帳 - zshで出来ている新感覚エディタzed
  • 技術メモ帳 - zsh/filesで引数の最大バイト数を回避する

    zshmodules の zsh/files を利用すると、 chgrp, chown, ln, mkdir, mv, rm, rmdir, sync といったコマンドが、 zsh組み込みの関数に置換えられる。 メリットとしては、 移植性が高くなる、 引数文字列の最大バイト数の制限を受けなくなる ということが挙げられるだろう。 このうち、特に僕が便利だなと思っているのが、 引数文字列の最大バイト数の制限を受けなくなるということだ。 簡単に説明すると、 通常、コマンドを実行するときに 引数文字列のバイト数が一定の値を越えると 以下のようにエラーを出して処理をしてくれない。 % mv ./* ../dir zsh: argument list too long: mv そして最悪な事にコレは、 グロブなどを展開した後の文字列のバイト数であるため、 zsh の extended_glob とは非

  • 画面を復元するコマンド altscreenコマンド作った - 技術メモ帳

    引数に指定されたコマンドが終了したときに、 そのコマンドを起動したときの画面に 復元するコマンド(関数)作った。 # for zsh && terminfo function altscreen() { { tput smcup; $@; } always { tput rmcup; } } termcapを使用している環境では smcup を ti、rmcup を te にそれぞれ置き換える必要があります。 使い方のサンプル altscreen zsh altscreen cat .zshrc altscreen ssh -l user@host

  • http://hiki.ex-machina.jp/zsh/index.cgi

  • 技術メモ帳: [unix]複数のファイルの名前をまとめて変更する

    複数のファイルの名前を変更する際に、 便利なコマンドというものがある。 いくつかご紹介させていただこう。 カレントディレクトリにあるファイルの名前を、 たとえば、*.html を *.htm と名前を変更するという課題に対し どのぐらいエレガントに書けるかというのを比較してみる。 まず、普通にやったらどうだろう。 おそらく、for文 をつかうことだろう。 for file in *.html do base=`basename $file .html` mv $base.html $base.htm; done; zshだともうちょっとスマートにかけて、 for file in *.html do mv $file:r.html $file:r.html; done; こんな具合。 for文 が嫌いなネット右翼のために、 xargs を使ってこの問題を解いてみよう。 ls -1 *.htm

  • .zshrcの設定 - tsaka’s blog

    zsh の設定ファイルです。 現在のオプション(setoptで有効になる項目)を確認する場合は、"set -o"を実行してください。 一通り、zshを理解するには以下の連載が役に立つと思います。 漢のzsh | コラム | エンタープライズ | マイコミジャーナル 書籍ではこちらが参考になります。 zsh最強シェル入門 作者: 中島能和出版社/メーカー: 翔泳社発売日: 2008/12/04メディア: 単行(ソフトカバー)購入: 7人 クリック: 175回この商品を含むブログ (50件) を見る 確認しているzshのバージョン 5.0.4 (2013.12.21 リリース) 確認しているOS Fedora 20 で確認。 # 文字コードの設定 export LANG=ja_JP.UTF-8 # パスの設定 PATH=/usr/local/bin:$PATH export MANPATH=

    .zshrcの設定 - tsaka’s blog
  • bash -> zsh 移行レポート - おもてなしの空間

    ●背景 春くらいに zsh がマルチバイト文字に正式対応したので、zsh に移行しない理由は何もなくなったので、思いきって zsh に移行してみた。 ●マニュアル zsh は長い歴史のある素晴しいソフトなんだが、全然普及しないのは、ドキュメントの出来がひどいからだろう。 仕様集という感じでまとまっておらず、デンマーク人が書いているからか、とても英語とは思えない個所も多々あり(俺なんからヒトのことはいえんが)とにかく読みにくい。 作業に入る前に三日程眺めたが、zsh に関しては、マニュアルは読むものではなく、リファレンスマニュアル的に引くだけのものと考えた方がいい。 ●結論 結論からいうと、移行作業は、拍子抜けするくらい楽だった。こんなことだったら、もっと早くに移行すべきだった。 .bash_profile -> .zprofile は実質的な変更個所なし .zshrc は初回起動時の設定支

    bash -> zsh 移行レポート - おもてなしの空間
  • zshに移行中 - ヒルズで働く@robarioの技ログ

    zshの設定をする暇が無くてbashとzshを併用していたのだけれども、ぼちぼちzshにシフトできてきた。 一番困っていたのが、補完候補を表示してくれるだけで良いのに勝手に入力までされちゃう機能。シーケンシャルな選択は( ゚Д゚)マンドクセー。これは unsetopt AUTO_MENU で解決。 次にプロンプト。常に自分のいるディレクトリは表示しておいて欲しいのですが、入力開始位置がずれるのが嫌なので単純にプロンプトにディレクトリ表示を追加するのはダメで、bashでは2段プロンプトにしていました。zshでは右側に表示されるプロンプトもあるのですが、陶しいのでzshでも2段プロンプトにしました。 PS1=$'%{\e[0;32m%}%(2L.[%L].)%n%u@%m:\%{\e[0m%}%{\e[0;33m%}%~%{\e[0m%}\n%# ' おまけで 色付け シェルレベルが2以上

    zshに移行中 - ヒルズで働く@robarioの技ログ
  • [ZshWiki]

    Zsh is a command-line interpreter for the shell programming language. It includes features like completion, context-sensitive help, and directory management. Zsh also supports customization through themes and plugins. The Zsh framework can be used to develop LGBT inclusion initiatives. It provides a structure and guidance on how to implement these initiatives effectively. The framework can be tail

  • zshでコマンド入力中に親ディレクトリに移動する技

    ■ zshでコマンド入力中に親ディレクトリに移動する技 今日のなんでやねんで^を押すとcd ..(とその続き)という便利な技を知ったのでさっそくトライ。これはいいね! おれ、zsh使いだけど自分の.zshrcにはfunction定義が一個もないという体たらくなんだよな。これでめでたく、ひとつ導入だ!(笑) function cdup() { echo cd .. zle reset-prompt } zle -N cdup bindkey '\^' cdup echoはなくてもいいかな……と思ったが、いちおう残しておく。chpwd()の書き換え技はウザいので導入しない。おれはそんなに「ls」しないタチなので。 ■ スクロールバーのついた設定画面に困惑する 新しいiPod shuffleのファイル転送はヘッドフォンジャックを使うそうだが、性能は出るのだろうか。正直、今使ってる512MBのsh

  • ディレクトリに名前を付けて簡単に移動できるようにする - 技術メモ帳

    Named Directory という機能があるらしい。 やり方は簡単で、 hash コマンドの -d オプションを利用する。 hash -d 名前=ディレクトリパス 以後、cd ~名前 で移動できるようになる。 たとえば以下のようにすると、 % hash -d test=/usr/local/src こんな感じで移動できるようになる。 % cd ~test ~test% # ここはプロンプトの設定にもよる ~test% pwd /usr/local/src ちなみに、 setopt auto_cd としておくと、 もっと簡単に移動できる。 % ~test ~test% 追記: どうも、hash -d でなくともよく 実際には任意の変数に cd ~変数 とすることでその変数の文字列が指すパスに 移動することが出来るようだ。 したがって、変数なら何でも良いので % src=/usr/loca