Movatterモバイル変換


[0]ホーム

URL:


Search

Hatena Developer Blog

2006-05-17

5月15日の技術勉強会

5月17日に行われました技術発表会の内容を撮影した動画ファイルを公開いたしました。内容は以下のとおりです。

テーマzsh勉強
発表d:id:secondlife
時間21:09

動画ファイル

以下の再生画面より、勉強会の動画をご覧いただけます。

zsh とは

至高のシェル

何がいいの?

強力すぎる autocomplete

autoload -U compinit; compinit

/usr/share/zsh/*/functions/Completion/

コマンドごとに様々な補完関数が定義されている (487個)

apt-get install rub[tab]
scp gorou@rails2u.com:[tab]
./configure --[tab]

C-q でのコマンドスタック

グローバルエイリアス

パイプ含めたエイリアスも作れるよ。

alias -g L="| $PAGER"alias -g G="| grep"

あたりを設定しておくと超便利。

cd -[tab]

よしなに展開

ワイルドカード

grep foo */**
cd /h/s/t

かゆいところに手が届く設定

PROMPT,RPROMPT
preexec などのイベントで呼び出される関数
if [ "$TERM" = "screen" ]; then  preexec() {    # see [zsh-workers:13180]    #http://www.zsh.org/mla/workers/2000/msg03993.html    emulate -L zsh    local -a cmd; cmd=(${(z)2})    echo -n "^[k$cmd[1]:t^[\\"  }fi

vi mode

テトリス

autoload -U tetris; zle -N tetris

M-x tetris

その他オススメ設定

sudo cmd で補完したいけど補完が効かない…、という場合

zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin \                             /usr/sbin /usr/bin /sbin /bin /usr/X11R6/bin

オレオオプション設定

# based byhttp://devel.aquahill.net/zsh/zshoptions# 複数の zsh を同時に使う時など history ファイルに上書きせず追加するsetopt append_history# 指定したコマンド名がなく、ディレクトリ名と一致した場合 cd するsetopt auto_cd# 補完候補が複数ある時に、一覧表示するsetopt auto_list# 補完キー(Tab, Ctrl+I) を連打するだけで順に補完候補を自動で補完するsetopt auto_menu# カッコの対応などを自動的に補完するsetopt auto_param_keys# ディレクトリ名の補完で末尾の / を自動的に付加し、次の補完に備えるsetopt auto_param_slash# 最後がディレクトリ名で終わっている場合末尾の / を自動的に取り除く#setopt auto_remove_slash# サスペンド中のプロセスと同じコマンド名を実行した場合はリジュームするsetopt auto_resume# ビープ音を鳴らさないようにするsetopt NO_beep# {a-c} を a b c に展開する機能を使えるようにするsetopt brace_ccl# 内部コマンドの echo を BSD 互換にする#setopt bsd_echo# シンボリックリンクは実体を追うようになる#setopt chase_links# 既存のファイルを上書きしないようにする#setopt clobber# コマンドのスペルチェックをするsetopt correct# コマンドライン全てのスペルチェックをする#setopt correct_all# =command を command のパス名に展開するsetopt equals# ファイル名で #, ~, ^ の 3 文字を正規表現として扱うsetopt extended_glob# zsh の開始・終了時刻をヒストリファイルに書き込む#setopt extended_history# Ctrl+S/Ctrl+Q によるフロー制御を使わないようにするsetopt NO_flow_control# 各コマンドが実行されるときにパスをハッシュに入れる#setopt hash_cmds# 直前と同じコマンドラインはヒストリに追加しないsetopt hist_ignore_dups# コマンドラインの先頭がスペースで始まる場合ヒストリに追加しないsetopt hist_ignore_space# ヒストリを呼び出してから実行する間に一旦編集できる状態になるsetopt hist_verify# シェルが終了しても裏ジョブに HUP シグナルを送らないようにするsetopt NO_hup# Ctrl+D では終了しないようになる(exit, logout などを使う)setopt ignore_eof# コマンドラインでも # 以降をコメントと見なすsetopt interactive_comments# auto_list の補完候補一覧で、ls -F のようにファイルの種別をマーク表示setopt list_types# 内部コマンド jobs の出力をデフォルトで jobs -l にするsetopt long_list_jobs# コマンドラインの引数で --prefix=/usr などの = 以降でも補完できるsetopt magic_equal_subst# メールスプール $MAIL が読まれていたらワーニングを表示する#setopt mail_warning# ファイル名の展開でディレクトリにマッチした場合末尾に / を付加するsetopt mark_dirs# 補完候補が複数ある時、一覧表示 (auto_list) せず、すぐに最初の候補を補完する#setopt menu_complete# 複数のリダイレクトやパイプなど、必要に応じて tee や cat の機能が使われるsetopt multios# ファイル名の展開で、辞書順ではなく数値的にソートされるようになるsetopt numeric_glob_sort# コマンド名に / が含まれているとき PATH 中のサブディレクトリを探す#setopt path_dirs# 8 ビット目を通すようになり、日本語のファイル名などを見れるようになるsetopt print_eightbit# 戻り値が 0 以外の場合終了コードを表示する#setopt print_exit_value# ディレクトリスタックに同じディレクトリを追加しないようになる#setopt pushd_ignore_dups# pushd を引数なしで実行した場合 pushd $HOME と見なされる#setopt pushd_to_home# rm * などの際、本当に全てのファイルを消して良いかの確認しないようになる#setopt rm_star_silent# rm_star_silent の逆で、10 秒間反応しなくなり、頭を冷ます時間が与えられる#setopt rm_star_wait# for, repeat, select, if, function などで簡略文法が使えるようになるsetopt short_loops# デフォルトの複数行コマンドライン編集ではなく、1行編集モードになる#setopt single_line_zle# コマンドラインがどのように展開され実行されたかを表示するようになる#setopt xtrace# 色を使うsetopt prompt_subst# シェルのプロセスごとに履歴を共有setopt share_history# history (fc -l) コマンドをヒストリリストから取り除く。setopt hist_no_store# 文字列末尾に改行コードが無い場合でも表示するunsetopt promptcr#コピペの時rpromptを非表示するsetopt transient_rprompt# cd -[tab] でpushdsetopt autopushd

5月15日の技術勉強会(音声版)

Download

5月15日の技術勉強会(ダウンロード動画版)

060515hatenatech.mp4

ツイート

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です読者をやめる読者になる読者になる

[8]ページ先頭

©2009-2025 Movatter.jp