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

いろいろ雑記

Git道場に向けて環境を見直しました。

今までgitはデフォルトな感じで使っていたのです。
いわば武器を持たない空手の状態
そんな状態で兵共が集まるGit道場には参加できない!
というわけで下記を参考に環境を整えることにしました。

リンク名からだいたい想像できると思いますが

1. gitのエイリアスを設定して
2. git logとか見たときの表示を修正して
3. zshのgitの補完を強化して
4. zshのプロンプトにブランチ名を表示するようにしました。

追記

5. zshのプロンプトにファイルの状況も表示するようにしました。
6. fugitive.vimを導入しました。

gitのエイリアスを設定するために$HOME/.gitconfigに下記を追加

[color]
  ui = true
[alias]
  co = checkout
  ci = commit
  st = status
  br = branch
  hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
[core]
  excludesfile = ~/.gitignore
  pager = lv -c    

completionのファイルを取得して.zshrcに設定を追加する。

wget https://raw.github.com/git/git/master/contrib/completion/git-completion.bash
source ${HOME}/git-completion.bash

autoload -Uz add-zsh-hook
autoload -Uz colors
colors
autoload -Uz vcs_info
zstyle ':vcs_info:*' enable git svn hg bzr
zstyle ':vcs_info:*' formats '[%s:%b]'
zstyle ':vcs_info:*' actionformats '[%s:%b|%a]'
zstyle ':vcs_info:(svn|bzr):*' branchformat '%b:r%r'
zstyle ':vcs_info:bzr:*' use-simple true

autoload -Uz is-at-least
if is-at-least 4.3.10; then
        zstyle ':vcs_info:git:*' check-for-changes true
        zstyle ':vcs_info:git:*' stagedstr "+"
        zstyle ':vcs_info:git:*' unstagedstr "?"
        zstyle ':vcs_info:git:*' formats '%c%u[%s:%b]'
        zstyle ':vcs_info:git:*' actionformats '%c%u[%s:%b|%a]'
fi

function _update_vcs_info_msg() {
        psvar=()
        LANG=en_US.UTF-8 vcs_info
        [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_"
}
add-zsh-hook precmd _update_vcs_info_msg

RPROMPT="%1(v|%F{green}%1v%f|)"     

$HOME/.vimrcにfugitive.vimの設定を追加

NeoBundleでインストール

NeoBundle 'tpope/vim-fugitive'

ステータスラインを変更

set statusline=%F%m%r%h%w[%{&ff}]%{fugitive#statusline()}%=%{g:NyanModoki()}(%l,%c)[%P]

git statusとgit diffとgit blameのキーマップを追加

nnoremap gs :<C-u>Gstatus<Enter>
nnoremap gi :<C-u>Gdiff<Enter>
nnoremap gb :<C-u>Gblame<Enter>

Git道場楽しみや
とりあえず設定はコピペったけどGit道場後にこの設定たちも微調整していこう。

たわごと

1ヶ月の予定です。
座間味キャンプには行きたいでござる。