おっぱぴぃの日誌

プログラミングのこととか書くブログ.興味があれば何でも書く.

オープンセミナー2014@岡山に参加しました

オープンセミナー2014@岡山に参加しました.

オープンセミナー2014@岡山

勉強会の際のTLが オープンセミナー2014@岡山 まとめ #oso2014 - Togetterまとめ にまとめられています.

今回が初めての勉強会への参加だったので,とっても緊張しました.

とりあえずいっぱい覚えて帰ろうと思ってスライドに書いてる事を がしがしノートPCでメモってたんですが,後から資料公開されるんですね.

もっと内容に関する自分の思った事を書いとけば良かったなぁと感じました.

懇親会では,これまた緊張してあんまり他の人と話す事が出来なかったのが残念でした.

次回勉強会に参加して,懇親会に参加した時は, あんまりびくびくせずに頑張って喋りかけに行きたいなぁと思います. あと名刺作ろうかなと思います.

zshrcの設定

前回まで

前回のエントリでzshをターミナルで使うように設定しました.

今回は設定ファイルであるzshrcをいじいじしていきます.

実際に書いてみた

LANG

まずは環境変数LANGを設定します. zshから実行するコマンドがLANGで指定したロケールで動作するようです.

export LANG=ja_JP.UTF-8

PROMPT

次にプロンプトを設定します.色付けをしたいので以下の記述を追加.

# use color
autoload -U colors
colors

これで色を使えるので以下のような記述を追加しました.

local p_cdir="$'\n'%B%F{green}[%~]%f%b"$'\n'
local p_info="%F{yellow}%n@%m%f"
PROMPT="$p_cdir$p_info > "

%B%bで太字,%F%fで色付けが出来るみたい. %~でカレントディレクトリ,%nでユーザ名,%mで計算機名を表示してます.

このプロンプトの設定だとこんな感じの表示に.

f:id:oppapili:20131116200710p:plain

うむ,なかなかいい感じですね.

vcs_info

いやいやしかし.zshを使おう!というのはそもそもgitのブランチがいい感じに表示されてるのが理由だったのだけれども.それはどうやって設定するんだろう?

なにやら右プロンプトとvcs_infoというのが大事そう.早速使ってみる.

zshのプロンプトにGitのブランチ名を表示する - きたけーTechブログ

ここを参考に設定.

autoload -Uz vcs_info
# 表示フォーマットの指定
# %b ブランチ情報
# %a アクション名(mergeなど)
zstyle ':vcs_info:*' formats '[%b]'
zstyle ':vcs_info:*' actionformats '[%b|%a]'
precmd () {
    psvar=()
    LANG=en_US.UTF-8 vcs_info
    [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_"
}

これでバージョン管理システムの情報が取れるのだとか.

プロンプトの部分を以下のように変更してみた.

# prompt
local p_cdir=$'\n'"%F{green}[%~]%f"$'\n'
local p_info="%F{yellow}%n@%m%f"
PROMPT="$p_cdir$p_info > %F{cyan}%1v%f"

このときの表示がこれ.

f:id:oppapili:20131116203010p:plain

おー見える見える.

RPROMPT

じゃあこれをいい感じ(右プロンプト)にしてみよう.

どうやらRPROMPTにかけば良さげ.しかも一回書いたら消える設定まであるとか.ほうほう.

# prompt
local p_cdir=$'\n'"%F{green}[%~]%f"$'\n'
local p_info="%F{yellow}%n@%m%f"
PROMPT="$p_cdir$p_info > "
RPROMPT="%F{cyan}%1v%f"
# disappear RPROMPT after command
setopt transient_rprompt

上のように書くと

f:id:oppapili:20131116203713p:plain

おーこれはいい感じ.

とりあえずこれで当初の目的は果たせた. あとはzsh使うのに便利そうな設定を入れて行きます.

git-completion

git-completionを前から使ってたのでそれをzshでも使えるようにします.

curl -O https://raw.github.com/git/git/master/contrib/completion/git-completion.zsh

git-completion.bashのあるところにgit-completion.zshをおきました.依存関係があるのでbashの方も入れておかなくちゃダメみたいです.後は以下の記述で有効にしておく.

autoload -U compinit
compinit -u

おわりに

あとは個人的なaliasの設定を移植して,これでもともと使ってたbashと同じような環境になりました!

今度は友人が使ってた補完された候補間をカーソルキーで選択できるようにしてみたい. まぁそれは気が向いたらで.

zshの利用

zsh

ずーっとMac上でbashを使っていたんだけども,zshだとgitブランチ名が1度表示されて後は消えるすっきりした表示になるよという事らしい.

というわけでzshを使うようにしてみた.

起動時のログインシェル変更

$ cat /etc/shells

を実行し,利用できるシェルを確認する.

僕の環境ではこんなん.

f:id:oppapili:20131115135215p:plain

次にログインシェルを変更するコマンドを叩く.

$ chsh -s /bin/zsh

間違えると最悪ログインできないらしいので気をつける.

パスワードを入力してターミナルを再起動すると以下のような画面に.

f:id:oppapili:20131115212024p:plain

なにやら結構変わったみたい.

.zshrc

bashだと設定ファイルは.bash_profileですがzshでは.zshrcに設定を書くみたいです.

研究室の友人に設定ファイルをいただいたので参考にいろいろ書いてみる.

とはいえ少しずつ入れないと何が入ってるかわからなくなっちゃうので自分で調べながら入れる事にする.

長くなりそうなので以降は次のエントリで!

MarvericksでMacPortsが動かない

原因

Xcodeのコマンドラインツールが入ってないのが原因でした.

[Mac] コマンドラインツールのインストール | HAPPY*TRAP

アップデート以前はこの方法でコマンドラインツールが入れられたのですが, どうやらアップデート後はそうも行かない様子.

f:id:oppapili:20131114210626p:plain

いやいやないじゃないか.

対処

という事でどうやっていれたらいいのか調べてみました.

xcode-select --install

どうやらこれでインストールできる様子. 実際にコマンド実行するとインストールでき,MacPortsも使えるようになりました!

同じ症状で困ってる人は試してみてください.

参考

[Mac] コマンドラインツールのインストール | HAPPY*TRAP

OSX MavericksでCommandLine Toolsを入れる方法 – ま鉄系