[from now] 2013/12/03 01:49:41

diff --git a/.Xmodmap b/.Xmodmap
new file mode 100755
index 0000000..493004f
--- /dev/null
+++ b/.Xmodmap
@@ -0,0 +1,19 @@
+! keycode 37 = Caps_Lock
+! keycode 66 = Control_L
+! clear Lock
+! clear Control
+! add Lock = Caps_Lock
+! add Control = Control_L
+
+! keycode 66 = Control_L
+! clear Lock
+! add Control = Control_L
+!
+! Change Caps_Lock to Ctrl
+!
+remove Lock = Caps_Lock
+!remove Control = Control_L
+!keysym Control_L = Caps_Lock
+keysym Caps_Lock = Control_L
+!add Lock = Caps_Lock
+add Control = Control_L
diff --git a/.gemrc b/.gemrc
new file mode 100644
index 0000000..5c10755
--- /dev/null
+++ b/.gemrc
@@ -0,0 +1,2 @@
+install: --no-rdoc --no-ri
+update:  --no-rdoc --no-ri
diff --git a/.gitignore b/.gitignore
new file mode 100755
index 0000000..5b82eaa
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,14 @@
+# vim
+*.~
+*~
+.vimpos
+vim/.vim/back
+
+# zsh history
+.zsh_hist*
+
+# winmerge
+*.bak
+
+# tag
+tags
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..60e7ad8
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,60 @@
+[submodule "vimperator/vimperator-plugins"]
+	path = vimperator/vimperator-plugins
+	url = git://github.com/vimpr/vimperator-plugins.git
+[submodule "vimperator/vimperator-rc"]
+	path = vimperator/vimperator-rc
+	url = git://github.com/vimpr/vimperator-rc.git
+[submodule "vimperator/caisui"]
+	path = vimperator/caisui
+	url = git://github.com/caisui/vimperator.git
+[submodule "vimperator/377348"]
+	path = vimperator/377348
+	url = git://gist.github.com/377348.git
+[submodule "zsh/zsh.d"]
+	path = zsh/zsh.d
+	url = git://github.com/clear-code/zsh.d.git
+[submodule "tmux-MacOSX-pasteboard"]
+	path = tmux-MacOSX-pasteboard
+	url = git://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git
+[submodule "bashmarks"]
+	path = bashmarks
+	url = git://github.com/huyng/bashmarks.git
+[submodule "win/CraftLaunch/clnch3_extensions.git"]
+	path = win/CraftLaunch/clnch3_extensions.git
+	url = git://github.com/nitoyon/clnch3_extensions.git
+[submodule "vim/fonts/Monaco.git"]
+	path = vim/fonts/Monaco.git
+	url = git://gist.github.com/1634235.git
+[submodule "vim/fonts/ubuntu-mono-powerline.git"]
+	path = vim/fonts/ubuntu-mono-powerline.git
+	url = https://github.com/scotu/ubuntu-mono-powerline.git
+[submodule "rvm"]
+	path = rvm
+	url = git://github.com/wayneeseguin/rvm.git
+[submodule "rochefort/homebrew"]
+	path = rochefort/homebrew
+	url = https://github.com/rochefort/homebrew.git
+[submodule "kikaigyo/plist"]
+	path = kikaigyo/plist
+	url = git://github.com/kikaigyo/plist.git
+[submodule "trash-cli"]
+	path = trash-cli
+	url = https://github.com/andreafrancia/trash-cli.git
+[submodule "auto-fu.zsh"]
+	path = auto-fu.zsh
+	url = https://github.com/hchbaw/auto-fu.zsh.git
+[submodule "Ricty"]
+	path = Ricty
+	url = https://github.com/yascentur/Ricty.git
+[submodule "nodebrew"]
+	path = nodebrew
+	url = https://github.com/hokaccha/nodebrew.git
+[submodule "pythonz"]
+	path = pythonz
+	url = https://github.com/saghul/pythonz.git
+[submodule "profiles"]
+	path = profiles
+	url = https://github.com/todashuta/profiles.git
+[submodule "pyful"]
+	path = pyful
+	url = git://github.com/anmitsu/pyful
diff --git a/.minttyrc b/.minttyrc
new file mode 100755
index 0000000..16da766
--- /dev/null
+++ b/.minttyrc
@@ -0,0 +1,10 @@
+BoldAsFont=no
+Rows=51
+Term=xterm-256color
+Transparency=high
+Font=Ricty for Powerline
+Columns=78
+FontHeight=10
+Locale=ja_JP
+Charset=UTF-8
+FontSmoothing=partial
diff --git a/.rtorrent.rc b/.rtorrent.rc
new file mode 100755
index 0000000..47cf161
--- /dev/null
+++ b/.rtorrent.rc
@@ -0,0 +1,104 @@
+# This is an example resource file for rTorrent. Copy to
+# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
+# uncomment the options you wish to enable.
+
+# Maximum and minimum number of peers to connect to per torrent.
+#min_peers = 40
+#max_peers = 100
+
+# Same as above but for seeding completed torrents (-1 = same as downloading)
+#min_peers_seed = 10
+#max_peers_seed = 50
+
+# Maximum number of simultanious uploads per torrent.
+#max_uploads = 15
+
+# Global upload and download rate in KiB. "0" for unlimited.
+#download_rate = 0
+#upload_rate = 0
+
+# Default directory to save the downloaded torrents.
+directory = ~/Downloads/torrent
+
+# Default session directory. Make sure you don't run multiple instance
+# of rtorrent using the same session directory. Perhaps using a
+# relative path?
+session = ~/Downloads/torrent/.rtorrent
+
+# Watch a directory for new torrents, and stop those that have been
+# deleted.
+schedule = watch_directory,5,5,load_start=~/Dropbox/torrent/*.torrent
+schedule = untied_directory,5,5,stop_untied=
+
+# Close torrents when diskspace is low.
+schedule = low_diskspace,5,60,close_low_diskspace=100M
+
+# The ip address reported to the tracker.
+#ip = 127.0.0.1
+#ip = rakshasa.no
+
+# The ip address the listening socket and outgoing connections is
+# bound to.
+#bind = 127.0.0.1
+#bind = rakshasa.no
+
+# Port range to use for listening.
+#port_range = 6890-6999
+
+# Start opening ports at a random position within the port range.
+#port_random = no
+
+# Check hash for finished torrents. Might be usefull until the bug is
+# fixed that causes lack of diskspace not to be properly reported.
+#check_hash = no
+
+# Set whetever the client should try to connect to UDP trackers.
+#use_udp_trackers = yes
+
+# Alternative calls to bind and ip that should handle dynamic ip's.
+#schedule = ip_tick,0,1800,ip=rakshasa
+#schedule = bind_tick,0,1800,bind=rakshasa
+
+# Encryption options, set to none (default) or any combination of the following:
+# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
+#
+# The example value allows incoming encrypted connections, starts unencrypted
+# outgoing connections but retries with encryption if they fail, preferring
+# plaintext to RC4 encryption after the encrypted handshake
+#
+# encryption = allow_incoming,enable_retry,prefer_plaintext
+
+# Enable DHT support for trackerless torrents or when all trackers are down.
+# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
+# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
+# The default is "off". For DHT to work, a session directory must be defined.
+#
+# dht = auto
+
+# UDP port to use for DHT.
+#
+# dht_port = 6881
+
+# Enable peer exchange (for torrents not marked private)
+#
+# peer_exchange = yes
+
+#
+# Do not modify the following parameters unless you know what you're doing.
+#
+
+# Hash read-ahead controls how many MB to request the kernel to read
+# ahead. If the value is too low the disk may not be fully utilized,
+# while if too high the kernel might not be able to keep the read
+# pages in memory thus end up trashing.
+#hash_read_ahead = 10
+
+# Interval between attempts to check the hash, in milliseconds.
+#hash_interval = 100
+
+# Number of attempts to check the hash while using the mincore status,
+# before forcing. Overworked systems might need lower values to get a
+# decent hash checking rate.
+#hash_max_tries = 10
+
+
diff --git a/.screenrc b/.screenrc
new file mode 100755
index 0000000..6d27dc5
--- /dev/null
+++ b/.screenrc
@@ -0,0 +1,35 @@
+# change escape key
+escape ^j^j
+
+# default shell
+defshell /usr/local/bin/zsh
+
+# auto detach
+autodetach on
+
+# window list
+bind w windowlist -b
+
+# status line
+#hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
+#hardstatus alwayslastline "[%02c] %`%-w%{=b rw}%n %t%{-}%+w"
+#hardstatus alwayslastline "%{= rw} %H %{= wk}%-Lw%{= mw}%n%f* %t%{= wk}%+Lw %{= wk}%=%{= gk} %y/%m/%d %c "
+# http://mitukiii.jp/2010/12/31/gnu-screen-install-to-mac/
+hardstatus alwayslastline '%{= .r}%H%{-} %L=%-w%45L>%{=u r.}%n %t%{-}%+w %-17<%=%m/%d %02c:%s'
+caption always '%?%F%{= mw}%:%{= wk}%?%2n%f%07=%t%='
+
+# screen clipboard
+bindkey -m ' ' eval 'stuff \040' 'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | pbcopy"'
+bindkey -m Y   eval 'stuff Y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | pbcopy"'
+bindkey -m y   eval 'stuff y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | pbcopy"'
+bindkey -m W   eval 'stuff W'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | pbcopy"'
+
+# log
+logfile $HOME/Dropbox/log/screen.log/screen-%n-%H-%y%m%d-%t.log
+log on
+deflog on
+
+# scrollback
+defscrollback 100000
+
+
diff --git a/.screenrc_2 b/.screenrc_2
new file mode 100755
index 0000000..8e8759d
--- /dev/null
+++ b/.screenrc_2
@@ -0,0 +1,18 @@
+escape ^j^j
+defshell /usr/bin/zsh
+# hardstatus alwayslastline "%H[%n] [%w]#"
+# hardstatus ignore "%w | %h"
+# hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
+# screen clipboard
+bindkey -m ' ' eval 'stuff \040' 'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | xsel --input --clipboard"'
+bindkey -m Y   eval 'stuff Y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | xsel --input --clipboard"'
+bindkey -m y   eval 'stuff y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | xsel --input --clipboard"'
+bindkey -m W   eval 'stuff W'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | xsel --input --clipboard"'
+
+# log
+logfile $HOME/Dropbox/log/screen.log/screen-%n-%H-%y%m%d-%t.log
+log on
+deflog on
+
+# scrollback
+defscrollback 100000
diff --git a/.screenrc_mini b/.screenrc_mini
new file mode 100755
index 0000000..21fcca8
--- /dev/null
+++ b/.screenrc_mini
@@ -0,0 +1,35 @@
+# change escape key
+escape ^t^t
+
+# default shell
+defshell /usr/local/bin/zsh
+
+# auto detach
+autodetach on
+
+# window list
+bind w windowlist -b
+
+# status line
+#hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
+#hardstatus alwayslastline "[%02c] %`%-w%{=b rw}%n %t%{-}%+w"
+#hardstatus alwayslastline "%{= bw} %H %{= wk}%-Lw%{= rw}%n%f* %t%{= wk}%+Lw %{= wk}%=%{= gk} %y/%m/%d %c "
+# http://mitukiii.jp/2010/12/31/gnu-screen-install-to-mac/
+hardstatus alwayslastline '%{= .c}%H%{-} %L=%-w%45L>%{=u c.}%n %t%{-}%+w %-17<%=%m/%d %02c:%s'
+caption always '%?%F%{= cw}%:%{= wk}%?%2n%f%07=%t%='
+
+# screen clipboard
+bindkey -m ' ' eval 'stuff \040' 'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | pbcopy"'
+bindkey -m Y   eval 'stuff Y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | pbcopy"'
+bindkey -m y   eval 'stuff y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | pbcopy"'
+bindkey -m W   eval 'stuff W'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | pbcopy"'
+
+# log
+logfile $HOME/Dropbox/log/screen.log/screen-%n-%H-%y%m%d-%t.log
+log on
+deflog on
+
+# scrollback
+defscrollback 100000
+
+
diff --git a/.screenrc_ubuntu b/.screenrc_ubuntu
new file mode 100755
index 0000000..2641bde
--- /dev/null
+++ b/.screenrc_ubuntu
@@ -0,0 +1,32 @@
+# change escape key
+escape ^t^t
+
+# default shell
+defshell /usr/bin/zsh
+
+# auto detach
+autodetach on
+
+# window list
+bind w windowlist -b
+
+# status line
+#hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
+#hardstatus alwayslastline "[%02c] %`%-w%{=b rw}%n %t%{-}%+w"
+hardstatus alwayslastline "%{= rw} %H %{= wk}%-Lw%{= mw}%n%f* %t%{= wk}%+Lw %{= wk}%=%{= gk} %y/%m/%d %c "
+
+# screen clipboard
+bindkey -m ' ' eval 'stuff \040' 'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | xsel --input --clipboard"'
+bindkey -m Y   eval 'stuff Y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | xsel --input --clipboard"'
+bindkey -m y   eval 'stuff y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | xsel --input --clipboard"'
+bindkey -m W   eval 'stuff W'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | xsel --input --clipboard"'
+
+# log
+logfile $HOME/Dropbox/log/screen.log/screen-%n-%H-%y%m%d-%t.log
+log on
+deflog on
+
+# scrollback
+defscrollback 100000
+
+
diff --git a/.screenrc_win b/.screenrc_win
new file mode 100755
index 0000000..79ff282
--- /dev/null
+++ b/.screenrc_win
@@ -0,0 +1,34 @@
+# change escape key
+escape ^j^j
+
+# default shell
+defshell /bin/zsh
+
+# auto detach
+autodetach on
+
+# window list
+bind w windowlist -b
+
+# status line
+#hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w"
+#hardstatus alwayslastline "[%02c] %`%-w%{=b rw}%n %t%{-}%+w"
+#hardstatus alwayslastline "%{= rw} %H %{= wk}%-Lw%{= mw}%n%f* %t%{= wk}%+Lw %{= wk}%=%{= gk} %y/%m/%d %c "
+# http://mitukiii.jp/2010/12/31/gnu-screen-install-to-mac/
+hardstatus alwayslastline '%{= .r}%H%{-} %L=%-w%45L>%{=u r.}%n %t%{-}%+w %-17<%=%m/%d %02c:%s'
+caption always '%?%F%{= mw}%:%{= wk}%?%2n%f%07=%t%='
+
+# screen clipboard
+bindkey -m ' ' eval 'stuff \040' 'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | putclip"'
+bindkey -m Y   eval 'stuff Y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | putclip"'
+bindkey -m y   eval 'stuff y'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | putclip"'
+bindkey -m W   eval 'stuff W'    'writebuf $HOME/.tmp/screen-exchange' 'exec !!! sh -c "cat $HOME/.tmp/screen-exchange | putclip"'
+
+# log
+logfile $HOME/Dropbox/log/screen.log/screen-%n-%H-%y%m%d-%t.log
+log on
+deflog on
+
+# scrollback
+defscrollback 1000
+
diff --git a/.tmux.conf b/.tmux.conf
new file mode 100755
index 0000000..6dec39a
--- /dev/null
+++ b/.tmux.conf
@@ -0,0 +1,176 @@
+# prefixキーをctrl+jへ変更
+set -g prefix C-j
+unbind-key C-b
+bind-key C-j send-prefix
+
+# Macでクリップボード活用 http://d.hatena.ne.jp/koseki2/20110816/TmuxCopy
+set -g default-command "reattach-to-user-namespace -l zsh"
+# C-q で最新のバッファをクリップボードに
+bind C-q run-shell 'reattach-to-user-namespace tmux-pbcopy'
+
+# reload .tmux.conf
+# https://github.com/glidenote/learning-tmux
+unbind r
+bind   r source-file ~/.tmux.conf \; display-message 'source-file ~/.tmux.conf'
+
+# terminal
+set -g default-terminal screen-256color
+
+# prefixキー連打で直前のウィンドウと切り替え
+unbind C-j
+bind-key C-j last-window
+
+# copyモードのキーバインドをvi風に
+setw -g mode-keys vi
+
+# 縦画面分割、横画面分割をviライクに割当
+bind s split-window -v
+bind v split-window -h
+
+# 分割画面への移動をviライクに割当
+bind h select-pane -L
+bind j select-pane -D
+bind k select-pane -U
+bind l select-pane -R
+
+# ペインのサイズ変更をviライクに
+bind -r C-h resize-pane -L 5
+bind -r C-l resize-pane -R 5
+bind -r C-j resize-pane -D 5
+bind -r C-k resize-pane -U 5
+
+# prefix + spaceでウィンドウの一覧表示
+#bind Space choose-window
+
+# ctrl + 左右矢印でウィンドウ切替
+unbind-key C-Left
+bind-key -n C-Left prev
+unbind-key C-Right
+bind-key -n C-Right next
+
+## 後方スクロール行数(既定値は2000) http://d.hatena.ne.jp/kakurasan/20100311/p1
+set -g history-limit 999999
+
+
+# http://d.hatena.ne.jp/kakurasan/20100331/p1
+## UTF-8を用いるかどうかはロケールから自動検出される(必要のある場合のみ指定)
+#setw -g utf8 on
+#set -g status-utf8 on
+
+
+## メッセージ表示時間(既定値は1000?)
+set -g display-time 10000
+
+## バッファ上限数(既定値は9で0番-8番)
+set -g buffer-limit 32
+
+# screen-like hardcopy
+# http://pastebin.com/GHCykGs9
+#bind H capture-pane ; save-buffer -b 0 ~/tmux.hardcopy ; delete-buffer -b 0
+
+# cmatrix http://qiita.com/yuyuchu3333/items/77889084a1d19223f2b1
+#set -g lock-after-time 600
+#set -g lock-command "cmatrix -s -b"
+
+# ペイン終了
+bind x kill-pane
+# ウィンドウ終了
+bind X kill-window
+# ペイン番号表示
+bind i display-panes
+# コピーモード突入
+bind y copy-mode
+# ペースト
+#bind p paste-buffer
+
+# vでマーク開始
+bind -t vi-copy v begin-selection
+# yでヤンク
+bind -t vi-copy y copy-selection
+
+
+# tmux-powerline
+set -g status on
+set -g status-interval 2
+set -g status-utf8 on
+#set -g status-justify "centre"
+set -g status-left-length 60
+set -g status-right-length 90
+set -g status-left "#(~/.tmux-powerline/powerline.sh left)"
+set -g status-right "#(~/.tmux-powerline/powerline.sh right)"
+
+setw -g window-status-current-format "#[fg=default, bg=colour160]⮀#[fg=colour255, bg=colour160] #I ⮁ #W #[fg=colour160, bg=default]⮀"
+
+bind C-[ run '~/.tmux-powerline/mute_powerline.sh left'      # Mute left statusbar.
+bind C-] run '~/.tmux-powerline/mute_powerline.sh right'     # Mute right statusbar.
+
+set -g status-left-length 100
+set -g status-right-length 120
+
+
+## 既定の属性
+# 「xxx-fg」「xxx-bg」は色、「xxx-attr」は属性
+# 透明にしたい場合、端末によっては
+# status-bgを「default」にすると256色パレット色の表示が部分的におかしくなる?
+# 背景色は端末エミュレータの背景色に近いものを設定すると良いかも
+set -g status-fg   default
+set -g status-bg   default
+set -g status-attr default
+
+# status-left-* と status-right-* の設定はおすすめしない
+# status-leftやstatus-rightの中で記述したほうが良い
+set -g status-left-fg   default
+set -g status-left-bg   default
+set -g status-left-attr default
+
+set -g status-right-fg   default
+set -g status-right-bg   default
+set -g status-right-attr default
+
+## ウィンドウ一覧部における現在非アクティブなウィンドウの項目の表示
+setw -g window-status-fg   colour115
+setw -g window-status-bg   default
+setw -g window-status-attr bold
+
+## ウィンドウ一覧部における現在アクティブなウィンドウの項目の表示
+## 端末によっては256色の色を用いると正常に表示されない?
+setw -g window-status-current-fg   colour253
+setw -g window-status-current-bg   colour125
+setw -g window-status-current-attr bold
+
+# pane-active-border
+set -g pane-active-border-fg magenta
+#set -g pane-active-border-bg magenta
+
+## メッセージ/プロンプト
+set -g message-fg   colour115
+set -g message-bg   colour24
+set -g message-attr bright
+
+## スクロールの右上やコピーモード選択範囲のスタイル
+setw -g mode-fg   colour218
+# 256色パレットの色を付けると表示が変になる?(reverseすると回避可能?)
+setw -g mode-bg   colour125
+setw -g mode-attr reverse,bold
+
+
+# メモ用コメント
+# [一部]ファイル名: ~/.tmux.conf
+## ステータス行の書式
+  #(コマンド行)     コマンド出力の最初の行
+  #[属性]           色/属性の変更(例:#[fg=cyan,bright])
+  #H                ホスト名
+  #I                ウィンドウ番号
+  #P                ペイン番号
+  #S                セッション名
+  #T                ウィンドウタイトル
+  #W                ウィンドウ名
+  ##                「#」の文字
+# コマンドは繰り返し実行される (更新頻度はstatus-intervalによる・既定値は15秒)
+# 指定可能な色は
+# black red green yellow blue magenta cyan white
+# の他、256色パレット上のcolour0,colour1, ... colour255が利用可能
+# 指定可能な属性は
+#   bright(bold)[明るい(太字)], dim[暗い], underscore[下線], blink[点滅],
+#   reverse[反転], hidden[非表示], italics[イタリック], default[書式のクリア]
+#   (端末によっては効果がないものもある)
diff --git a/.tmux.conf_linux b/.tmux.conf_linux
new file mode 100755
index 0000000..56d7191
--- /dev/null
+++ b/.tmux.conf_linux
@@ -0,0 +1,174 @@
+# prefixキーをctrl+tへ変更
+set -g prefix C-t
+unbind-key C-t
+bind-key C-t send-prefix
+
+# default shell
+set -g default-shell /bin/zsh
+
+# reload .tmux.conf
+# https://github.com/glidenote/learning-tmux
+unbind r
+bind   r source-file ~/.tmux.conf \; display-message 'source-file ~/.tmux.conf'
+
+# terminal
+set -g default-terminal screen-256color
+
+# prefixキー連打で直前のウィンドウと切り替え
+unbind C-t
+bind-key C-t last-window
+
+# copyモードのキーバインドをvi風に
+setw -g mode-keys vi
+
+# 縦画面分割、横画面分割をviライクに割当
+bind s split-window -v
+bind v split-window -h
+
+# 分割画面への移動をviライクに割当
+bind h select-pane -L
+bind j select-pane -D
+bind k select-pane -U
+bind l select-pane -R
+
+# ペインのサイズ変更をviライクに
+bind -r C-h resize-pane -L 5
+bind -r C-l resize-pane -R 5
+bind -r C-j resize-pane -D 5
+bind -r C-k resize-pane -U 5
+
+# prefix + spaceでウィンドウの一覧表示
+#bind Space choose-window
+
+# ctrl + 左右矢印でウィンドウ切替
+unbind-key C-Left
+bind-key -n C-Left prev
+unbind-key C-Right
+bind-key -n C-Right next
+
+## 後方スクロール行数(既定値は2000) http://d.hatena.ne.jp/kakurasan/20100311/p1
+set -g history-limit 999999
+
+
+# http://d.hatena.ne.jp/kakurasan/20100331/p1
+## UTF-8を用いるかどうかはロケールから自動検出される(必要のある場合のみ指定)
+#setw -g utf8 on
+#set -g status-utf8 on
+
+
+## メッセージ表示時間(既定値は1000?)
+set -g display-time 10000
+
+## バッファ上限数(既定値は9で0番-8番)
+set -g buffer-limit 32
+
+# screen-like hardcopy
+# http://pastebin.com/GHCykGs9
+#bind H capture-pane ; save-buffer -b 0 ~/tmux.hardcopy ; delete-buffer -b 0
+
+# cmatrix http://qiita.com/yuyuchu3333/items/77889084a1d19223f2b1
+#set -g lock-after-time 600
+#set -g lock-command "cmatrix -s -b"
+
+# ペイン終了
+bind x kill-pane
+# ウィンドウ終了
+bind X kill-window
+# ペイン番号表示
+bind i display-panes
+# コピーモード突入
+bind y copy-mode
+# ペースト
+#bind p paste-buffer
+
+# vでマーク開始
+bind -t vi-copy v begin-selection
+# yでヤンク
+bind -t vi-copy y copy-selection
+
+
+# tmux-powerline
+set -g status on
+set -g status-interval 2
+set -g status-utf8 on
+#set -g status-justify "centre"
+set -g status-left-length 60
+set -g status-right-length 90
+set -g status-left "#(~/.tmux-powerline/powerline.sh left)"
+set -g status-right "#(~/.tmux-powerline/powerline.sh right)"
+
+setw -g window-status-current-format "#[fg=colour235, bg=colour27]⮀#[fg=colour255, bg=colour27] #I ⮁ #W #[fg=colour27, bg=colour235]⮀"
+
+bind C-[ run '~/.tmux-powerline/mute_powerline.sh left'      # Mute left statusbar.
+bind C-] run '~/.tmux-powerline/mute_powerline.sh right'     # Mute right statusbar.
+
+set -g status-left-length 100
+set -g status-right-length 120
+
+
+## 既定の属性
+# 「xxx-fg」「xxx-bg」は色、「xxx-attr」は属性
+# 透明にしたい場合、端末によっては
+# status-bgを「default」にすると256色パレット色の表示が部分的におかしくなる?
+# 背景色は端末エミュレータの背景色に近いものを設定すると良いかも
+set -g status-fg   default
+set -g status-bg   default
+set -g status-attr default
+
+# status-left-* と status-right-* の設定はおすすめしない
+# status-leftやstatus-rightの中で記述したほうが良い
+set -g status-left-fg   default
+set -g status-left-bg   default
+set -g status-left-attr default
+
+set -g status-right-fg   default
+set -g status-right-bg   default
+set -g status-right-attr default
+
+## ウィンドウ一覧部における現在非アクティブなウィンドウの項目の表示
+setw -g window-status-fg   colour115
+setw -g window-status-bg   default
+setw -g window-status-attr bold
+
+## ウィンドウ一覧部における現在アクティブなウィンドウの項目の表示
+## 端末によっては256色の色を用いると正常に表示されない?
+setw -g window-status-current-fg   colour253
+setw -g window-status-current-bg   colour125
+setw -g window-status-current-attr bold
+
+# pane-active-border
+set -g pane-active-border-fg magenta
+#set -g pane-active-border-bg magenta
+
+## メッセージ/プロンプト
+set -g message-fg   colour115
+set -g message-bg   colour24
+set -g message-attr bright
+
+## スクロールの右上やコピーモード選択範囲のスタイル
+setw -g mode-fg   colour218
+# 256色パレットの色を付けると表示が変になる?(reverseすると回避可能?)
+setw -g mode-bg   colour125
+setw -g mode-attr reverse,bold
+
+
+# メモ用コメント
+# [一部]ファイル名: ~/.tmux.conf
+## ステータス行の書式
+  #(コマンド行)     コマンド出力の最初の行
+  #[属性]           色/属性の変更(例:#[fg=cyan,bright])
+  #H                ホスト名
+  #I                ウィンドウ番号
+  #P                ペイン番号
+  #S                セッション名
+  #T                ウィンドウタイトル
+  #W                ウィンドウ名
+  ##                「#」の文字
+# コマンドは繰り返し実行される (更新頻度はstatus-intervalによる・既定値は15秒)
+# 指定可能な色は
+# black red green yellow blue magenta cyan white
+# の他、256色パレット上のcolour0,colour1, ... colour255が利用可能
+# 指定可能な属性は
+#   bright(bold)[明るい(太字)], dim[暗い], underscore[下線], blink[点滅],
+#   reverse[反転], hidden[非表示], italics[イタリック], default[書式のクリア]
+#   (端末によっては効果がないものもある)
diff --git a/.tmux.conf_server b/.tmux.conf_server
new file mode 100755
index 0000000..9f8d7ad
--- /dev/null
+++ b/.tmux.conf_server
@@ -0,0 +1,176 @@
+# prefixキーをctrl+tへ変更
+set -g prefix C-t
+unbind-key C-t
+bind-key C-t send-prefix
+
+# Macでクリップボード活用 http://d.hatena.ne.jp/koseki2/20110816/TmuxCopy
+set -g default-command "reattach-to-user-namespace -l zsh"
+# C-q で最新のバッファをクリップボードに
+bind C-q run-shell 'reattach-to-user-namespace tmux-pbcopy'
+
+# reload .tmux.conf
+# https://github.com/glidenote/learning-tmux
+unbind r
+bind   r source-file ~/.tmux.conf \; display-message 'source-file ~/.tmux.conf'
+
+# terminal
+set -g default-terminal screen-256color
+
+# prefixキー連打で直前のウィンドウと切り替え
+unbind C-t
+bind-key C-t last-window
+
+# copyモードのキーバインドをvi風に
+setw -g mode-keys vi
+
+# 縦画面分割、横画面分割をviライクに割当
+bind s split-window -v
+bind v split-window -h
+
+# 分割画面への移動をviライクに割当
+bind h select-pane -L
+bind j select-pane -D
+bind k select-pane -U
+bind l select-pane -R
+
+# ペインのサイズ変更をviライクに
+bind -r C-h resize-pane -L 5
+bind -r C-l resize-pane -R 5
+bind -r C-j resize-pane -D 5
+bind -r C-k resize-pane -U 5
+
+# prefix + spaceでウィンドウの一覧表示
+#bind Space choose-window
+
+# ctrl + 左右矢印でウィンドウ切替
+unbind-key C-Left
+bind-key -n C-Left prev
+unbind-key C-Right
+bind-key -n C-Right next
+
+## 後方スクロール行数(既定値は2000) http://d.hatena.ne.jp/kakurasan/20100311/p1
+set -g history-limit 999999
+
+
+# http://d.hatena.ne.jp/kakurasan/20100331/p1
+## UTF-8を用いるかどうかはロケールから自動検出される(必要のある場合のみ指定)
+#setw -g utf8 on
+#set -g status-utf8 on
+
+
+## メッセージ表示時間(既定値は1000?)
+set -g display-time 10000
+
+## バッファ上限数(既定値は9で0番-8番)
+set -g buffer-limit 32
+
+# screen-like hardcopy
+# http://pastebin.com/GHCykGs9
+#bind H capture-pane ; save-buffer -b 0 ~/tmux.hardcopy ; delete-buffer -b 0
+
+# cmatrix http://qiita.com/yuyuchu3333/items/77889084a1d19223f2b1
+#set -g lock-after-time 600
+#set -g lock-command "cmatrix -s -b"
+
+# ペイン終了
+bind x kill-pane
+# ウィンドウ終了
+bind X kill-window
+# ペイン番号表示
+bind i display-panes
+# コピーモード突入
+bind y copy-mode
+# ペースト
+#bind p paste-buffer
+
+# vでマーク開始
+bind -t vi-copy v begin-selection
+# yでヤンク
+bind -t vi-copy y copy-selection
+
+
+# tmux-powerline
+set -g status on
+set -g status-interval 2
+set -g status-utf8 on
+#set -g status-justify "centre"
+set -g status-left-length 60
+set -g status-right-length 90
+set -g status-left "#(~/.tmux-powerline/powerline.sh left)"
+set -g status-right "#(~/.tmux-powerline/powerline.sh right)"
+
+setw -g window-status-current-format "#[fg=colour235, bg=colour27]⮀#[fg=colour255, bg=colour27] #I ⮁ #W #[fg=colour27, bg=colour235]⮀"
+
+bind C-[ run '~/.tmux-powerline/mute_powerline.sh left'      # Mute left statusbar.
+bind C-] run '~/.tmux-powerline/mute_powerline.sh right'     # Mute right statusbar.
+
+set -g status-left-length 100
+set -g status-right-length 120
+
+
+## 既定の属性
+# 「xxx-fg」「xxx-bg」は色、「xxx-attr」は属性
+# 透明にしたい場合、端末によっては
+# status-bgを「default」にすると256色パレット色の表示が部分的におかしくなる?
+# 背景色は端末エミュレータの背景色に近いものを設定すると良いかも
+set -g status-fg   default
+set -g status-bg   default
+set -g status-attr default
+
+# status-left-* と status-right-* の設定はおすすめしない
+# status-leftやstatus-rightの中で記述したほうが良い
+set -g status-left-fg   default
+set -g status-left-bg   default
+set -g status-left-attr default
+
+set -g status-right-fg   default
+set -g status-right-bg   default
+set -g status-right-attr default
+
+## ウィンドウ一覧部における現在非アクティブなウィンドウの項目の表示
+setw -g window-status-fg   colour115
+setw -g window-status-bg   default
+setw -g window-status-attr bold
+
+## ウィンドウ一覧部における現在アクティブなウィンドウの項目の表示
+## 端末によっては256色の色を用いると正常に表示されない?
+setw -g window-status-current-fg   colour253
+setw -g window-status-current-bg   colour125
+setw -g window-status-current-attr bold
+
+# pane-active-border
+set -g pane-active-border-fg magenta
+#set -g pane-active-border-bg magenta
+
+## メッセージ/プロンプト
+set -g message-fg   colour115
+set -g message-bg   colour24
+set -g message-attr bright
+
+## スクロールの右上やコピーモード選択範囲のスタイル
+setw -g mode-fg   colour218
+# 256色パレットの色を付けると表示が変になる?(reverseすると回避可能?)
+setw -g mode-bg   colour125
+setw -g mode-attr reverse,bold
+
+
+# メモ用コメント
+# [一部]ファイル名: ~/.tmux.conf
+## ステータス行の書式
+  #(コマンド行)     コマンド出力の最初の行
+  #[属性]           色/属性の変更(例:#[fg=cyan,bright])
+  #H                ホスト名
+  #I                ウィンドウ番号
+  #P                ペイン番号
+  #S                セッション名
+  #T                ウィンドウタイトル
+  #W                ウィンドウ名
+  ##                「#」の文字
+# コマンドは繰り返し実行される (更新頻度はstatus-intervalによる・既定値は15秒)
+# 指定可能な色は
+# black red green yellow blue magenta cyan white
+# の他、256色パレット上のcolour0,colour1, ... colour255が利用可能
+# 指定可能な属性は
+#   bright(bold)[明るい(太字)], dim[暗い], underscore[下線], blink[点滅],
+#   reverse[反転], hidden[非表示], italics[イタリック], default[書式のクリア]
+#   (端末によっては効果がないものもある)
diff --git a/.tmuxinator/nico.yml b/.tmuxinator/nico.yml
new file mode 100644
index 0000000..1cad39c
--- /dev/null
+++ b/.tmuxinator/nico.yml
@@ -0,0 +1,25 @@
+# ~/.tmuxinator/nico.yml
+
+name: nico
+root: ~/
+
+# Optional tmux socket
+# socket_name: foo
+
+# Runs before everything. Use it to start daemons etc.
+# pre: sudo /etc/rc.d/mysqld start
+
+# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
+# pre_window: rbenv shell 2.0.0-p247
+
+# Pass command line options to tmux. Useful for specifying a different tmux.conf.
+# tmux_options: -f ~/.tmux.mac.conf
+
+windows:
+  - tail:
+      layout: main-vertical
+      panes:
+        - tail -f ~/Documents/git/nicobrowser/nico.log
+        - tail -f ~/Documents/git/nicobrowser/nicobrowser.log
+        - watch "ls -l ~/.nicobrowser/flv"
+  - shell: cd
diff --git a/.tmuxinator/node.yml b/.tmuxinator/node.yml
new file mode 100644
index 0000000..aaf7d04
--- /dev/null
+++ b/.tmuxinator/node.yml
@@ -0,0 +1,16 @@
+# ~/.tmuxinator/node.yml
+
+name: node
+root: ~/Documents/git/node-webkit
+
+# Optional tmux socket
+# socket_name: foo
+
+windows:
+  - vim:
+      layout: ab9a,226x57,0,0{160x57,0,0,29,65x57,161,0[65x28,161,0,31,65x28,161,29,32]}
+      panes:
+        - vim
+        - grunt
+        - pwd
+  - shell: cd
diff --git a/.vichrome b/.vichrome
new file mode 100755
index 0000000..5ed46c0
--- /dev/null
+++ b/.vichrome
@@ -0,0 +1,45 @@
+# vim: ft=vim
+### Sample Settings
+
+# aliases
+# in this example you can open extensions page by the command ':ext'
+# and Chrome's option page by the command ':option'
+alias ext TabOpenNew chrome://extensions/
+alias option TabOpenNew chrome://settings/browser
+alias downloads TabOpenNew chrome://downloads
+alias history TabOpenNew chrome://history
+
+# mappings for opening your favorite web page
+nmap gnw :TabOpenNew http://www.twitter.com
+nmap gnr :TabOpenNew http://www.google.com/reader
+nmap gnm  :TabOpenNew https://mail.google.com/mail/#inbox
+nmap gnh  :TabOpenNew http://yuyunko.hatenablog.com/
+
+
+# F for continuous f-Mode
+# this is recomended setting but commented out by default.
+# if you want to use this setting, use the following
+#nmap F :GoFMode --newtab --continuous
+
+# you can use <DISCARD> to discard the key so that chrome's default
+# action isn't triggered.
+#nmap <BS> <DISCARD>
+
+# if you want to change the key used to escape EmergencyMode mode,
+# use emap like the following
+#emap <ESC> :Escape
+
+## pagecmd offers you page specific key mapping.
+# in this example you can use <C-l>, <C-h> for moving between tabs
+# on all web pages regardless of your ignored list setting
+# because pagecmd has higher priority than ignored URLs.
+pagecmd * nmap <C-l> :TabFocusNext
+pagecmd * nmap <C-h> :TabFocusPrev
+
+# almost all Vichrome functions don't work properly for pdf contents
+# so it's useful to enable default key bindings for pdf file.
+pagecmd *.pdf nmap <C-f> <NOP>
+
+# if you want to use twitter web's key binding, write settings like below
+#pagecmd http*://twitter.com/* nmap f <NOP>
+#pagecmd http*://twitter.com/* nmap r <NOP>
diff --git a/.vrapperrc b/.vrapperrc
new file mode 100755
index 0000000..8660748
--- /dev/null
+++ b/.vrapperrc
@@ -0,0 +1,679 @@
+" vim: ft=vim
+"コマンドライン補完するときに強化されたものを使う
+set wildmenu
+
+"----------------------------------------
+" 検索
+"----------------------------------------
+"検索の時に大文字小文字を区別しない
+"ただし大文字小文字の両方が含まれている場合は大文字小文字を区別する
+set ignorecase
+set smartcase
+"検索時にファイルの最後まで行ったら最初に戻る
+set wrapscan
+"インクリメンタルサーチ
+set incsearch
+"検索文字の強調表示
+set hlsearch
+
+"----------------------------------------
+" 表示設定
+"----------------------------------------
+"エラー時の音とビジュアルベルの抑制(gvimは.gvimrcで設定)
+"set noerrorbells
+"set novisualbell
+
+"----------------------------------------
+" ノーマルモード
+"----------------------------------------
+nnoremap <C-u> 20<Up>
+nnoremap <C-d> 20<Down>
+nnoremap <C-r> :Redo<CR>
+nnoremap mj :AddJavaDocComment<CR>
+nnoremap mi :OrganizeImports<CR>
+nnoremap gg=G :Format<CR>
+"nnoremap = <D-S-F>
+"nnoremap J gT
+"nnoremap K gt
+nnoremap <C-j> gT
+nnoremap <C-k> gt
+nnoremap <Leader>c<Space> :ToggleComment<CR>
+
+"----------------------------------------
+" 挿入モード
+"----------------------------------------
+inoremap <C-h> <BS>
+inoremap <C-u> <Esc>:DeleteLineToBeginning<CR>i
+inoremap <C-n> <Down>
+inoremap <C-p> <Up>
+
+"----------------------------------------
+" ビジュアルモード
+"----------------------------------------
+vnoremap = :Format<CR>
+vnoremap c :Copy<CR>
+vnoremap <Leader>c<Space> :ToggleComment<CR>
+
+"----------------------------------------
+" コマンドモード
+"----------------------------------------
+
+"----------------------------------------
+" Vimスクリプト
+"----------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+
+" no use
+"nnoremap p :Paste<CR>
+"noremap  <C-u>  <C-g>u<C-u>
+"noremap  <C-w>  <C-g>u<C-w>
+"inoremap <C-w> <ESC>:DeletePreviousWord<CR>xi
+
+" ref
+" http://help.eclipse.org/help33/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/texteditor/IWorkbenchActionDefinitionIds.html
+" http://help.eclipse.org/help33/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/texteditor/ITextEditorActionDefinitionIds.html
+" http://help.eclipse.org/ganymede/topic/org.eclipse.jdt.doc.isv/reference/api/org/eclipse/jdt/ui/actions/IJavaEditorActionDefinitionIds.html
+
+"Action definition ID of the source -> add block comment action
+eclipseaction AddBlockComment org.eclipse.jdt.ui.edit.text.java.add.block.comment
+
+"Action definition ID of the source -> add import action
+eclipseaction AddImport org.eclipse.jdt.ui.edit.text.java.add.import
+
+"Add JavaDoc
+eclipseaction AddJavaDocComment org.eclipse.jdt.ui.edit.text.java.add.javadoc.comment
+
+"definition ID of the source -> add unimplemented constructors action
+eclipseaction AddUnimplementedContructors org.eclipse.jdt.ui.edit.text.java.add.unimplemented.constructors
+
+"definition ID of the refactor -> change type action
+eclipseaction ChangeType org.eclipse.jdt.ui.edit.text.java.change.type
+
+"definition id of the code clean up action
+eclipseaction CleanUp "org.eclipse.jdt.ui.edit.text.java.clean.up
+
+"definition ID of the source -> comment action
+eclipseaction Comment org.eclipse.jdt.ui.edit.text.java.comment
+
+"definition ID of the edit -> content assist complete prefix action
+eclipseaction ContentAssistCompletePrefix "org.eclipse.jdt.ui.edit.text.java.complete.prefix
+
+"definition ID of the refactor -> convert anonymous to nested action
+eclipseaction ConvertAnonymousToNested org.eclipse.jdt.ui.edit.text.java.convert.anonymous.to.nested
+
+"definition ID of the source -> generate delegates action
+eclipseaction CreateDelegateMethods org.eclipse.jdt.ui.edit.text.java.create.delegate.methods
+
+"definition ID of the source -> generate setter/getter action
+eclipseaction CreateGetterSetter org.eclipse.jdt.ui.edit.text.java.create.getter.setter
+
+"definition ID of the source -> externalize strings action
+eclipseaction ExternalizeStrings org.eclipse.jdt.ui.edit.text.java.externalize.strings
+
+"definition ID of the refactor -> extract class action
+eclipseaction ExtractClass org.eclipse.jdt.ui.edit.text.java.extract.class
+
+"definition ID of the refactor -> extract constant action
+eclipseaction ExtractConstant org.eclipse.jdt.ui.edit.text.java.extract.constant
+
+"definition ID of the refactor -> extract interface action
+eclipseaction ExtractInterface org.eclipse.jdt.ui.edit.text.java.extract.interface
+
+"definition ID of the refactor -> extract local variable action
+eclipseaction ExtractLocalVariable org.eclipse.jdt.ui.edit.text.java.extract.local.variable
+
+"definition ID of the refactor -> extract method action
+eclipseaction ExtractMethod org.eclipse.jdt.ui.edit.text.java.extract.method
+
+"definition id of the collapse comments action
+eclipseaction FoldingCollapseComments "org.eclipse.jdt.ui.edit.text.java.folding.collapseComments
+
+"definition id of the collapse members action
+eclipseaction FoldingCollapseMembers "org.eclipse.jdt.ui.edit.text.java.folding.collapseMembers
+
+"definition ID of the source -> format action
+eclipseaction Format org.eclipse.jdt.ui.edit.text.java.format
+
+"definition ID of the source ->generate constructor using fields action
+eclipseaction GenerateConstructorUsingFields org.eclipse.jdt.ui.edit.text.java.generate.constructor.using.fields
+
+"definition ID of the source ->generate hashcode() and equals() action
+eclipseaction GenerateHashcodeEquals org.eclipse.jdt.ui.edit.text.java.generate.hashcode.equals
+
+"definition ID of the edit -> go to matching bracket action
+eclipseaction GotoMatchingBracket org.eclipse.jdt.ui.edit.text.java.goto.matching.bracket
+
+"definition ID of the edit -> go to next member action
+eclipseaction GotoNextMember org.eclipse.jdt.ui.edit.text.java.goto.next.member
+
+"definition ID of the edit -> go to previous member action
+eclipseaction GotoPreviousMember org.eclipse.jdt.ui.edit.text.java.goto.previous.member
+
+"definition ID of the source -> indent action
+eclipseaction Indent org.eclipse.jdt.ui.edit.text.java.indent
+
+"definition ID of the refactor -> infer generic type arguments action
+eclipseaction InferTypeArgumentsAction org.eclipse.jdt.ui.edit.text.java.infer.type.arguments
+
+"definition ID of the refactor -> inline action
+eclipseaction Inline org.eclipse.jdt.ui.edit.text.java.inline
+
+"definition ID of the refactor -> introduce factory action
+eclipseaction IntroduceFactory org.eclipse.jdt.ui.edit.text.java.introduce.factory
+
+"definition ID of the refactor -> introduce indirection action
+eclipseaction IntroduceIndirection org.eclipse.jdt.ui.edit.text.java.create.indirection
+
+"definition ID of the refactor -> introduce parameter action
+eclipseaction IntroduceParameter org.eclipse.jdt.ui.edit.text.java.introduce.parameter
+
+"definition ID of the refactor -> introduce parameter object action
+eclipseaction IntroduceParameterObject org.eclipse.jdt.ui.edit.text.java.introduce.parameter.object
+
+"definition ID of the refactor -> modify method parameters action
+eclipseaction ModifyMethodParameters org.eclipse.jdt.ui.edit.text.java.modify.method.parameters
+
+"definition ID of the refactor -> move element action
+eclipseaction MoveElement org.eclipse.jdt.ui.edit.text.java.move.element
+
+"definition ID of the refactor -> move inner type to top level action
+eclipseaction MoveInnerToTop org.eclipse.jdt.ui.edit.text.java.move.inner.to.top.level
+
+"definition ID of the navigate -> open call hierarchy action
+eclipseaction OpenCallHierarchy org.eclipse.jdt.ui.edit.text.java.org.eclipse.jdt.ui.edit.text.java.open.call.hierarchy
+
+"definition ID of the navigate -> open action
+eclipseaction OpenEditor org.eclipse.jdt.ui.edit.text.java.open.editor
+
+"definition ID of the navigate -> open external javadoc action
+eclipseaction OpenExternalJavadoc org.eclipse.jdt.ui.edit.text.java.open.external.javadoc
+
+"definition ID of the navigate -> Show Hierarchy action
+eclipseaction OpenHierarchy org.eclipse.jdt.ui.edit.text.java.open.hierarchy
+
+"definition ID of the Navigate -> Open Structure action
+eclipseaction OpenStructure org.eclipse.jdt.ui.navigate.java.open.structure
+
+"definition ID of the navigate -> open super implementation action
+eclipseaction OpenSuperImplementation org.eclipse.jdt.ui.edit.text.java.open.super.implementation
+
+"definition ID of the navigate -> open type hierarchy action
+eclipseaction OpenTypeHierarchy org.eclipse.jdt.ui.edit.text.java.org.eclipse.jdt.ui.edit.text.java.open.type.hierarchy
+
+"definition ID of the source -> organize imports action
+eclipseaction OrganizeImports org.eclipse.jdt.ui.edit.text.java.organize.imports
+
+"definition ID of the source -> override methods action
+eclipseaction OverrideMethods org.eclipse.jdt.ui.edit.text.java.override.methods
+
+"definition ID of the refactor -> promote local variable action
+eclipseaction PromoteLocalVariable org.eclipse.jdt.ui.edit.text.java.promote.local.variable
+
+"definition ID of the refactor -> pull up action
+eclipseaction PullUp org.eclipse.jdt.ui.edit.text.java.pull.up
+
+"definition ID of the refactor -> push down action
+eclipseaction PushDown org.eclipse.jdt.ui.edit.text.java.push.down
+
+"definition id of the java quick format action
+eclipseaction QuickFormat "org.eclipse.jdt.ui.edit.text.java.quick.format
+
+"definition ID of the source -> remove block comment action
+eclipseaction RemoveBlockComment org.eclipse.jdt.ui.edit.text.java.remove.block.comment
+
+"definition ID of the remove occurrence annotations action
+eclipseaction RemoveOccurrenceAnnotations org.eclipse.jdt.ui.edit.text.remove.occurrence.annotations
+
+"definition ID of the refactor -> rename element action
+eclipseaction RenameElement org.eclipse.jdt.ui.edit.text.java.rename.element
+
+"definition ID of the refactor -> replace invocations action
+eclipseaction ReplaceInvocations org.eclipse.jdt.ui.edit.text.java.replace.invocations
+
+"definition ID of the search -> occurrences in file > break/continue target action
+eclipseaction SearchBreakContinueTargetOccurrences org.eclipse.jdt.ui.edit.text.java.search.return.continue.targets
+
+"definition ID of the search -> declarations in hierarchy action
+eclipseaction SearchDeclarationsInHierarchy org.eclipse.jdt.ui.edit.text.java.search.declarations.in.hierarchy
+
+"definition ID of the search -> declarations in project action
+eclipseaction SearchDeclarationsInProjects org.eclipse.jdt.ui.edit.text.java.search.declarations.in.project
+
+"definition ID of the search -> declarations in working set action
+eclipseaction SearchDeclarationsInWorkingSet org.eclipse.jdt.ui.edit.text.java.search.declarations.in.working.set
+
+"definition ID of the search -> declarations in workspace action
+eclipseaction SearchDeclarationsInWorkspace org.eclipse.jdt.ui.edit.text.java.search.declarations.in.workspace
+
+"definition ID of the search -> occurrences in file > exceptions action
+eclipseaction SearchExceptionOccurrencesInFile org.eclipse.jdt.ui.edit.text.java.search.exception.occurrences
+
+"definition ID of the search -> occurrences in file > implements action
+eclipseaction SearchImplementOccurrencesInFile org.eclipse.jdt.ui.edit.text.java.search.implement.occurrences
+
+"definition ID of the search -> implementors in project action
+eclipseaction SearchImplementorsInProject org.eclipse.jdt.ui.edit.text.java.search.implementors.in.project
+
+"definition ID of the search -> implementors in working set action
+eclipseaction SearchImplementorsInWorkingSet org.eclipse.jdt.ui.edit.text.java.search.implementors.in.working.set
+
+"definition ID of the search -> implementors in workspace action
+eclipseaction SearchImplementorsInWorkspace org.eclipse.jdt.ui.edit.text.java.search.implementors.in.workspace
+
+"definition ID of the search -> occurrences in file > method exits action
+eclipseaction SearchMethodExitOccurrences org.eclipse.jdt.ui.edit.text.java.search.method.exits
+
+"definition ID of the search -> occurrences in file > elements action
+eclipseaction SearchOccurrencesInFile org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file
+
+"definition ID of the search -> occurrences in file quick menu action
+eclipseaction SearchOccurrencesInFileQuickMenu org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file.quickMenu
+
+"definition ID of the search -> read access in hierarchy action
+eclipseaction SearchReadAccessInHierarchy org.eclipse.jdt.ui.edit.text.java.search.read.access.in.hierarchy
+
+"definition ID of the search -> read access in project action
+eclipseaction SearchReadAccessInProject org.eclipse.jdt.ui.edit.text.java.search.read.access.in.project
+
+"definition ID of the search -> read access in working set action
+eclipseaction SearchReadAccessInWorkingSet org.eclipse.jdt.ui.edit.text.java.search.read.access.in.working.set
+
+"definition ID of the search -> read access in workspace action
+eclipseaction SearchReadAccessInWorkspace org.eclipse.jdt.ui.edit.text.java.search.read.access.in.workspace
+
+"definition ID of the search -> references in hierarchy action
+eclipseaction SearchReferencesInHierarchy org.eclipse.jdt.ui.edit.text.java.search.references.in.hierarchy
+
+"definition ID of the search -> references in project action
+eclipseaction SearchReferencesInProject org.eclipse.jdt.ui.edit.text.java.search.references.in.project
+
+"definition ID of the search -> references in working set action
+eclipseaction SearchReferencesInWorkingSet org.eclipse.jdt.ui.edit.text.java.search.references.in.working.set
+
+"definition ID of the search -> references in workspace action
+eclipseaction SearchReferencesInWorkspace org.eclipse.jdt.ui.edit.text.java.search.references.in.workspace
+
+"definition ID of the search -> write access in hierarchy action
+eclipseaction SearchWriteAccessInHierarchy org.eclipse.jdt.ui.edit.text.java.search.write.access.in.hierarchy
+
+"definition ID of the search -> write access in project action
+eclipseaction SearchWriteAccessInProject org.eclipse.jdt.ui.edit.text.java.search.write.access.in.project
+
+"definition ID of the search -> write access in working set action
+eclipseaction SearchWriteAccessInWorkingSet org.eclipse.jdt.ui.edit.text.java.search.write.access.in.working.set
+
+"definition ID of the search -> write access in workspace action
+eclipseaction SearchWriteAccessInWorkspace org.eclipse.jdt.ui.edit.text.java.search.write.access.in.workspace
+
+"definition ID of the edit -> select enclosing action
+eclipseaction SelectEnclosing org.eclipse.jdt.ui.edit.text.java.select.enclosing
+
+"definition ID of the edit -> select restore last action
+eclipseaction SelectLast org.eclipse.jdt.ui.edit.text.java.select.last
+
+"definition ID of the edit -> select next action
+eclipseaction SelectNext org.eclipse.jdt.ui.edit.text.java.select.next
+
+"definition ID of the edit -> select previous action
+eclipseaction SelectPrevious org.eclipse.jdt.ui.edit.text.java.select.previous
+
+"definition ID of the refactor -> self encapsulate field action
+eclipseaction SelfEncapsulateField org.eclipse.jdt.ui.edit.text.java.self.encapsulate.field
+
+"definition id of show in breadcrumb action
+eclipseaction ShowInBreadcrumb "org.eclipse.jdt.ui.edit.text.java.gotoBreadcrumb
+
+"definition ID of the navigate -> show in navigator action
+eclipseaction ShowInNavigatorView org.eclipse.jdt.ui.edit.text.java.show.in.navigator.view
+
+"definition ID of the navigate -> show in package explorer action
+eclipseaction ShowInPackageView org.eclipse.jdt.ui.edit.text.java.show.in.package.view
+
+"definition ID of the navigate -> Show Outline action
+eclipseaction ShowOutline org.eclipse.jdt.ui.edit.text.java.show.outline
+
+"definition ID of the source -> sort order action
+eclipseaction SortMembers org.eclipse.jdt.ui.edit.text.java.sort.members
+
+"definition ID of the source -> surround with try/catch action
+eclipseaction SurroundWithTryCatch org.eclipse.jdt.ui.edit.text.java.surround.with.try.catch
+
+"definition id of toggle breadcrumb action
+eclipseaction ToggleBreadcrumb "org.eclipse.jdt.ui.edit.text.java.toggleBreadcrumb
+
+"definition ID of the source -> toggle comment action
+eclipseaction ToggleComment org.eclipse.jdt.ui.edit.text.java.toggle.comment
+
+"definition id of toggle mark occurrences action
+eclipseaction ToggleMarkOccurrences "org.eclipse.jdt.ui.edit.text.java.toggleMarkOccurrences
+
+"definition ID of the edit -> smart typing action
+eclipseaction ToglleSmartTyping org.eclipse.jdt.smarttyping.toggle
+
+"definition ID of the toggle text hover tool bar button action
+eclipseaction ToggleTextHover org.eclipse.jdt.ui.edit.text.java.toggle.text.hover
+
+"definition ID of the source -> uncomment action
+eclipseaction Uncomment org.eclipse.jdt.ui.edit.text.java.uncomment
+
+"definition ID of the refactor -> use supertype action
+eclipseaction UseSupertype org.eclipse.jdt.ui.edit.text.java.use.supertype
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+"Action definition id of the edit delete line action.
+eclipseaction DeleteLine org.eclipse.ui.edit.text.delete.line
+
+"Action definition id of the edit join lines action.
+eclipseaction JoinLines org.eclipse.ui.edit.text.join.line
+
+"Action definition id of the edit cut line action.
+eclipseaction CutLine org.eclipse.ui.edit.text.cut.line
+
+"Action definition id of the edit delete line to beginning action.
+eclipseaction DeleteLineToBeginning org.eclipse.ui.edit.text.delete.line.to.beginning
+
+"Action definition id of the edit cut line to beginning action.
+eclipseaction CutLineToBeginning org.eclipse.ui.edit.text.cut.line.to.beginning
+
+"Action definition id of the edit delete line to end action.
+eclipseaction DeleteLineToEnd org.eclipse.ui.edit.text.delete.line.to.end
+
+"Action definition id of the edit cut line to end action.
+eclipseaction CutLineToEnd org.eclipse.ui.edit.text.cut.line.to.end
+
+"Action definition id of the edit set mark action.
+eclipseaction SetMark org.eclipse.ui.edit.text.set.mark
+
+"Action definition id of the edit clear mark action.
+eclipseaction ClearMark org.eclipse.ui.edit.text.clear.mark
+
+"Action definition id of the edit swap mark action.
+eclipseaction SwapMark org.eclipse.ui.edit.text.swap.mark
+
+"Action definition id of the smart enter action.
+eclipseaction SmartEnter org.eclipse.ui.edit.text.smartEnter
+
+"Action definition id of the smart enter (inverse) action.
+eclipseaction SmartEnterInverse org.eclipse.ui.edit.text.smartEnterInverse
+
+"Action definition id of the move lines upwards action.
+eclipseaction MoveLinesUp org.eclipse.ui.edit.text.moveLineUp
+
+"Action definition id of the move lines downwards action.
+eclipseaction MoveLinesDown org.eclipse.ui.edit.text.moveLineDown
+
+"Action definition id of the copy lines upwards action.
+eclipseaction CopyLinesUp org.eclipse.ui.edit.text.copyLineUp
+
+"Action definition id of the copy lines downwards action.
+eclipseaction CopyLinesDown org.eclipse.ui.edit.text.copyLineDown
+
+"Action definition id of the upper case action.
+eclipseaction UpperCase org.eclipse.ui.edit.text.upperCase
+
+"Action definition id of the lower case action.
+eclipseaction LowerCase org.eclipse.ui.edit.text.lowerCase
+
+"Action definition id of the navigate goto previous line action.
+eclipseaction LineUp org.eclipse.ui.edit.text.goto.lineUp
+
+"Action definition id of the navigate goto next line action.
+eclipseaction LineDown org.eclipse.ui.edit.text.goto.lineDown
+
+"Action definition id of the navigate goto line start action.
+eclipseaction LineStart org.eclipse.ui.edit.text.goto.lineStart
+
+"Action definition id of the navigate goto line end action.
+eclipseaction LineEnd org.eclipse.ui.edit.text.goto.lineEnd
+
+"Action definition id of the navigate goto line action.
+eclipseaction LineGoto org.eclipse.ui.edit.text.goto.line
+
+"Action definition id of the navigate goto previous column action.
+eclipseaction ColumnPrevious org.eclipse.ui.edit.text.goto.columnPrevious
+
+"Action definition id of the navigate goto next column action.
+eclipseaction ColumnNext org.eclipse.ui.edit.text.goto.columnNext
+
+"Action definition id of the navigate goto previous page action.
+eclipseaction PageUp org.eclipse.ui.edit.text.goto.pageUp
+
+"Action definition id of the navigate goto next page action.
+eclipseaction PageDown org.eclipse.ui.edit.text.goto.pageDown
+
+"Action definition id of the navigate goto previous word action.
+eclipseaction WordPrevious org.eclipse.ui.edit.text.goto.wordPrevious
+
+"Action definition id of the navigate goto next word action.
+eclipseaction WordNext org.eclipse.ui.edit.text.goto.wordNext
+
+"Action definition id of the navigate goto text start action.
+eclipseaction TextStart org.eclipse.ui.edit.text.goto.textStart
+
+"Action definition id of the navigate goto text end action.
+eclipseaction TextEnd org.eclipse.ui.edit.text.goto.textEnd
+
+"Action definition id of the navigate goto start of window action.
+eclipseaction WindowStart org.eclipse.ui.edit.text.goto.windowStart
+
+"Action definition id of the navigate goto end of window action.
+eclipseaction WindowEnd org.eclipse.ui.edit.text.goto.windowEnd
+
+"Action definition id of the navigate scroll line up action.
+eclipseaction ScrollLineUp org.eclipse.ui.edit.text.scroll.lineUp
+
+"Action definition id of the navigate scroll line down action.
+eclipseaction ScrollLineDown org.eclipse.ui.edit.text.scroll.lineDown
+
+"Action definition id of the select line up action.
+eclipseaction SelectLineUp org.eclipse.ui.edit.text.select.lineUp
+
+"Action definition id of the select line down action.
+eclipseaction SelectLineDown org.eclipse.ui.edit.text.select.lineDown
+
+"Action definition id of the select line start action.
+eclipseaction SelectLineStart org.eclipse.ui.edit.text.select.lineStart
+
+"Action definition id of the select line end action.
+eclipseaction SelectLineEnd org.eclipse.ui.edit.text.select.lineEnd
+
+"Action definition id of the select previous column action.
+eclipseaction SelectColumnPrevious org.eclipse.ui.edit.text.select.columnPrevious
+
+"Action definition id of the select next column action.
+eclipseaction SelectColumnNext org.eclipse.ui.edit.text.select.columnNext
+
+"Action definition id of the select page up action.
+eclipseaction SelectPageUp org.eclipse.ui.edit.text.select.pageUp
+
+"Action definition id of the select page down action.
+eclipseaction SelectPageDown org.eclipse.ui.edit.text.select.pageDown
+
+"Action definition id of the select previous word action.
+eclipseaction SelectWordPrevious org.eclipse.ui.edit.text.select.wordPrevious
+
+"Action definition id of the select next word action.
+eclipseaction SelectWordNext org.eclipse.ui.edit.text.select.wordNext
+
+"Action definition id of the select text start action.
+eclipseaction SelectTextStart org.eclipse.ui.edit.text.select.textStart
+
+"Action definition id of the select text end action.
+eclipseaction SelectTextEnd org.eclipse.ui.edit.text.select.textEnd
+
+"Action definition id of the select window start action.
+eclipseaction SelectWindowStart org.eclipse.ui.edit.text.select.windowStart
+
+"Action definition id of the select window end action.
+eclipseaction SelectWindowEnd org.eclipse.ui.edit.text.select.windowEnd
+
+"Action definition id of the edit delete previous character action.
+eclipseaction DeletePrevious org.eclipse.ui.edit.text.deletePrevious
+
+"Action definition id of the edit delete next character action.
+eclipseaction DeleteNext org.eclipse.ui.edit.text.deleteNext
+
+"Action definition id of the edit delete previous word action.
+eclipseaction DeletePreviousWord org.eclipse.ui.edit.text.deletePreviousWord
+
+"Action definition id of the edit delete next word action.
+eclipseaction DeleteNextWord org.eclipse.ui.edit.text.deleteNextWord
+
+"Action definition id of the edit shift right action.
+eclipseaction ShiftRight org.eclipse.ui.edit.text.shiftRight
+
+"Action definition id of the edit shift left action.
+eclipseaction ShiftLeft org.eclipse.ui.edit.text.shiftLeft
+
+"Action definition id of the toggle input mode action.
+eclipseaction ToggleOverwrite org.eclipse.ui.edit.text.toggleOverwrite
+
+"Action definition id of toggle show selected element only action.
+eclipseaction ToggleShowSelectedElementOnly org.eclipse.ui.edit.text.toggleShowSelectedElementOnly
+
+"Action definition id of the show ruler context menu action.
+eclipseaction ShowRulerContextMenu org.eclipse.ui.edit.text.showRulerContextMenu
+
+"Action definition id of go to last edit position action.
+eclipseaction GotoLastEditPosition org.eclipse.ui.edit.text.gotoLastEditPosition
+
+"Action definition id of go to next annotation action.
+eclipseaction GotoNextAnnotation org.eclipse.ui.edit.text.gotoNextAnnotation
+
+"Action definition id of go to previous annotation action.
+eclipseaction GotoPreviousAnnotation org.eclipse.ui.edit.text.gotoPreviousAnnotation
+
+"Action definition ID of the edit -> content assist proposal action
+eclipseaction ContentAssistProposals org.eclipse.ui.edit.text.contentAssist.proposals
+
+"Action definition ID of the edit -> content assist context information action
+eclipseaction ContentAssistContextInformation org.eclipse.ui.edit.text.contentAssist.contextInformation
+
+"Action definition ID of the edit -> quick assist proposal action
+eclipseaction QuickAssist org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals
+
+"Action definition ID of the edit -> smart insert mode action
+eclipseaction ToggleInsertMode org.eclipse.ui.edit.text.toggleInsertMode
+
+eclipseaction ChangeEncoding org.eclipse.ui.edit.text.changeEncoding
+
+"Command ID of the revert line action
+eclipseaction QuickdiffRevertline org.eclipse.ui.editors.quickdiff.revertLine
+
+"Command ID of the revert selection/block action
+eclipseaction QuickdiffRevert org.eclipse.ui.editors.quickdiff.revert
+
+"Command ID of the toggle quick diff action. The name has no proper prefix for historical reasons.
+eclipseaction QuickdiffToggle org.eclipse.quickdiff.toggle
+
+"Command ID of the toggle display of line numbers
+eclipseaction LinenumberToggle org.eclipse.ui.editors.lineNumberToggle
+
+"Action definition ID of the edit -> text complete action
+eclipseaction HippieCompletion org.eclipse.ui.edit.text.hippieCompletion
+
+"Command ID of the command to cycle the revision rendering mode.
+eclipseaction RevisionRenderingCycle org.eclipse.ui.editors.revisions.rendering.cycle
+
+"Command ID of the command to toggle the revision author display.
+eclipseaction RevisionAuthorToggle org.eclipse.ui.editors.revisions.author.toggle
+
+"Command ID of the command to toggle the revision ID display.
+eclipseaction RevisionIdToggle org.eclipse.ui.editors.revisions.id.toggle
+
+"Command ID of the recenter command.
+eclipseaction Recenter org.eclipse.ui.edit.text.recenter
+
+"Command ID of the command to toggle the display of whitespace characters.
+eclipseaction ShowWhitespaceCharacters org.eclipse.ui.edit.text.toggleShowWhitespaceCharacters
+
+"Command ID of the command to display information for the current caret location in a sticky hover.
+eclipseaction ShowInformation org.eclipse.ui.edit.text.showInformation
+
+
+
+"Action definition id of the file print action. Value:
+eclipseaction Print org.eclipse.ui.file.print
+
+"Action definition id of the file save action.
+eclipseaction Save org.eclipse.ui.file.save
+
+"Action definition id of the file revert action.
+eclipseaction RevertToSaved org.eclipse.ui.edit.revertToSaved
+
+"Action definition id of the edit cut action.
+eclipseaction Cut org.eclipse.ui.edit.cut
+
+"Action definition id of the edit copy action.
+eclipseaction Copy org.eclipse.ui.edit.copy
+
+"Aaction definition id of the edit past action.
+eclipseaction Paste org.eclipse.ui.edit.paste
+
+"Action definition id of the edit undo action.
+eclipseaction Undo org.eclipse.ui.edit.undo
+
+"Action definition id of the file properties action.
+eclipseaction Properties org.eclipse.ui.file.properties
+
+"Action definition id of the edit redo action.
+eclipseaction Redo org.eclipse.ui.edit.redo
+
+"Action definition id of the edit delete action.
+eclipseaction Delete org.eclipse.ui.edit.delete
+
+"Action definition id of the edit select all action.
+eclipseaction SelectAll org.eclipse.ui.edit.selectAll
+
+"Action definition id of the edit find/replace action.
+eclipseaction FindReplace org.eclipse.ui.edit.findReplace
+
+"Action definition id of the edit add bookmark action.
+eclipseaction AddBookmark org.eclipse.ui.edit.addBookmark
+
+"Action definition id of the edit add task action.
+eclipseaction AddTask org.eclipse.ui.edit.addTask
+
+"Action definition id of the edit find next action.
+eclipseaction FindNext org.eclipse.ui.edit.findNext
+
+"Action definition id of the edit find previous action.
+eclipseaction FindPrevious org.eclipse.ui.edit.findPrevious
+
+"Action definition id of the edit incremental find action.
+eclipseaction FindIncremental org.eclipse.ui.edit.findIncremental
+
+"Action definition id of the edit incremental find reverse action.
+eclipseaction FindIncrementalReverse org.eclipse.ui.edit.findIncrementalReverse
+
+"The command identifier for the "move" action that typically appears in the file menu.
+eclipseaction Move org.eclipse.ui.edit.move
+
+"The command identifier for the "rename" action that typically appears in the file menu.
+eclipseaction Rename org.eclipse.ui.edit.rename
+
diff --git a/.vromerc b/.vromerc
new file mode 100644
index 0000000..2ec13f2
--- /dev/null
+++ b/.vromerc
@@ -0,0 +1,72 @@
+""" .vromerc example file
+" Note: sync with wiki
+
+" Change key mapping in normal mode, please check Vrome Features for available key mapping
+map j 10j
+map k 10k
+map <C-h> gT
+map <C-l> gt
+
+" Remove key mapping in normal mode
+"unmap
+
+" Change key mapping in insert mode
+"imap
+
+" Remove key mapping in insert mode
+"iunmap
+
+" Change hotkey for go next / previous / next 10 / previous 10 matched item in autocomplete
+"set autocomplete_prev=
+"set autocomplete_next=
+"set autocomplete_prev_10=
+"set autocomplete_next_10=
+
+" Rule for next/prev page. (Should written in RegExp)
+set nextpattern+=^NextPage|››$
+set previouspattern+=^PrevPage|‹‹$
+
+" set no status line — i.e keys don’t show as you type. enabled by default
+"set showstatus=0
+
+" Change external editor, default is GVim
+set editor=mvim
+
+" Disable Vrome in those sites, Multiple URLs can be separated with ‘,’
+set disablesites=mail.google.com, reader.google.com
+
+" Define search engines. the value should be valid json looks like below.
+" Please remember the first searchengine is the default one. in the below one, it is google
+set searchengines={"google":“http://www.google.com/search?q={{keyword}}”, “yahoo”:“http://search.yahoo.com/search?p={{keyword}}”,“wikipedia”:“http://en.wikipedia.org/wiki/{{keyword}}”,“answers”:“http://www.answers.com/main/ntquery?s={{keyword}}”,“yubnub”:“http://yubnub.org/parser/parse?command={{keyword}}”}
+
+" You could also add some new searchengines without overwrite build in.
+set searchengines+={"baidu":“http://www.baidu.com/s?wd={{keyword}}”}
+
+" Change default search engine, default is google.
+"set defaultsearch=yahoo
+
+" Disable autocomplete
+"set noautocomplete
+
+" Change enable vrome keybinding, default is
+"set enable_vrome_key=
+
+" The server port is what external server running on
+" The external server is used to support launch the external editor in insert mode.
+" Please refer “Support External Editor” https://github.com/jinzhu/vrome/wiki/Support-External-Editor for more
+"set server_port=30000
+
+" Set your hintkeys instead of the default 0123456789
+"set hintkeys=asdfghjkl
+
+" Alternative: creates two sets of hint keys separated by a semicolon. First set uses keys close to the home row to create combinations, second set is used as a last resort
+" Note: this trigger the smart sorting in multi mode. Matching elements by level of similarity
+"set hintkeys=dsafrewq,tgcx
+
+" overwrites the sub actions by your own set of actions
+"set hint_actions={"`": “[”, “,”: "{"}
+
+" by default, hints use numbers. You can have both numbers AND strings (view custom JS below). Or you can use strings only as hints and overwrite the number commands
+set useletters=1
+
+" vim: ft=vim
diff --git a/README b/README
new file mode 100755
index 0000000..e115ccf
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+this repo contains my setting files
diff --git a/crontab b/crontab
new file mode 100755
index 0000000..65ab7b4
--- /dev/null
+++ b/crontab
@@ -0,0 +1,6 @@
+*/10 * * * * echo `date` >> ~/Dropbox/log/rsync_iPhone_media.log 2>&1 && rsync -av8 --progress mobile@192.168.1.5:~/Media/DCIM ~/Pictures/iPhone/ >> ~/Dropbox/log/rsync_iPhone_media.log 2>&1
+*/10 * * * * echo `date` >> ~/Dropbox/log/rsync_iPad_media.log 2>&1 && rsync -av8 --progress mobile@192.168.1.7:~/Media/DCIM ~/Pictures/iPad/ >> ~/Dropbox/log/rsync_iPad_media.log 2>&1
+#*/15 * * * * chmod -R 777 ~/Pictures/iPhone > /dev/null
+#*/15 * * * * chmod -R 777 ~/Pictures/iPad > /dev/null
+0 * * * * cd ~/Dropbox/Documents/git/MyGit/dotfiles; git pull > /dev/null
+0 * * * * /bin/rm -rf ~/Dropbox/.dropbox.cache/* > /dev/null
diff --git a/cygwin_install.bat b/cygwin_install.bat
new file mode 100755
index 0000000..f7c1f79
--- /dev/null
+++ b/cygwin_install.bat
@@ -0,0 +1 @@
+setup-x86.exe -q -d -D -L -s http://ftp.jaist.ac.jp/pub/cygwin/x86/ -l "%USERPROFILE%\.cygwin" -R c:\cygwin -P gcc,git,git-completion,git-svn,make,vim,wget,ruby,screen,zsh,subversion,openssh
diff --git a/global-gitignore b/global-gitignore
new file mode 100755
index 0000000..700f132
--- /dev/null
+++ b/global-gitignore
@@ -0,0 +1,9 @@
+# doc
+doc/tags
+doc/tags-ja
+
+# zsh-history
+.zsh_hist*
+
+# mac
+.DS_Store
diff --git a/installchocolatey.bat b/installchocolatey.bat
new file mode 100644
index 0000000..aefd7a8
--- /dev/null
+++ b/installchocolatey.bat
@@ -0,0 +1,6 @@
+@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
+
+cinst ctags
+cinst nodejs
+cinst cygwin
+cinst console2
diff --git a/installcygwin.ps1 b/installcygwin.ps1
new file mode 100755
index 0000000..0545397
--- /dev/null
+++ b/installcygwin.ps1
@@ -0,0 +1,17 @@
+function Install-Cygwin
+{
+  param ( $TempCygDir="$env:temp\cygInstall" )
+
+  if (!(Test-Path -Path $TempCygDir -PathType Container)) {
+      $null = New-Item -Type Directory -Path $TempCygDir -Force
+  }
+  $client = new-object System.Net.WebClient
+  $client.DownloadFile("http://cygwin.com/setup-x86.exe", "$TempCygDir\setup.exe" )
+  #Start-Process -wait -FilePath "$TempCygDir\setup.exe" -ArgumentList "-q -n -l $TempCygDir `
+    -s http://ftp.jaist.ac.jp/pub/cygwin/ -R c:\cygwin -P pango1.0,libintl8,libiconv2, `
+    libncursesw10,libgcc1,wget,openssh,git,zsh"
+  Start-Process -wait -FilePath "$TempCygDir\setup.exe" -ArgumentList "-q -n -l $TempCygDir `
+    -s http://ftp.jaist.ac.jp/pub/cygwin/ -R c:\cygwin -P wget,openssh,git,zsh"
+}
+
+Install-Cygwin
diff --git a/mac/com.googlecode.iterm2.plist b/mac/com.googlecode.iterm2.plist
new file mode 100644
index 0000000..4581e53
--- /dev/null
+++ b/mac/com.googlecode.iterm2.plist
@@ -0,0 +1,1159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>AdjustWindowForFontSizeChange</key>
+	<true/>
+	<key>AllowClipboardAccess</key>
+	<false/>
+	<key>AnimateDimming</key>
+	<false/>
+	<key>AppleAntiAliasingThreshold</key>
+	<integer>1</integer>
+	<key>AppleScrollAnimationEnabled</key>
+	<integer>0</integer>
+	<key>AppleSmoothFixedFontsSizeThreshold</key>
+	<integer>1</integer>
+	<key>AutoHideTmuxClientSession</key>
+	<false/>
+	<key>CheckTestRelease</key>
+	<true/>
+	<key>ClosingHotkeySwitchesSpaces</key>
+	<false/>
+	<key>CommandSelection</key>
+	<true/>
+	<key>Control</key>
+	<integer>1</integer>
+	<key>CopyLastNewline</key>
+	<false/>
+	<key>CopySelection</key>
+	<true/>
+	<key>Custom Color Presets</key>
+	<dict>
+		<key>Solarized Dark</key>
+		<dict>
+			<key>Ansi 0 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.19370138645172119</real>
+				<key>Green Component</key>
+				<real>0.15575926005840302</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Ansi 1 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.14145714044570923</real>
+				<key>Green Component</key>
+				<real>0.10840655118227005</real>
+				<key>Red Component</key>
+				<real>0.81926977634429932</real>
+			</dict>
+			<key>Ansi 10 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.38298487663269043</real>
+				<key>Green Component</key>
+				<real>0.35665956139564514</real>
+				<key>Red Component</key>
+				<real>0.27671992778778076</real>
+			</dict>
+			<key>Ansi 11 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.43850564956665039</real>
+				<key>Green Component</key>
+				<real>0.40717673301696777</real>
+				<key>Red Component</key>
+				<real>0.32436618208885193</real>
+			</dict>
+			<key>Ansi 12 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.51685798168182373</real>
+				<key>Green Component</key>
+				<real>0.50962930917739868</real>
+				<key>Red Component</key>
+				<real>0.44058024883270264</real>
+			</dict>
+			<key>Ansi 13 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.72908437252044678</real>
+				<key>Green Component</key>
+				<real>0.33896297216415405</real>
+				<key>Red Component</key>
+				<real>0.34798634052276611</real>
+			</dict>
+			<key>Ansi 14 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.56363654136657715</real>
+				<key>Green Component</key>
+				<real>0.56485837697982788</real>
+				<key>Red Component</key>
+				<real>0.50599193572998047</real>
+			</dict>
+			<key>Ansi 15 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.86405980587005615</real>
+				<key>Green Component</key>
+				<real>0.95794391632080078</real>
+				<key>Red Component</key>
+				<real>0.98943418264389038</real>
+			</dict>
+			<key>Ansi 2 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.020208755508065224</real>
+				<key>Green Component</key>
+				<real>0.54115492105484009</real>
+				<key>Red Component</key>
+				<real>0.44977453351020813</real>
+			</dict>
+			<key>Ansi 3 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.023484811186790466</real>
+				<key>Green Component</key>
+				<real>0.46751424670219421</real>
+				<key>Red Component</key>
+				<real>0.64746475219726562</real>
+			</dict>
+			<key>Ansi 4 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.78231418132781982</real>
+				<key>Green Component</key>
+				<real>0.46265947818756104</real>
+				<key>Red Component</key>
+				<real>0.12754884362220764</real>
+			</dict>
+			<key>Ansi 5 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.43516635894775391</real>
+				<key>Green Component</key>
+				<real>0.10802463442087173</real>
+				<key>Red Component</key>
+				<real>0.77738940715789795</real>
+			</dict>
+			<key>Ansi 6 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.52502274513244629</real>
+				<key>Green Component</key>
+				<real>0.57082360982894897</real>
+				<key>Red Component</key>
+				<real>0.14679534733295441</real>
+			</dict>
+			<key>Ansi 7 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.79781103134155273</real>
+				<key>Green Component</key>
+				<real>0.89001238346099854</real>
+				<key>Red Component</key>
+				<real>0.91611063480377197</real>
+			</dict>
+			<key>Ansi 8 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.15170273184776306</real>
+				<key>Green Component</key>
+				<real>0.11783610284328461</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Ansi 9 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.073530435562133789</real>
+				<key>Green Component</key>
+				<real>0.21325300633907318</real>
+				<key>Red Component</key>
+				<real>0.74176257848739624</real>
+			</dict>
+			<key>Background Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.15170273184776306</real>
+				<key>Green Component</key>
+				<real>0.11783610284328461</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Bold Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.56363654136657715</real>
+				<key>Green Component</key>
+				<real>0.56485837697982788</real>
+				<key>Red Component</key>
+				<real>0.50599193572998047</real>
+			</dict>
+			<key>Cursor Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.51685798168182373</real>
+				<key>Green Component</key>
+				<real>0.50962930917739868</real>
+				<key>Red Component</key>
+				<real>0.44058024883270264</real>
+			</dict>
+			<key>Cursor Text Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.19370138645172119</real>
+				<key>Green Component</key>
+				<real>0.15575926005840302</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Foreground Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.51685798168182373</real>
+				<key>Green Component</key>
+				<real>0.50962930917739868</real>
+				<key>Red Component</key>
+				<real>0.44058024883270264</real>
+			</dict>
+			<key>Selected Text Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.56363654136657715</real>
+				<key>Green Component</key>
+				<real>0.56485837697982788</real>
+				<key>Red Component</key>
+				<real>0.50599193572998047</real>
+			</dict>
+			<key>Selection Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.19370138645172119</real>
+				<key>Green Component</key>
+				<real>0.15575926005840302</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+		</dict>
+	</dict>
+	<key>Default Bookmark Guid</key>
+	<string>C557EDD2-1119-4E2A-818A-4719BEB38BF6</string>
+	<key>DimBackgroundWindows</key>
+	<false/>
+	<key>DimInactiveSplitPanes</key>
+	<true/>
+	<key>DimOnlyText</key>
+	<false/>
+	<key>DisableFullscreenTransparency</key>
+	<false/>
+	<key>EnableRendezvous</key>
+	<false/>
+	<key>FocusFollowsMouse</key>
+	<false/>
+	<key>FsTabDelay</key>
+	<real>1</real>
+	<key>HiddenAFRStrokeThickness</key>
+	<real>0.0</real>
+	<key>HiddenAdvancedFontRendering</key>
+	<false/>
+	<key>HideActivityIndicator</key>
+	<false/>
+	<key>HideMenuBarInFullscreen</key>
+	<true/>
+	<key>HideScrollbar</key>
+	<false/>
+	<key>HideTab</key>
+	<true/>
+	<key>HighlightTabLabels</key>
+	<true/>
+	<key>HotKeyBookmark</key>
+	<string>C557EDD2-1119-4E2A-818A-4719BEB38BF6</string>
+	<key>HotKeyTogglesWindow</key>
+	<false/>
+	<key>Hotkey</key>
+	<true/>
+	<key>HotkeyChar</key>
+	<integer>63247</integer>
+	<key>HotkeyCode</key>
+	<integer>111</integer>
+	<key>HotkeyModifiers</key>
+	<integer>8388864</integer>
+	<key>IRMemory</key>
+	<integer>4</integer>
+	<key>JobName</key>
+	<true/>
+	<key>LeftCommand</key>
+	<integer>7</integer>
+	<key>LeftOption</key>
+	<integer>2</integer>
+	<key>LoadPrefsFromCustomFolder</key>
+	<true/>
+	<key>MaxVertically</key>
+	<false/>
+	<key>NSNavLastRootDirectory</key>
+	<string>~/dotfiles/mac</string>
+	<key>NSQuotedKeystrokeBinding</key>
+	<string></string>
+	<key>NSRepeatCountBinding</key>
+	<string></string>
+	<key>NSScrollAnimationEnabled</key>
+	<false/>
+	<key>NSWindow Frame Preferences</key>
+	<string>316 180 924 485 0 0 1366 768 </string>
+	<key>NSWindow Frame iTerm Window 0</key>
+	<string>148 67 490 351 0 0 1366 768 </string>
+	<key>New Bookmarks</key>
+	<array>
+		<dict>
+			<key>ASCII Anti Aliased</key>
+			<true/>
+			<key>Allow Title Reporting</key>
+			<false/>
+			<key>Ambiguous Double Width</key>
+			<false/>
+			<key>Ansi 0 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.0</real>
+				<key>Green Component</key>
+				<real>0.0</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Ansi 1 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.0</real>
+				<key>Green Component</key>
+				<real>0.0</real>
+				<key>Red Component</key>
+				<real>0.73333334922790527</real>
+			</dict>
+			<key>Ansi 10 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.3333333432674408</real>
+				<key>Green Component</key>
+				<real>1</real>
+				<key>Red Component</key>
+				<real>0.3333333432674408</real>
+			</dict>
+			<key>Ansi 11 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.3333333432674408</real>
+				<key>Green Component</key>
+				<real>1</real>
+				<key>Red Component</key>
+				<real>1</real>
+			</dict>
+			<key>Ansi 12 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>1</real>
+				<key>Green Component</key>
+				<real>0.3333333432674408</real>
+				<key>Red Component</key>
+				<real>0.3333333432674408</real>
+			</dict>
+			<key>Ansi 13 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>1</real>
+				<key>Green Component</key>
+				<real>0.3333333432674408</real>
+				<key>Red Component</key>
+				<real>1</real>
+			</dict>
+			<key>Ansi 14 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>1</real>
+				<key>Green Component</key>
+				<real>1</real>
+				<key>Red Component</key>
+				<real>0.3333333432674408</real>
+			</dict>
+			<key>Ansi 15 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>1</real>
+				<key>Green Component</key>
+				<real>1</real>
+				<key>Red Component</key>
+				<real>1</real>
+			</dict>
+			<key>Ansi 2 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.0</real>
+				<key>Green Component</key>
+				<real>0.73333334922790527</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Ansi 3 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.0</real>
+				<key>Green Component</key>
+				<real>0.73333334922790527</real>
+				<key>Red Component</key>
+				<real>0.73333334922790527</real>
+			</dict>
+			<key>Ansi 4 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.73333334922790527</real>
+				<key>Green Component</key>
+				<real>0.0</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Ansi 5 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.73333334922790527</real>
+				<key>Green Component</key>
+				<real>0.0</real>
+				<key>Red Component</key>
+				<real>0.73333334922790527</real>
+			</dict>
+			<key>Ansi 6 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.73333334922790527</real>
+				<key>Green Component</key>
+				<real>0.73333334922790527</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Ansi 7 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.73333334922790527</real>
+				<key>Green Component</key>
+				<real>0.73333334922790527</real>
+				<key>Red Component</key>
+				<real>0.73333334922790527</real>
+			</dict>
+			<key>Ansi 8 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.3333333432674408</real>
+				<key>Green Component</key>
+				<real>0.3333333432674408</real>
+				<key>Red Component</key>
+				<real>0.3333333432674408</real>
+			</dict>
+			<key>Ansi 9 Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.3333333432674408</real>
+				<key>Green Component</key>
+				<real>0.3333333432674408</real>
+				<key>Red Component</key>
+				<real>1</real>
+			</dict>
+			<key>Automatically Log</key>
+			<false/>
+			<key>BM Growl</key>
+			<true/>
+			<key>Background Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.0</real>
+				<key>Green Component</key>
+				<real>0.0</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Background Image Is Tiled</key>
+			<false/>
+			<key>Background Image Location</key>
+			<string></string>
+			<key>Blend</key>
+			<real>0.30000001192092896</real>
+			<key>Blink Allowed</key>
+			<false/>
+			<key>Blinking Cursor</key>
+			<true/>
+			<key>Blur</key>
+			<false/>
+			<key>Blur Radius</key>
+			<real>2.2269971370697021</real>
+			<key>Bold Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>1</real>
+				<key>Green Component</key>
+				<real>1</real>
+				<key>Red Component</key>
+				<real>1</real>
+			</dict>
+			<key>Character Encoding</key>
+			<integer>4</integer>
+			<key>Close Sessions On End</key>
+			<true/>
+			<key>Columns</key>
+			<integer>80</integer>
+			<key>Command</key>
+			<string>/usr/local/bin/zsh</string>
+			<key>Cursor Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.73333334922790527</real>
+				<key>Green Component</key>
+				<real>0.73333334922790527</real>
+				<key>Red Component</key>
+				<real>0.73333334922790527</real>
+			</dict>
+			<key>Cursor Text Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>1</real>
+				<key>Green Component</key>
+				<real>1</real>
+				<key>Red Component</key>
+				<real>1</real>
+			</dict>
+			<key>Cursor Type</key>
+			<integer>2</integer>
+			<key>Custom Command</key>
+			<string>Yes</string>
+			<key>Custom Directory</key>
+			<string>No</string>
+			<key>Default Bookmark</key>
+			<string>No</string>
+			<key>Disable Printing</key>
+			<false/>
+			<key>Disable Smcup Rmcup</key>
+			<false/>
+			<key>Disable Window Resizing</key>
+			<true/>
+			<key>Flashing Bell</key>
+			<false/>
+			<key>Foreground Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.73333334922790527</real>
+				<key>Green Component</key>
+				<real>0.73333334922790527</real>
+				<key>Red Component</key>
+				<real>0.73333334922790527</real>
+			</dict>
+			<key>Guid</key>
+			<string>C557EDD2-1119-4E2A-818A-4719BEB38BF6</string>
+			<key>Hide After Opening</key>
+			<false/>
+			<key>Horizontal Spacing</key>
+			<real>1</real>
+			<key>Idle Code</key>
+			<integer>0</integer>
+			<key>Initial Text</key>
+			<string></string>
+			<key>Jobs to Ignore</key>
+			<array>
+				<string>rlogin</string>
+				<string>ssh</string>
+				<string>slogin</string>
+				<string>telnet</string>
+			</array>
+			<key>Keyboard Map</key>
+			<dict>
+				<key>0x2d-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1f</string>
+				</dict>
+				<key>0x32-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x00</string>
+				</dict>
+				<key>0x33-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1b</string>
+				</dict>
+				<key>0x34-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1c</string>
+				</dict>
+				<key>0x35-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1d</string>
+				</dict>
+				<key>0x36-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1e</string>
+				</dict>
+				<key>0x37-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1f</string>
+				</dict>
+				<key>0x38-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x7f</string>
+				</dict>
+				<key>0x9-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>9</string>
+				</dict>
+				<key>0xf700-0x220000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2A</string>
+				</dict>
+				<key>0xf700-0x240000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;5A</string>
+				</dict>
+				<key>0xf700-0x260000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;6A</string>
+				</dict>
+				<key>0xf700-0x280000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1b 0x1b 0x5b 0x41</string>
+				</dict>
+				<key>0xf701-0x220000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2B</string>
+				</dict>
+				<key>0xf701-0x240000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;5B</string>
+				</dict>
+				<key>0xf701-0x260000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;6B</string>
+				</dict>
+				<key>0xf701-0x280000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1b 0x1b 0x5b 0x42</string>
+				</dict>
+				<key>0xf702-0x220000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2D</string>
+				</dict>
+				<key>0xf702-0x240000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;5D</string>
+				</dict>
+				<key>0xf702-0x260000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;6D</string>
+				</dict>
+				<key>0xf702-0x280000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1b 0x1b 0x5b 0x44</string>
+				</dict>
+				<key>0xf703-0x220000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2C</string>
+				</dict>
+				<key>0xf703-0x240000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;5C</string>
+				</dict>
+				<key>0xf703-0x260000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;6C</string>
+				</dict>
+				<key>0xf703-0x280000</key>
+				<dict>
+					<key>Action</key>
+					<integer>11</integer>
+					<key>Text</key>
+					<string>0x1b 0x1b 0x5b 0x43</string>
+				</dict>
+				<key>0xf704-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2P</string>
+				</dict>
+				<key>0xf705-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2Q</string>
+				</dict>
+				<key>0xf706-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2R</string>
+				</dict>
+				<key>0xf707-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2S</string>
+				</dict>
+				<key>0xf708-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[15;2~</string>
+				</dict>
+				<key>0xf709-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[17;2~</string>
+				</dict>
+				<key>0xf70a-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[18;2~</string>
+				</dict>
+				<key>0xf70b-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[19;2~</string>
+				</dict>
+				<key>0xf70c-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[20;2~</string>
+				</dict>
+				<key>0xf70d-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[21;2~</string>
+				</dict>
+				<key>0xf70e-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[23;2~</string>
+				</dict>
+				<key>0xf70f-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[24;2~</string>
+				</dict>
+				<key>0xf729-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2H</string>
+				</dict>
+				<key>0xf729-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;5H</string>
+				</dict>
+				<key>0xf72b-0x20000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;2F</string>
+				</dict>
+				<key>0xf72b-0x40000</key>
+				<dict>
+					<key>Action</key>
+					<integer>10</integer>
+					<key>Text</key>
+					<string>[1;5F</string>
+				</dict>
+			</dict>
+			<key>Log Directory</key>
+			<string></string>
+			<key>Minimum Contrast</key>
+			<real>0.58309894800186157</real>
+			<key>Mouse Reporting</key>
+			<true/>
+			<key>Name</key>
+			<string>Default</string>
+			<key>Non Ascii Font</key>
+			<string>Ricty-RegularForPowerline 12</string>
+			<key>Non-ASCII Anti Aliased</key>
+			<true/>
+			<key>Normal Font</key>
+			<string>Ricty-RegularForPowerline 12</string>
+			<key>Option Key Sends</key>
+			<integer>0</integer>
+			<key>Prompt Before Closing 2</key>
+			<integer>0</integer>
+			<key>Right Option Key Sends</key>
+			<integer>0</integer>
+			<key>Rows</key>
+			<integer>25</integer>
+			<key>Screen</key>
+			<integer>-1</integer>
+			<key>Scrollback Lines</key>
+			<integer>1000</integer>
+			<key>Scrollback With Status Bar</key>
+			<false/>
+			<key>Scrollback in Alternate Screen</key>
+			<true/>
+			<key>Selected Text Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>0.0</real>
+				<key>Green Component</key>
+				<real>0.0</real>
+				<key>Red Component</key>
+				<real>0.0</real>
+			</dict>
+			<key>Selection Color</key>
+			<dict>
+				<key>Blue Component</key>
+				<real>1</real>
+				<key>Green Component</key>
+				<real>0.8353000283241272</real>
+				<key>Red Component</key>
+				<real>0.70980000495910645</real>
+			</dict>
+			<key>Semantic History</key>
+			<dict>
+				<key>action</key>
+				<string>best editor</string>
+				<key>editor</key>
+				<string>com.sublimetext.3</string>
+				<key>text</key>
+				<string></string>
+			</dict>
+			<key>Send Code When Idle</key>
+			<false/>
+			<key>Set Local Environment Vars</key>
+			<true/>
+			<key>Shortcut</key>
+			<string></string>
+			<key>Silence Bell</key>
+			<true/>
+			<key>Smart Cursor Color</key>
+			<true/>
+			<key>Smart Selection Rules</key>
+			<array>
+				<dict>
+					<key>notes</key>
+					<string>Word bounded by whitespace</string>
+					<key>precision</key>
+					<string>low</string>
+					<key>regex</key>
+					<string>\S+</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>C++ namespace::identifier</string>
+					<key>precision</key>
+					<string>normal</string>
+					<key>regex</key>
+					<string>([a-zA-Z0-9_]+::)+[a-zA-Z0-9_]+</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>Paths</string>
+					<key>precision</key>
+					<string>normal</string>
+					<key>regex</key>
+					<string>\~?/?([[:letter:][:number:]._-]+/+)+[[:letter:][:number:]._-]+/?</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>Quoted string</string>
+					<key>precision</key>
+					<string>normal</string>
+					<key>regex</key>
+					<string>@?"(?:[^"\\]|\\.)*"</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>Java/Python include paths</string>
+					<key>precision</key>
+					<string>normal</string>
+					<key>regex</key>
+					<string>([[:letter:][:number:]._]+\.)+[[:letter:][:number:]._]+</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>mailto URL</string>
+					<key>precision</key>
+					<string>normal</string>
+					<key>regex</key>
+					<string>\bmailto:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\b</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>Obj-C selector</string>
+					<key>precision</key>
+					<string>high</string>
+					<key>regex</key>
+					<string>@selector\([^)]+\)</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>email address</string>
+					<key>precision</key>
+					<string>high</string>
+					<key>regex</key>
+					<string>\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\b</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>HTTP URL</string>
+					<key>precision</key>
+					<string>very_high</string>
+					<key>regex</key>
+					<string>https?://([a-z0-9A-Z]+(:[a-zA-Z0-9]+)?@)?[a-z0-9A-Z]+(\.[a-z0-9A-Z]+)*((:[0-9]+)?)(/[a-zA-Z0-9;/\.\-_+%~?&amp;@=#\(\)]*)?</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>SSH URL</string>
+					<key>precision</key>
+					<string>very_high</string>
+					<key>regex</key>
+					<string>\bssh:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\b</string>
+				</dict>
+				<dict>
+					<key>notes</key>
+					<string>Telnet URL</string>
+					<key>precision</key>
+					<string>very_high</string>
+					<key>regex</key>
+					<string>\btelnet:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\b</string>
+				</dict>
+			</array>
+			<key>Space</key>
+			<integer>-1</integer>
+			<key>Sync Title</key>
+			<false/>
+			<key>Tags</key>
+			<array/>
+			<key>Terminal Type</key>
+			<string>xterm-256color</string>
+			<key>Transparency</key>
+			<real>0.31538692116737366</real>
+			<key>Triggers</key>
+			<array/>
+			<key>Unlimited Scrollback</key>
+			<false/>
+			<key>Use Bold Font</key>
+			<true/>
+			<key>Use Bright Bold</key>
+			<true/>
+			<key>Use Canonical Parser</key>
+			<false/>
+			<key>Use Italic Font</key>
+			<false/>
+			<key>Vertical Spacing</key>
+			<real>1</real>
+			<key>Visual Bell</key>
+			<true/>
+			<key>Window Type</key>
+			<integer>1</integer>
+			<key>Working Directory</key>
+			<string>/Users/yuki</string>
+		</dict>
+	</array>
+	<key>NoSyncNeverRemindPrefsChangesCopy</key>
+	<true/>
+	<key>OnlyWhenMoreTabs</key>
+	<true/>
+	<key>OpenArrangementAtStartup</key>
+	<false/>
+	<key>OpenBookmark</key>
+	<false/>
+	<key>OpenTmuxWindowsIn</key>
+	<integer>0</integer>
+	<key>PassOnControlClick</key>
+	<false/>
+	<key>PasteFromClipboard</key>
+	<false/>
+	<key>PointerActions</key>
+	<dict>
+		<key>Button,1,1,,</key>
+		<dict>
+			<key>Action</key>
+			<string>kContextMenuPointerAction</string>
+		</dict>
+		<key>Button,2,1,,</key>
+		<dict>
+			<key>Action</key>
+			<string>kPasteFromClipboardPointerAction</string>
+		</dict>
+		<key>Gesture,ThreeFingerSwipeDown,,</key>
+		<dict>
+			<key>Action</key>
+			<string>kPrevWindowPointerAction</string>
+		</dict>
+		<key>Gesture,ThreeFingerSwipeLeft,,</key>
+		<dict>
+			<key>Action</key>
+			<string>kPrevTabPointerAction</string>
+		</dict>
+		<key>Gesture,ThreeFingerSwipeRight,,</key>
+		<dict>
+			<key>Action</key>
+			<string>kNextTabPointerAction</string>
+		</dict>
+		<key>Gesture,ThreeFingerSwipeUp,,</key>
+		<dict>
+			<key>Action</key>
+			<string>kNextWindowPointerAction</string>
+		</dict>
+	</dict>
+	<key>PrefsCustomFolder</key>
+	<string>/Users/yuki/dotfiles/mac</string>
+	<key>PromptOnClose</key>
+	<true/>
+	<key>PromptOnQuit</key>
+	<true/>
+	<key>QuitWhenAllWindowsClosed</key>
+	<true/>
+	<key>RightCommand</key>
+	<integer>8</integer>
+	<key>RightOption</key>
+	<integer>3</integer>
+	<key>SUAutomaticallyUpdate</key>
+	<true/>
+	<key>SUEnableAutomaticChecks</key>
+	<true/>
+	<key>SUFeedURL</key>
+	<string>http://iterm2.com/appcasts/testing.xml</string>
+	<key>SUHasLaunchedBefore</key>
+	<true/>
+	<key>SULastCheckTime</key>
+	<date>2013-12-01T07:32:36Z</date>
+	<key>SavePasteHistory</key>
+	<false/>
+	<key>ShowBookmarkName</key>
+	<false/>
+	<key>ShowPaneTitles</key>
+	<true/>
+	<key>SmartPlacement</key>
+	<false/>
+	<key>SplitPaneDimmingAmount</key>
+	<real>0.40000000596046448</real>
+	<key>SwitchTabModifier</key>
+	<integer>4</integer>
+	<key>SwitchWindowModifier</key>
+	<integer>6</integer>
+	<key>TabViewType</key>
+	<integer>0</integer>
+	<key>ThreeFingerEmulates</key>
+	<false/>
+	<key>TmuxDashboardLimit</key>
+	<integer>10</integer>
+	<key>TripleClickSelectsFullWrappedLines</key>
+	<false/>
+	<key>URLHandlersByGuid</key>
+	<dict/>
+	<key>UseBorder</key>
+	<false/>
+	<key>UseCompactLabel</key>
+	<true/>
+	<key>UseLionStyleFullscreen</key>
+	<false/>
+	<key>WebKitDefaultFontSize</key>
+	<integer>11</integer>
+	<key>WebKitStandardFont</key>
+	<string>Lucida Grande</string>
+	<key>WindowNumber</key>
+	<true/>
+	<key>WindowStyle</key>
+	<integer>0</integer>
+	<key>WordCharacters</key>
+	<string>/-+\~_.</string>
+	<key>iTerm Version</key>
+	<string>1.0.0.20131124</string>
+</dict>
+</plist>
diff --git a/mac/macmini.vncloc b/mac/macmini.vncloc
new file mode 100644
index 0000000..0b6deca
--- /dev/null
+++ b/mac/macmini.vncloc
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>URL</key>
+	<string>vnc://macmini._rfb._tcp.local</string>
+</dict>
+</plist>
diff --git a/mac/private.xml b/mac/private.xml
new file mode 100644
index 0000000..7c98a5d
--- /dev/null
+++ b/mac/private.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<root>
+    <symbol_map type="KeyCode" name="[" value="0x1e" />
+    <appdef>
+        <appname>SUBLIMETEXT2</appname>
+        <equal>com.sublimetext.2</equal>
+    </appdef>
+    <appdef>
+        <appname>iTERM2</appname>
+        <equal>com.googlecode.iterm2</equal>
+    </appdef>
+    <appdef>
+        <appname>MACVIM</appname>
+        <equal>org.vim.MacVim</equal>
+    </appdef>
+    <list>
+        <item>
+            <name>LeaveInsMode with EISUU(vim keybind apps)</name>
+            <identifier>private.vim_keybind_apps_esc_with_eisuu</identifier>
+            <only>iTERM2,TERMINAL,MACVIM,VI,SUBLIMETEXT2</only>
+            <autogen>--KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::JIS_EISUU</autogen>
+            <autogen>--KeyToKey-- KeyCode::[, VK_CONTROL, KeyCode::[, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
+            <autogen>--KeyToKey-- KeyCode::C, VK_CONTROL, KeyCode::C, VK_CONTROL, KeyCode::JIS_EISUU</autogen>
+        </item>
+    </list>
+</root>
diff --git a/setup.sh b/setup.sh
new file mode 100755
index 0000000..0b52414
--- /dev/null
+++ b/setup.sh
@@ -0,0 +1,199 @@
+#!/bin/bash
+git submodule init
+git submodule update
+
+
+# check ostype
+ostype() { echo $OSTYPE | tr '[A-Z]' '[a-z]'; }
+SHELL_PLATFORM='unknown'
+case "$(ostype)" in
+    *'linux'*   ) SHELL_PLATFORM='linux';;
+    *'darwin'*  ) SHELL_PLATFORM='osx';;
+    *'bsd'*     ) SHELL_PLATFORM='bsd';;
+esac
+
+shell_is_linux() { [[ $SHELL_PLATFORM == 'linux' || $SHELL_PLATFORM == 'bsd' ]]; }
+shell_is_osx()   { [[ $SHELL_PLATFORM == 'osx' ]]; }
+shell_is_bsd()   { [[ $SHELL_PLATFORM == 'bsd' || $SHELL_PLATFORM == 'osx' ]]; }
+
+############################## for Linux ##############################
+if shell_is_linux ; then
+    if which yum > /dev/null 2>&1 ; then
+        apget=yum
+    else
+        apget=apt-get
+    fi
+
+    eval sudo $apget install git
+    eval sudo $apget install zsh
+    eval sudo $apget install tmux
+fi
+#######################################################################
+
+
+# tmux or screen
+echo "local? , server? , linux?, or windows?"
+echo "l, s, x, or w"
+read lsxw
+while :
+do
+    if [ "${lsxw}" = "l" ]; then
+        tmux=".tmux.conf"
+        break
+    elif [ "${lsxw}" = "s" ]; then
+        tmux=".tmux.conf_server"
+        break
+    elif [ "${lsxw}" = "x" ]; then
+        tmux=".tmux.conf_linux"
+        break
+    elif [ "${lsxw}" = "w" ]; then
+        screen=".screenrc_win"
+        break
+    else
+        echo "Press l ,s ,x or w"
+        read lsxw
+    fi
+done
+# tmux
+if [ ${tmux} != "" ]; then
+    rm ${HOME}/.tmux.conf
+    ln -s ${PWD}/${tmux} ${HOME}/.tmux.conf
+else
+    # screen
+    rm ${HOME}/.screenrc
+    ln -s ${PWD}/${screen} ${HOME}/.screenrc
+fi
+
+# zsh
+cd zsh
+ZSH_FILE=( .zshenv )
+for file in ${ZSH_FILE[@]}
+do
+    rm ${HOME}/${file}
+    ln -s ${PWD}/${file} ${HOME}/${file}
+done
+cd ../
+
+[ ! -d "${HOME}/.oh-my-zsh" ] && git clone git@github.com:yuyunko/oh-my-zsh.git ~/.oh-my-zsh
+rm ${HOME}/.zshrc
+ln -s ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
+
+# vim
+cd vim
+VIM_FILE=( .vimrc .gvimrc .vim )
+for file in ${VIM_FILE[@]}
+do
+    rm ${HOME}/${file}
+    ln -s ${PWD}/${file} ${HOME}/${file}
+done
+cd ../
+
+if [ ! -d vim/.vim/back ]; then
+    mkdir -p vim/.vim/back
+fi
+
+# vimperator
+cd vimperator
+[ ! -d ${HOME}/.vimperator/plugin ] && mkdir -p ${HOME}/.vimperator/plugin
+git clone git://github.com/caisui/vimperator.git ${HOME}/.vimperator/caisui
+git clone git://gist.github.com/377348.git ${HOME}/.vimperator/377348
+git clone git://github.com/vimpr/vimperator-plugins.git ${HOME}/.vimperator/vimperator-plugins
+git clone git://github.com/vimpr/vimperator-rc.git ${HOME}/.vimperator/vimperator-rc
+
+rm ${HOME}/.vimperatorrc
+ln -s ${PWD}/.vimperatorrc ${HOME}/
+
+rm ${HOME}/.vimperator/plugin/plugin_loader.js
+ln -s ${HOME}/.vimperator/vimperator-plugins/plugin_loader.js ${HOME}/.vimperator/plugin/
+rm ${HOME}/.vimperator/colors
+ln -s ${HOME}/.vimperator/vimperator-rc/anekos/colors ${HOME}/.vimperator/
+cd ../
+
+# dotfiles
+DOT_FILES=( .vrapperrc .gemrc)
+for file in ${DOT_FILES[@]}
+do
+    rm ${HOME}/${file}
+    ln -s ${PWD}/${file} ${HOME}/${file}
+done
+
+# global gitignore
+rm ${HOME}/.gitignore
+ln -s ${PWD}/global-gitignore ${HOME}/.gitignore
+git config --global core.excludesfile ~/.gitignore
+
+# git
+git config --global user.name 'yuyunko'
+git config --global user.email 'i.xxxxxxxxxxxxx.13@gmail.com'
+git config --global github.user 'yuyunko'
+git config --global push.default simple
+git config --global color.diff auto
+# alias
+git config --global alias.ci commit
+git config --global alias.co checkout
+git config --global alias.st status
+# editor
+git config --global core.editor vim
+
+# scripts git clone
+[ ! -d ${HOME}/bin ] && mkdir ${HOME}/bin
+cd ${HOME}/bin
+git clone git@bitbucket.org:yuyunko/scripts.git
+cd -
+
+############################## for OS X ##############################
+if shell_is_osx ; then
+    # install homebrew
+    ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"
+    brew install reattach-to-user-namespace
+    brew install --disable-etcdir zsh
+    brew install lv
+    brew install git
+    brew install git-now
+    brew install tmux
+    brew install readline
+    brew install openssl
+    brew install coreutils
+    brew install rmtrash
+    brew install cmatrix
+    brew install zsh-completions
+    brew install mosh
+    brew install nkf
+    brew install the_silver_searcher
+    #brew install rbenv ruby-build rbenv-gemset rbenv-binstubs
+    brew install macvim --with-cscope --with-lua --HEAD
+    brew install go
+    ln -s /usr/local/Cellar/macvim/HEAD/MacVim.app /Applications
+
+    brew tap homebrew/dupes
+    brew install grep    # GNU grep necessary for tmux-powerline
+
+    brew tap phinze/homebrew-cask
+    brew install brew-cask
+    brew cask install google-chrome
+    brew cask install firefox
+    brew cask install right-zoom
+    brew cask install app-cleaner
+    brew cask install keyremap4macbook
+    brew cask install caffeine
+    brew cask install bettertouchtool
+    brew cask install xld
+    brew cask install iterm2
+    brew cask install quicksilver
+    brew cask install dropbox
+    brew cask install mplayerx
+
+    # iterm2 solalized colorscheme
+    [ ! -d ${HOME}/.iterm2-colorscheme ] && mkdir -p ${HOME}/.iterm2-colorscheme
+    git clone https://github.com/altercation/solarized.git ~/.iterm2-colorscheme/solarized
+    git clone https://github.com/larssmit/iterm2-getafe.git ~/.iterm2-colorscheme/getafe
+
+    # KeyRemap4MacBook
+    cd mac
+    rm ${HOME}/Library/Application\ Support/KeyRemap4MacBook/private.xml
+    mkdir -p ${HOME}/Library/Application\ Support/KeyRemap4MacBook
+    ln -s ${PWD}/private.xml ${HOME}/Library/Application\ Support/KeyRemap4MacBook/private.xml
+    cd ../
+fi
+#######################################################################
+
diff --git a/setup_cygwin.sh b/setup_cygwin.sh
new file mode 100755
index 0000000..4b23dca
--- /dev/null
+++ b/setup_cygwin.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# install apt-cyg
+#svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/
+#chmod +x /bin/apt-cyg
+
+# setup apt-cyg mirror site http://zashikiro.hateblo.jp/entry/2013/06/25/000132
+#apt-cyg --mirror  ftp://ftp.jaist.ac.jp/pub/cygwin/x86/ find vim
+#!/bin/sh
+
+WINHOME="/cygdrive/c/Users/${USER}"
+
+# install apt-cyg
+git clone git://github.com/rcmdnk/apt-cyg.git
+cp apt-cyg/apt-cyg /bin/
+chmod +x /bin/apt-cyg
+
+apt-cyg update -m ftp://mirror.mcs.anl.gov/pub/cygwin/x86
+
+# vimperator
+[ ! -d ${WINHOME}/vimperator/plugin ] && mkdir -p ${WINHOME}/vimperator/plugin
+git clone git://github.com/caisui/vimperator.git ${WINHOME}/vimperator/caisui
+git clone git://gist.github.com/377348.git ${WINHOME}/vimperator/377348
+git clone git://github.com/vimpr/vimperator-plugins.git ${WINHOME}/vimperator/vimperator-plugins
+git clone git://github.com/vimpr/vimperator-rc.git ${WINHOME}/vimperator/vimperator-rc
+
+[ ! -d "${HOME}/.oh-my-zsh" ] && git clone git@github.com:yuyunko/oh-my-zsh.git ~/.oh-my-zsh
+
+apt-cyg install git
+apt-cyg install openssh
+
+# clone oh-my-zsh
+#git clone git@github.com:yuyunko/oh-my-zsh.git ~/.oh-my-zsh
+
+
+# git
+git config --global user.name 'yuki'
+git config --global user.email 'i.xxxxxxxxxxxxx.13@gmail.com'
+git config --global github.user 'yuyunko'
+# git config --global push.default simple
+git config --global color.diff auto
+# alias
+git config --global alias.ci commit
+git config --global alias.co checkout
+git config --global alias.st status
+
diff --git a/setup_win.bat b/setup_win.bat
new file mode 100755
index 0000000..0c9cfde
--- /dev/null
+++ b/setup_win.bat
@@ -0,0 +1,112 @@
+@echo off
+REM {{{ «ݒè ===========================================
+set THIS_FILE_PASS=%~dp0
+set THIS_FILE_NAME=%~nx0
+set tm=%time: =0%
+set TODAY=%date:~-10,4%%date:~-5,2%%date:~-2,2%_%tm:~0,2%%tm:~3,2%%tm:~6,2%%tm:~9,2%
+
+REM cygwin̃pX
+REM set CYGWIN_PATH=%USERPROFILE%\cygwin
+set CYGWIN_PATH=C:\cygwin
+set CYGWIN_HOME=%CYGWIN_PATH%\home\%USERNAME%
+
+echo THIS_FILE_PASS=[%THIS_FILE_PASS%]
+echo THIS_FILE_NAME=[%THIS_FILE_NAME%]
+
+REM R}h
+REM OS»è
+for /f "tokens=1-3" %%i in ('ver') do set os=%%k
+if "%os%"=="XP" (
+    set LINKCMD_F=fsutil hardlink create
+    set LINKCMD_D=junction
+    set RDCMD=junction -d
+) else (
+    set LINKCMD_F=mklink /h
+    set LINKCMD_D=mklink /d
+    set RDCMD=rd /s /q
+)
+
+REM =====================================================}}}
+
+
+REM vimperator
+if exist "%USERPROFILE%\_vimperatorrc" rename "%USERPROFILE%\_vimperatorrc" "_vimperatorrc.bak_%TODAY%"
+%LINKCMD_F% "%USERPROFILE%\_vimperatorrc" "%THIS_FILE_PASS%vimperator\.vimperatorrc"
+if not exist "%USERPROFILE%\vimperator\plugin" mkdir "%USERPROFILE%\vimperator\plugin"
+git clone git://github.com/caisui/vimperator.git "%USERPROFILE%\vimperator\caisui"
+git clone git://gist.github.com/377348.git "%USERPROFILE%\vimperator\377348"
+git clone git://github.com/vimpr/vimperator-plugins.git "%USERPROFILE%\vimperator\vimperator-plugins"
+git clone git://github.com/vimpr/vimperator-rc.git "%USERPROFILE%\vimperator\vimperator-rc"
+if exist "%USERPROFILE%\vimperator\plugin\plugin_loader.js" del "%USERPROFILE%\vimperator\plugin\plugin_loader.js"
+%LINKCMD_F% "%USERPROFILE%\vimperator\plugin\plugin_loader.js" "%USERPROFILE%\vimperator\vimperator-plugins\plugin_loader.js"
+if exist "%USERPROFILE%\vimperator\colors" %RDCMD% "%USERPROFILE%\vimperator\colors"
+%LINKCMD_D% "%USERPROFILE%\vimperator\colors" "%USERPROFILE%\vimperator\vimperator-rc\anekos\colors"
+
+REM cfiler
+if not exist "%APPDATA%\CraftFiler" (
+    mkdir "%APPDATA%\CraftFiler"
+) else (
+    if exist "%APPDATA%\CraftFiler\config.py" rename "%APPDATA%\CraftFiler\config.py" "config.py.bak_%TODAY%"
+    %LINKCMD_F% "%APPDATA%\CraftFiler\config.py" "%THIS_FILE_PASS%win\CraftFiler\config.py"
+    if exist "%APPDATA%\CraftFiler\cfiler.ini" rename "%APPDATA%\CraftFiler\cfiler.ini" "cfiler.ini_%TODAY%"
+    %LINKCMD_F% "%APPDATA%\CraftFiler\cfiler.ini" "%THIS_FILE_PASS%win\CraftFiler\cfiler.ini"
+)
+
+REM clnch
+if not exist "%APPDATA%\CraftLaunch" (
+    mkdir "%APPDATA%\CraftLaunch"
+) else (
+    if exist "%APPDATA%\CraftLaunch\config.py" rename "%APPDATA%\CraftLaunch\config.py" "config.py.bak_%TODAY%"
+    %LINKCMD_F% "%APPDATA%\CraftLaunch\config.py" "%THIS_FILE_PASS%win\CraftLaunch\config.py"
+    if exist "%APPDATA%\CraftLaunch\clnch.ini" rename "%APPDATA%\CraftLaunch\clnch.ini" "clnch.ini.bak_%TODAY%"
+    %LINKCMD_F% "%APPDATA%\CraftLaunch\clnch.ini" "%THIS_FILE_PASS%win\CraftLaunch\clnch.ini"
+    git clone git@github.com:yuyunko/clnch3_extensions.git "%APPDATA%\CraftLaunch\clnch3_extensions"
+)
+
+REM AutoHotkey
+if exist "%USERPROFILE%\My Documents\AutoHotkey.ahk" (
+    rename "%USERPROFILE%\My Documents\AutoHotkey.ahk" "AutoHotkey.ahk.bak_%TODAY%"
+    %LINKCMD_F% "%USERPROFILE%\My Documents\AutoHotkey.ahk" "%THIS_FILE_PASS%win\AutoHotkey\AutoHotkey.ahk"
+) else (
+    rename "%USERPROFILE%\Documents\AutoHotkey.ahk" "AutoHotkey.ahk.bak_%TODAY%"
+    %LINKCMD_F% "%USERPROFILE%\Documents\AutoHotkey.ahk" "%THIS_FILE_PASS%win\AutoHotkey\AutoHotkey.ahk"
+)
+
+REM vim
+if exist "%USERPROFILE%\.vimrc" rename "%USERPROFILE%\.vimrc" ".vimrc.bak_%TODAY%"
+%LINKCMD_F% "%USERPROFILE%\.vimrc" "%THIS_FILE_PASS%vim\.vimrc"
+if exist "%USERPROFILE%\.gvimrc" rename "%USERPROFILE%\.gvimrc" ".gvimrc.bak_%TODAY%"
+%LINKCMD_F% "%USERPROFILE%\.gvimrc" "%THIS_FILE_PASS%vim\.gvimrc"
+if exist "%USERPROFILE%\.vim" %RDCMD% "%USERPROFILE%\.vim"
+%LINKCMD_D% "%USERPROFILE%\.vim" "%THIS_FILE_PASS%vim\.vim"
+
+REM for cygwin
+if exist "%CYGWIN_HOME%\.vimrc" rename "%CYGWIN_HOME%\.vimrc" ".vimrc.bak_%TODAY%"
+%LINKCMD_F% "%CYGWIN_HOME%\.vimrc" "%THIS_FILE_PASS%vim\.vimrc"
+if exist  "%CYGWIN_HOME%\.vim" %RDCMD% "%CYGWIN_HOME%\.vim"
+%LINKCMD_D% "%CYGWIN_HOME%\.vim" "%THIS_FILE_PASS%vim\.vim"
+
+REM zsh
+if exist "%CYGWIN_HOME%\.zshrc" rename "%CYGWIN_HOME%\.zshrc" ".zshrc.bak_%TODAY%"
+%LINKCMD_F% "%CYGWIN_HOME%\.zshrc" "%CYGWIN_HOME%\.oh-my-zsh\templates\zshrc.zsh-template"
+if exist "%CYGWIN_HOME%\.zshenv" rename "%CYGWIN_HOME%\.zshenv" ".zshenv.bak_%TODAY%"
+%LINKCMD_F% "%CYGWIN_HOME%\.zshenv" "%THIS_FILE_PASS%zsh\.zshenv"
+
+REM screenrc
+if exist "%CYGWIN_HOME%\.screenrc" rename "%CYGWIN_HOME%\.screenrc" ".screenrc.bak_%TODAY%"
+%LINKCMD_F% "%CYGWIN_HOME%\.screenrc" "%THIS_FILE_PASS%.screenrc_win"
+
+REM mintty
+if exist "%CYGWIN_HOME%\.minttyrc" rename "%CYGWIN_HOME%\.minttyrc" ".minttyrc.bak_%TODAY%"
+%LINKCMD_F% "%CYGWIN_HOME%\.minttyrc" "%THIS_FILE_PASS%.minttyrc"
+
+REM git
+git config --global user.name 'yuki'
+git config --global user.email 'i.xxxxxxxxxxxxx.13@gmail.com'
+git config --global github.user 'yuyunko'
+REM git config --global push.default simple
+git config --global color.diff auto
+REM alias
+git config --global alias.ci commit
+git config --global alias.co checkout
+git config --global alias.st status
diff --git a/vim/.gvimrc b/vim/.gvimrc
new file mode 100755
index 0000000..e5c9ad4
--- /dev/null
+++ b/vim/.gvimrc
@@ -0,0 +1,201 @@
+"=============================================================================
+"    Description: .gvimrcサンプル設定
+"         Author:
+"  Last Modified: 0000-00-00 00:00
+"        Version: 0.00
+"=============================================================================
+scriptencoding utf-8
+"----------------------------------------
+"システム設定
+"----------------------------------------
+"エラー時の音とビジュアルベルの抑制。
+set noerrorbells
+set novisualbell
+set visualbell t_vb=
+
+if has('multi_byte_ime') || has('xim')
+    set iminsert=0 imsearch=0
+    if has('xim') && has('GUI_GTK')
+        "XIMの入力開始キー
+        "set imactivatekey=C-space
+    endif
+endif
+
+"IMEの状態をカラー表示
+if has('multi_byte_ime')
+    highlight Cursor guifg=NONE guibg=Green
+    highlight CursorIM guifg=NONE guibg=Purple
+endif
+
+" ファイルタイプ別プラグイン設定
+filetype on
+
+" OS judge
+let s:is_windows = has('win16') || has('win32') || has('win64')
+let s:is_cygwin = has('win32unix')
+let s:is_darwin = has('mac') || has('macunix') || has('gui_macvim')
+let s:is_linux = !s:is_windows && !s:is_cygwin && !s:is_darwin
+
+"----------------------------------------
+" 表示設定
+"----------------------------------------
+"ツールバーを非表示
+"set guioptions-=mT
+set guioptions=none
+"set guioptions+=r
+"コマンドラインの高さ
+set cmdheight=2
+
+"カラー設定:
+if s:is_darwin
+    colorscheme molokai
+    set background=dark
+else
+    " 輝度を高くする
+    let g:solarized_visibility = "high"
+    " コントラストを高くする
+    let g:solarized_contrast = "high"
+    set background=dark
+    colorscheme solarized
+endif
+"source $HOME/.vim/bundle/Mark/plugin/mark.vim
+
+"フォント設定
+"フォントは英語名で指定すると問題が起きにくくなります
+if has('xfontset')
+    "  set guifontset=a14,r14,k14
+elseif has('win32unix') || has('win64unix')
+    set gfn=ＭＳ\ ゴシック\ 10
+elseif has('gui_macvim')
+    "   set gfn=Osaka-Mono:h10
+    "	set guifontwide=Osaka:h12
+    "   set gfn=しねきゃぷしょん:h14
+    "set gfn=しねきゃぷしょん:h12
+    "set gfn=Ricty\ Regular:h12
+    "set gfn=しねきゃぷしょん:h12
+    "set gfn=あんずもじ等幅:h12
+    "set gfn=Osaka-Mono:h11
+ 	set gfn=Ricty\ Regular\ for\ Powerline:h12
+    "set gfn=S2G-Uni-font:h12
+    "set gfn=S2G-Luna-font:h13
+    "set gfn=HuiFont:h12
+    "set gfn=kiloji:h13
+elseif has('unix')
+    "   set gfn=Takaoゴシック\ 12
+    "   set gfn=IPAゴシック\ 10
+elseif has('win32') || has('win64')
+    "  set gfn=ＭＳ\ ゴシック\ 10
+    set guifont=MS_Gothic:h9:cSHIFTJIS
+    "set guifont=MS_Gothic:h10:cSHIFTJIS
+    "set guifont=メイリオ:h7:cSHIFTJIS
+    "set gfn=Ricty\ Regular\ for\ Powerline:h8:w6
+    "set guifontwide=Ricty:h8:w6
+     "set gfn=あずきフォント:h8:cSHIFTJIS
+     "set gfn=うずらフォント:h8:cSHIFTJIS
+     "set gfn=S2Gうにフォント:h8:cSHIFTJIS
+    set guifontwide=MS_Gothic:h9:cSHIFTJIS
+    "set guifontwide=メイリオ:h7:cSHIFTJIS
+endif
+
+
+"印刷用フォント
+if has('printer')
+    if has('win32') || has('win64')
+        "    set printfont=MS_Mincho:h12:cSHIFTJIS
+        "    set printfont=MS_Gothic:h12:cSHIFTJIS
+    endif
+endif
+
+" Macのみ
+if has('mac')
+    gui
+    set transparency=7
+    set antialias
+elseif has('win32') || has('win64')
+    gui
+    set transparency=220
+    augroup MyGUI
+        autocmd!
+        au GUIEnter * set lines=130 | set columns=120
+    augroup END
+endif
+
+""""""""""""""""""""""""""""""
+"Window位置の保存と復帰
+""""""""""""""""""""""""""""""
+if has('unix')
+    let s:infofile = '~/.vim/.vimpos'
+else
+    let s:infofile = '~/_vimpos'
+endif
+
+function! s:SaveWindowParam(filename)
+    redir => pos
+    exec 'winpos'
+    redir END
+    let pos = matchstr(pos, 'X[-0-9 ]\+,\s*Y[-0-9 ]\+$')
+    let file = expand(a:filename)
+    let str = []
+    let cmd = 'winpos '.substitute(pos, '[^-0-9 ]', '', 'g')
+    cal add(str, cmd)
+    let l = &lines
+    let c = &columns
+    cal add(str, 'set lines='. l.' columns='. c)
+    silent! let ostr = readfile(file)
+    if str != ostr
+        call writefile(str, file)
+    endif
+endfunction
+
+augroup SaveWindowParam
+    autocmd!
+    execute 'autocmd SaveWindowParam VimLeave * call s:SaveWindowParam("'.s:infofile.'")'
+augroup END
+
+if filereadable(expand(s:infofile))
+    execute 'source '.s:infofile
+endif
+unlet s:infofile
+
+" 起動時サイズ指定
+if has('win32') || has('win64')
+    set lines=130
+    set columns=120
+    " Alt + ～ をシミュレート
+    nnoremap [Space]r :<C-u>simalt ~r<CR>
+    nnoremap [Space]x :<C-u>simalt ~x<CR>
+endif
+
+"起動時に最大化
+"autocmd GUIEnter * simalt ~x
+"autocmd BufEnter * macaction performZoom:
+if has('mac')
+    if has("gui_running")
+        set fuoptions=maxvert,maxhorz
+        au GUIEnter * set fullscreen
+        "au GUIEnter * set lines=130 | set columns=120
+    endif
+elseif has('win32') || has('win64')
+    if has("gui_running")
+        "autocmd GUIEnter * simalt ~x
+        "autocmd FileType vimfiler simalt ~x
+        "autocmd BufLeave,BufHidden,BufDelete,VimLeave vimfiler simalt ~r<CR>
+        "autocmd BufEnter * macaction performZoom:
+    endif
+endif
+"----------------------------------------
+"メニューアイテム作成
+"----------------------------------------
+silent! aunmenu &File.Save
+silent! aunmenu &File.保存(&S)
+silent! aunmenu &File.差分表示(&D)\.\.\.
+let message_revert="再読込しますか?"
+amenu <silent> 10.330 &File.再読込(&U)<Tab>:e!  :if confirm(message_revert, "&Yes\n&No")==1<Bar> e! <Bar> endif<CR>
+amenu <silent> 10.331 &File.バッファ削除(&K)<Tab>:bd  :confirm bd<CR>
+amenu <silent> 10.340 &File.保存(&W)<Tab>:w  :if expand('%') == ''<Bar>browse confirm w<Bar>else<Bar>confirm w<Bar>endif<CR>
+amenu <silent> 10.341 &File.更新時保存(&S)<Tab>:update  :if expand('%') == ''<Bar>browse confirm w<Bar>else<Bar>confirm update<Bar>endif<CR>
+amenu <silent> 10.400 &File.現バッファ差分表示(&D)<Tab>:DiffOrig  :DiffOrig<CR>
+amenu <silent> 10.401 &File.裏バッファと差分表示(&D)<Tab>:Diff\ #  :Diff #<CR>
+amenu <silent> 10.402 &File.差分表示(&D)<Tab>:Diff  :browse vertical diffsplit<CR>
+
+
diff --git a/vim/.vim/.netrwhist b/vim/.vim/.netrwhist
new file mode 100644
index 0000000..64a2e47
--- /dev/null
+++ b/vim/.vim/.netrwhist
@@ -0,0 +1,3 @@
+let g:netrw_dirhistmax  =10
+let g:netrw_dirhist_cnt =1
+let g:netrw_dirhist_1='/Users/yuki/.vimperator'
diff --git a/vim/.vim/colors/sakura.vim b/vim/.vim/colors/sakura.vim
new file mode 100755
index 0000000..6a13f3b
--- /dev/null
+++ b/vim/.vim/colors/sakura.vim
@@ -0,0 +1,57 @@
+﻿set background=light
+hi clear
+if exists("syntax_on")
+syntax reset
+endif
+let colors_name = "sakura"
+"hi Normal       guifg=#000000 guibg=#F8F3E3
+hi Normal       guifg=#000000 guibg=#FFFBF0
+hi IncSearch    gui=UNDERLINE guifg=#000000 guibg=#40ffff
+hi Search       gui=NONE guifg=NONE guibg=lightyellow
+hi ErrorMsg     gui=BOLD guifg=#ffffff guibg=#ff3333
+hi WarningMsg   gui=BOLD guifg=#ffffff guibg=#ff3333
+hi ModeMsg      gui=NONE guifg=#0070ff guibg=NONE
+hi MoreMsg      gui=NONE guifg=#a800ff guibg=NONE
+hi Question     gui=NONE guifg=#008050 guibg=NONE
+hi StatusLine   gui=BOLD guifg=#f8f8f8 guibg=#505085
+hi StatusLineNC gui=BOLD guifg=#a0a0b0 guibg=#505085
+hi VertSplit    gui=NONE guifg=#f8f8f8 guibg=#303040
+hi Visual       gui=NONE guifg=#404060 guibg=#dddde8
+hi DiffText     gui=NONE guifg=#7800ff guibg=#e0d8ff
+hi DiffChange   gui=NONE guifg=#dd0000 guibg=#ffe0f0
+hi DiffDelete   gui=BOLD guifg=#0000ff guibg=#ccccff
+hi DiffAdd      gui=NONE guifg=#000060 guibg=#d8d8ff
+hi Cursor guibg=Sys_Highlight guifg=Sys_HighlightText
+hi CursorIM     gui=NONE guifg=#000000 guibg=#8000ff
+hi Folded       gui=NONE guifg=#000099 guibg=#eef3ff
+hi FoldColumn   gui=NONE guifg=#aa60ff guibg=#f0f0f4
+hi Directory    gui=NONE guifg=#0000ff guibg=NONE
+hi LineNr       gui=NONE guifg=#0000FF guibg=#EFEFEF
+hi NonText      gui=BOLD guifg=#0000ff guibg=#efebe0
+hi SpecialKey   gui=NONE guifg=#009060 guibg=NONE
+hi Title        gui=NONE guifg=#004060 guibg=#c8f0f8
+hi WildMenu     gui=BOLD guifg=#f8f8f8 guibg=#00aacc
+" Groups for syntax highlighting
+hi Comment      gui=NONE guifg=#157030 guibg=NONE
+hi Constant     gui=NONE guifg=#CC3300 guibg=#ffeeee
+hi Special      gui=NONE guifg=#005252 guibg=#c6f6e6
+hi Identifier   gui=NONE guifg=#993300 guibg=NONE
+hi Statement    gui=BOLD guifg=#0000f0 guibg=NONE
+hi PreProc      gui=BOLD guifg=#CC3333 guibg=NONE
+hi Type         gui=BOLD guifg=#0000cc guibg=NONE
+hi Todo         gui=NONE guifg=#ff0070 guibg=#ffe0f4
+hi Ignore       gui=NONE guifg=#f8f8f8 guibg=NONE
+hi Error        gui=BOLD guifg=#ffffff guibg=#ff3333
+" HTML
+hi htmlLink                 gui=UNDERLINE
+hi htmlBoldUnderline        gui=BOLD
+hi htmlBoldItalic           gui=BOLD
+hi htmlBold                 gui=BOLD
+hi htmlTag                  gui=NONE       guifg=#0000ff
+hi htmlEndTag               gui=NONE       guifg=#0000ff
+hi htmlBoldUnderlineItalic  gui=BOLD
+hi htmlUnderlineItalic      gui=UNDERLINE
+hi htmlUnderline            gui=UNDERLINE
+hi htmlItalic               gui=italic
+" Special
+hi helpExample gui=NONE guifg=#0040ff guibg=NONE
diff --git a/vim/.vim/compiler/gjslint.vim b/vim/.vim/compiler/gjslint.vim
new file mode 100755
index 0000000..144650e
--- /dev/null
+++ b/vim/.vim/compiler/gjslint.vim
@@ -0,0 +1,11 @@
+if exists("current_compiler")
+    finish
+endif
+let current_compiler = "gjslint"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+    command -nargs=* CompilerSet setlocal
+endif
+
+CompilerSet makeprg=gjslint\ %
+CompilerSet errorformat=%-P%>-----\ FILE\ \ :\ \ %f\ -----,Line\ %l\\,\ %t:%n:\ %m,%-Q
diff --git a/vim/.vim/compiler/sbt.vim b/vim/.vim/compiler/sbt.vim
new file mode 100755
index 0000000..fb7d484
--- /dev/null
+++ b/vim/.vim/compiler/sbt.vim
@@ -0,0 +1,21 @@
+if exists("current_compiler")
+      finish
+endif
+let current_compiler = "sbt"
+
+if exists(":CompilerSet") != 2
+  command -nargs=* CompilerSet setlocal <args>
+endif
+
+if isdirectory("project") && isdirectory("target") &&
+      \ ( glob("*.sbt") != "" || glob("project/*.scala") != "" )
+  let $SBT_OPTS = "-Dsbt.log.noformat=true ".$SBT_OPTS
+
+  CompilerSet makeprg=sbt\ compile
+
+  CompilerSet errorformat=%E\ %#[error]\ %f:%l:\ %m,%C\ %#[error]\ %p^,%-C%.%#,%Z,
+                         \%W\ %#[warn]\ %f:%l:\ %m,%C\ %#[warn]\ %p^,%-C%.%#,%Z,
+                         \%-G%.%#
+
+  CompilerSet errorfile=target/error
+endif
diff --git a/vim/.vim/compiler/scalac.vim b/vim/.vim/compiler/scalac.vim
new file mode 100755
index 0000000..8158847
--- /dev/null
+++ b/vim/.vim/compiler/scalac.vim
@@ -0,0 +1,12 @@
+if exists("current_compiler")
+  finish
+endif
+let current_compiler = "scalac"
+
+if exists(":CompilerSet") != 2		" older Vim always used :setlocal
+  command -nargs=* CompilerSet setlocal
+endif
+
+CompilerSet makeprg=scalac\ %
+CompilerSet errorformat=%f:%l:\ error:\ %m,%-Z%p^,%-C%.%#,%-G%.%#
+
diff --git a/vim/.vim/dict/coffee.dict b/vim/.vim/dict/coffee.dict
new file mode 100644
index 0000000..90df41b
--- /dev/null
+++ b/vim/.vim/dict/coffee.dict
@@ -0,0 +1,684 @@
+Array
+Boolean
+Components
+DOM
+DOMMouseScroll
+Date
+Error
+EvalError
+Function
+Image
+Infinity
+LN10
+LN2
+LOG10E
+LOG2E
+MAX_VALUE
+MIN_VALUE
+Math
+NEGATIVE_INFINITY
+NaN
+Number
+Object
+PI
+POSITIVE_INFINITY
+RangeError
+ReferenceError
+RegExp
+SQRT1_2
+SQRT2
+String
+SyntaxError
+TypeError
+URIError
+URL
+UTC
+__defineGetter__
+__defineSetter__
+__lookupGetter__
+__lookupSetter__
+_content
+abs
+acceptCharset
+acos
+action
+addEventListener
+addRange
+alert
+align
+alinkColor
+all
+alt
+altKey
+anchor
+anchorNode
+anchorOffset
+anchors
+appCodeName
+appMinorVersion
+appName
+appVersion
+appendChild
+applets
+apply
+arguments
+arity
+asin
+assign
+atan
+atan2
+atob
+attributes
+availHeight
+availLeft
+availTop
+availWidth
+back
+backgroundColor
+bgColor
+bgColorDeprecated
+big
+blink
+blur
+body
+bold
+border
+borderBottom
+borderBottomColor
+borderBottomStyle
+borderBottomWidth
+borderColor
+borderLeft
+borderLeftColor
+borderLeftStyle
+borderLeftWidth
+borderRight
+borderRightColor
+borderRightStyle
+borderRightWidth
+borderStyle
+borderTop
+borderTopColor
+borderTopStyle
+borderTopWidth
+borderWidth
+break
+browserLanguage
+btoa
+bubbles
+bufferDepth
+button
+call
+caller
+cancelBubble
+cancelable
+caption
+captureEvents
+case
+catch
+ceil
+cellPadding
+cellSpacing
+charAt
+charCode
+charCodeAt
+characterSet
+charset
+childNodes
+className
+clear
+clearInterval
+clearTimeout
+click
+clientHeight
+clientLeft
+clientTop
+clientWidth
+clientX
+clientY
+cloneNode
+close
+closed
+collapse
+collapseToEnd
+collapseToStart
+color
+colorDepth
+compatMode
+complete
+concat
+confirm
+const
+constructor
+containsNode
+content
+continue
+controllers
+cookie
+cookieEnabled
+cos
+cpuClass
+createAttribute
+createCaption
+createDocumentFragment
+createElement
+createElementNS
+createEvent
+createNSResolver
+createRange
+createTFoot
+createTHead
+createTextNode
+crypto
+ctrlKey
+current
+currentTarget
+decodeURI
+decodeURIComponent
+default
+defaultCharset
+defaultStatus
+defaultView
+delete
+deleteCaption
+deleteFromDocument
+deleteRow
+deleteTFoot
+deleteTHead
+description
+designMode
+detail
+deviceXDPI
+deviceYDPI
+dir
+directories
+dispatchEvent
+display
+do
+doctype
+document
+documentElement
+domain
+dump
+elements
+else
+embeds
+encodeURI
+encodeURIComponent
+encoding
+enctype
+escape
+eval
+evaluate
+event
+eventPhase
+every
+exec
+execCommand
+exp
+explicitOriginalTarget
+export
+extend
+fgColor
+fileName
+filter
+finally
+find
+firstChild
+fixed
+floor
+focus
+focusNode
+focusOffset
+font
+fontFamily
+fontSize
+fontSmoothingEnabled
+fontStretch
+fontStyle
+fontVariant
+fontWeight
+fontcolor
+fontsize
+for
+forEach
+forms
+forward
+frame
+frameElement
+frames
+fromCharCode
+fromElement
+function
+galleryImg
+getAttention
+getAttribute
+getAttributeNS
+getAttributeNode
+getAttributeNodeNS
+getComputedStyle
+getDate
+getDay
+getElementById
+getElementsByName
+getElementsByTagName
+getElementsByTagNameNS
+getFullYear
+getHours
+getMilliseconds
+getMinutes
+getMonth
+getRangeAt
+getSeconds
+getSelection
+getTime
+getTimezoneOffset
+getUTCDate
+getUTCDay
+getUTCFullYear
+getUTCHours
+getUTCMilliseconds
+getUTCMinutes
+getUTCMonth
+getUTCSeconds
+getYear
+global
+go
+hasAttribute
+hasAttributeNS
+hasAttributes
+hasChildNodes
+hasOwnProperty
+hash
+height
+history
+home
+host
+hostname
+href
+hspace
+id
+if
+ignoreCase
+images
+implementation
+import
+importNode
+in
+index
+indexOf
+initEvent
+initKeyEvent
+initMouseEvent
+initUIEvent
+innerHTML
+innerHeight
+innerWidth
+input
+insertBefore
+insertRow
+instanceof
+isChar
+isCollapsed
+isFinite
+isMap
+isNaN
+isPrototypeOf
+italics
+item
+javaEnabled
+join
+keyCode
+label
+lang
+language
+lastChild
+lastIndex
+lastIndexOf
+lastModified
+layerX
+layerY
+left
+length
+lineNumber
+link
+linkColor
+links
+loadOverlay
+localName
+location
+locationbar
+log
+logicalXDPI
+logicalYDPI
+lowsrc
+map
+match
+max
+menubar
+message
+metaKey
+method
+mimeTypes
+min
+moveBy
+moveTo
+multiline
+name
+nameProp
+namespaceURI
+navigate
+navigator
+new
+nextSibling
+nodeName
+nodeType
+nodeValue
+normalize
+now
+number
+offsetHeight
+offsetLeft
+offsetParent
+offsetTop
+offsetWidth
+offsetX
+offsetY
+onAbort
+onAfterPrint
+onBeforeCopy
+onBeforeCut
+onBeforePaste
+onBeforePrint
+onBeforeUnload
+onBlur
+onChange
+onClick
+onContextMenu
+onCopy
+onCut
+onDblClick
+onDrag
+onDragEnd
+onDragEnter
+onDragLeave
+onDragOver
+onDragStart
+onDrop
+onError
+onFinish
+onFocus
+onFocusIn
+onFocusOut
+onHelp
+onKeyDown
+onKeyPress
+onKeyUp
+onLine
+onLoad
+onMouseDown
+onMouseEnter
+onMouseLeave
+onMouseMove
+onMouseOut
+onMouseOver
+onMouseUp
+onMouseWheel
+onMove
+onMoveEnd
+onMoveStart
+onPaste
+onReadyStateChange
+onReset
+onResize
+onResizeEnd
+onResizeStart
+onScroll
+onSelect
+onSelectStart
+onSelectionChange
+onStart
+onStop
+onSubmit
+onUnload
+onabort
+onblur
+onchange
+onclick
+onclose
+ondblclick
+ondragdrop
+onerror
+onfocus
+onkeydown
+onkeypress
+onkeyup
+onload
+onmousedown
+onmousemove
+onmouseout
+onmouseover
+onmouseup
+onpaint
+onreset
+onresize
+onscroll
+onselect
+onsubmit
+onunload
+open
+openDialog
+opener
+opera
+opsProfile
+originalTarget
+oscpu
+outerHeight
+outerWidth
+ownerDocument
+pageX
+pageXOffset
+pageY
+pageYOffset
+parent
+parentNode
+parse
+parseFloat
+parseInt
+pathname
+personalbar
+pixelDepth
+pkcs11
+platform
+plugins
+pop
+port
+pow
+preference
+prefix
+preventBubble
+preventCapture
+preventDefault
+previousSibling
+print
+product
+productSub
+prompt
+propertyIsEnumerable
+propertyName
+protocol
+prototype
+push
+queryCommandEnabled
+queryCommandIndeterm
+queryCommandState
+queryCommandValue
+random
+rangeCount
+reduce
+reduceRight
+referrer
+relatedTarget
+releaseEvents
+reload
+removeAllRanges
+removeAttribute
+removeAttributeNS
+removeAttributeNode
+removeChild
+removeEventListener
+removeRange
+replace
+replaceChild
+reset
+resizeBy
+resizeTo
+return
+reverse
+round
+rows
+rules
+screen
+screenLeft
+screenTop
+screenX
+screenY
+scroll
+scrollBy
+scrollByLines
+scrollByPages
+scrollHeight
+scrollIntoView
+scrollLeft
+scrollMaxX
+scrollMaxY
+scrollTo
+scrollTop
+scrollWidth
+scrollX
+scrollY
+scrollbars
+search
+securityPolicy
+selectAllChildren
+selectionLanguageChange
+self
+setAttribute
+setAttributeNS
+setAttributeNode
+setAttributeNodeNS
+setDate
+setFullYear
+setHours
+setInterval
+setMilliseconds
+setMinutes
+setMonth
+setSeconds
+setTime
+setTimeout
+setUTCDate
+setUTCFullYear
+setUTCHours
+setUTCMilliseconds
+setUTCMinutes
+setUTCMonth
+setUTCSeconds
+setYear
+shift
+shiftKey
+sidebar
+sin
+sizeToContent
+slice
+small
+some
+sort
+source
+sourceIndex
+splice
+split
+sqrt
+src
+srcElement
+stack
+status
+statusbar
+stop
+stopPropagation
+strike
+style
+styleSheets
+sub
+submit
+substr
+substring
+summary
+sup
+supports
+switch
+systemLanguage
+tBodies
+tFoot
+tHead
+tabIndex
+tagName
+taintEnabled
+tan
+target
+test
+textContent
+this
+throw
+timeStamp
+title
+toDateString
+toElement
+toExponential
+toFixed
+toGMTString
+toLocaleDateString
+toLocaleLowerCase
+toLocaleString
+toLocaleTimeString
+toLocaleUpperCase
+toLowerCase
+toPrecision
+toSource
+toString
+toTimeString
+toUTCString
+toUpperCase
+toolbar
+top
+try
+type
+typeof
+undefined
+unescape
+uniqueID
+unshift
+unwatch
+updateCommands
+updateInterval
+useMap
+userAgent
+userLanguage
+userProfile
+valueOf
+var
+vendor
+vendorSub
+view
+vlinkColor
+void
+vspace
+watch
+wheelDelta
+which
+while
+width
+window
+with
+write
+writeln
diff --git a/vim/.vim/dict/dosbatch.dict b/vim/.vim/dict/dosbatch.dict
new file mode 100755
index 0000000..21bb73a
--- /dev/null
+++ b/vim/.vim/dict/dosbatch.dict
@@ -0,0 +1,439 @@
+
+a
+adprep
+arp
+assoc
+at
+attrib
+autoexnt
+
+A
+ADPREP
+ARP
+ASSOC
+AT
+ATTRIB
+AUTOEXNT
+
+b
+bootcfg
+break
+
+B
+BOOTCFG
+BREAK
+
+c
+cacls
+call
+cd
+chdir
+certreq
+certutil
+change logon
+change port
+change user
+chcp
+chkdsk
+chknic
+chkntfs
+choice
+cipher
+clip
+cls
+cluadmin
+cluster
+cmd
+cmdkey
+color
+command
+comp
+compact
+convert
+convlog
+copy
+cprofile
+cscript
+csvde
+
+C
+CACLS
+CALL
+CD
+CHDIR
+CERTREQ
+CERTUTIL
+CHANGE LOGON
+CHANGE PORT
+CHANGE USER
+CHCP
+CHKDSK
+CHKNIC
+CHKNTFS
+CHOICE
+CIPHER
+CLIP
+CLS
+CLUADMIN
+CLUSTER
+CMD
+CMDKEY
+COLOR
+COMMAND
+COMP
+COMPACT
+CONVERT
+CONVLOG
+COPY
+CPROFILE
+CSCRIPT
+CSVDE
+
+d
+date
+dcgpofix
+defrag
+del
+dir
+diskcomp
+diskcopy
+diskpart
+doskey
+dsadd
+dsget
+dsmod
+dsmove
+dsquery
+dsrm
+
+D
+DATE
+DCGPOFIX
+DEFRAG
+DEL
+DIR
+DISKCOMP
+DISKCOPY
+DISKPART
+DOSKEY
+DSADD
+DSGET
+DSMOD
+DSMOVE
+DSQUERY
+DSRM
+
+e
+echo
+endlocal
+exit
+erase
+
+E
+ECHO
+ENDLOCAL
+EXIT
+ERASE
+
+f
+fc
+find
+findstr
+finger
+flattemp
+for
+forfiles
+format
+ftp
+ftype
+
+F
+FC
+FIND
+FINDSTR
+FINGER
+FLATTEMP
+FOR
+FORFILES
+FORMAT
+FTP
+FTYPE
+
+g
+getsid
+gettype
+goto
+gpotool
+gpresult
+gpupdate
+graftabl
+
+G
+GETSID
+GETTYPE
+GOTO
+GPOTOOL
+GPRESULT
+GPUPDATE
+GRAFTABL
+
+h
+help
+helpctr
+hostname
+
+H
+HELP
+HELPCTR
+HOSTNAME
+
+i
+if
+iisapp.vbs
+iisback.vbs
+iisconfg.vbs
+iisext.vbs
+iisftp.vbs
+iisftpdr.vbs
+iisreset
+iisvdir.vbs
+iisweb.vbs
+ipconfig
+
+I
+IF
+IISAPP.VBS
+IISBACK.VBS
+IISCONFG.VBS
+IISEXT.VBS
+IISFTP.VBS
+IISFTPDR.VBS
+IISRESET
+IISVDIR.VBS
+IISWEB.VBS
+IPCONFIG
+
+k
+klist
+ksetup
+ktpass
+
+K
+KLIST
+KSETUP
+KTPASS
+
+l
+label
+ldifde
+logoff
+logtime
+lpq
+lpr
+
+L
+LABEL
+LDIFDE
+LOGOFF
+LOGTIME
+LPQ
+LPR
+
+m
+md
+mkdir
+mode
+more
+mountvol
+move
+msg
+mstsc
+
+M
+MD
+MKDIR
+MODE
+MORE
+MOUNTVOL
+MOVE
+MSG
+MSTSC
+
+n
+nbtstat
+netstat
+nlb
+nlbmgr
+now
+nslookup
+ntcmdprompt
+ntdsutil
+
+N
+NBTSTAT
+NETSTAT
+NLB
+NLBMGR
+NOW
+NSLOOKUP
+NTCMDPROMPT
+NTDSUTIL
+
+p
+path
+pathping
+pause
+ping
+popd
+prompt
+pushd
+
+P
+PATH
+PATHPING
+PAUSE
+PING
+POPD
+PROMPT
+PUSHD
+
+q
+queryprocess
+querysession
+querytermserver
+queryuser
+
+Q
+QUERYPROCESS
+QUERYSESSION
+QUERYTERMSERVER
+QUERYUSER
+
+r
+rcp
+rd
+rmdir
+recover
+register
+rem
+ren
+rename
+replace
+resetsession
+rexec
+risetup
+route
+rsh
+runas
+
+R
+RCP
+RD
+RMDIR
+RECOVER
+REGISTER
+REM
+REN
+RENAME
+REPLACE
+RESETSESSION
+REXEC
+RISETUP
+ROUTE
+RSH
+RUNAS
+
+s
+secedit
+set
+setlocal
+setx
+shift
+shadow
+showaccs
+showpriv
+sidwalk
+sleep
+sort
+start
+subst
+sysocmgr
+
+S
+SECEDIT
+SET
+SETLOCAL
+SETX
+SHIFT
+SHADOW
+SHOWACCS
+SHOWPRIV
+SIDWALK
+SLEEP
+SORT
+START
+SUBST
+SYSOCMGR
+
+t
+taskkill
+tasklist
+tftp
+time
+timeout
+title
+tracert
+tree
+tscon
+tsdiscon
+tskill
+tsprof
+tsshutdn
+type
+
+T
+TASKKILL
+TASKLIST
+TFTP
+TIME
+TIMEOUT
+TITLE
+TRACERT
+TREE
+TSCON
+TSDISCON
+TSKILL
+TSPROF
+TSSHUTDN
+TYPE
+
+v
+ver
+verify
+vol
+
+V
+VER
+VERIFY
+VOL
+
+w
+winhttpcertcfg
+winnt
+winnt32
+wnlb
+
+W
+WINHTTPCERTCFG
+WINNT
+WINNT32
+WNLB
+
+x
+xcacls
+xcopy
+
+X
+XCACLS
+XCOPY
+
diff --git a/vim/.vim/dict/ps1.dict b/vim/.vim/dict/ps1.dict
new file mode 100755
index 0000000..a5f6da3
--- /dev/null
+++ b/vim/.vim/dict/ps1.dict
@@ -0,0 +1,410 @@
+%
+?
+A:
+ac
+Add-Computer
+Add-Content
+Add-History
+Add-Member
+Add-PSSnapin
+Add-Type
+asnp
+B:
+C:
+cat
+cd
+cd..
+cd\
+chdir
+Checkpoint-Computer
+clc
+clear
+Clear-Content
+Clear-EventLog
+Clear-History
+Clear-Host
+Clear-Item
+Clear-ItemProperty
+Clear-Variable
+clhy
+cli
+clp
+cls
+clv
+compare
+Compare-Object
+Complete-Transaction
+Connect-WSMan
+ConvertFrom-Csv
+ConvertFrom-SecureString
+ConvertFrom-StringData
+Convert-Path
+ConvertTo-Csv
+ConvertTo-Html
+ConvertTo-SecureString
+ConvertTo-Xml
+copy
+Copy-Item
+Copy-ItemProperty
+cp
+cpi
+cpp
+cvpa
+D:
+dbp
+Debug-Process
+del
+diff
+dir
+Disable-ComputerRestore
+Disable-PSBreakpoint
+Disable-PSRemoting
+Disable-PSSessionConfiguration
+Disable-WSManCredSSP
+Disconnect-WSMan
+E:
+ebp
+echo
+Enable-ComputerRestore
+Enable-PSBreakpoint
+Enable-PSRemoting
+Enable-PSSessionConfiguration
+Enable-WSManCredSSP
+Enter-PSSession
+epal
+epcsv
+epsn
+erase
+etsn
+Exit-PSSession
+Export-Alias
+Export-Clixml
+Export-Console
+Export-Counter
+Export-Csv
+Export-FormatData
+Export-ModuleMember
+Export-PSSession
+exsn
+F:
+fc
+fl
+foreach
+ForEach-Object
+Format-Custom
+Format-List
+Format-Table
+Format-Wide
+ft
+fw
+G:
+gal
+gbp
+gc
+gci
+gcm
+gcs
+gdr
+Get-Acl
+Get-Alias
+Get-AuthenticodeSignature
+Get-ChildItem
+Get-Command
+Get-ComputerRestorePoint
+Get-Content
+Get-Counter
+Get-Credential
+Get-Culture
+Get-Date
+Get-Event
+Get-EventLog
+Get-EventSubscriber
+Get-ExecutionPolicy
+Get-FormatData
+Get-Help
+Get-History
+Get-Host
+Get-HotFix
+Get-Item
+Get-ItemProperty
+Get-Job
+Get-Location
+Get-Member
+Get-Module
+Get-PfxCertificate
+Get-Process
+Get-PSBreakpoint
+Get-PSCallStack
+Get-PSDrive
+Get-PSProvider
+Get-PSSession
+Get-PSSessionConfiguration
+Get-PSSnapin
+Get-Random
+Get-Service
+Get-TraceSource
+Get-Transaction
+Get-UICulture
+Get-Unique
+Get-Variable
+Get-Verb
+Get-WinEvent
+Get-WmiObject
+Get-WSManCredSSP
+Get-WSManInstance
+ghy
+gi
+gjb
+gl
+gm
+gmo
+gp
+gps
+group
+Group-Object
+gsn
+gsnp
+gsv
+gu
+gv
+gwmi
+h
+H:
+help
+history
+I:
+icm
+iex
+ihy
+ii
+Import-Alias
+Import-Clixml
+Import-Counter
+Import-Csv
+Import-LocalizedData
+Import-Module
+Import-PSSession
+ImportSystemModules
+Invoke-Command
+Invoke-Expression
+Invoke-History
+Invoke-Item
+Invoke-WmiMethod
+Invoke-WSManAction
+ipal
+ipcsv
+ipmo
+ipsn
+ise
+iwmi
+J:
+Join-Path
+K:
+kill
+L:
+Limit-EventLog
+lp
+ls
+M:
+man
+md
+measure
+Measure-Command
+Measure-Object
+mi
+mkdir
+more
+mount
+move
+Move-Item
+Move-ItemProperty
+mp
+mv
+N:
+nal
+ndr
+New-Alias
+New-Event
+New-EventLog
+New-Item
+New-ItemProperty
+New-Module
+New-ModuleManifest
+New-Object
+New-PSDrive
+New-PSSession
+New-PSSessionOption
+New-Service
+New-TimeSpan
+New-Variable
+New-WebServiceProxy
+New-WSManInstance
+New-WSManSessionOption
+ni
+nmo
+nsn
+nv
+O:
+ogv
+oh
+Out-Default
+Out-File
+Out-GridView
+Out-Host
+Out-Null
+Out-Printer
+Out-String
+P:
+popd
+Pop-Location
+prompt
+ps
+pushd
+Push-Location
+pwd
+Q:
+r
+R:
+rbp
+rcjb
+rd
+rdr
+Read-Host
+Receive-Job
+Register-EngineEvent
+Register-ObjectEvent
+Register-PSSessionConfiguration
+Register-WmiEvent
+Remove-Computer
+Remove-Event
+Remove-EventLog
+Remove-Item
+Remove-ItemProperty
+Remove-Job
+Remove-Module
+Remove-PSBreakpoint
+Remove-PSDrive
+Remove-PSSession
+Remove-PSSnapin
+Remove-Variable
+Remove-WmiObject
+Remove-WSManInstance
+ren
+Rename-Item
+Rename-ItemProperty
+Reset-ComputerMachinePassword
+Resolve-Path
+Restart-Computer
+Restart-Service
+Restore-Computer
+Resume-Service
+ri
+rjb
+rm
+rmdir
+rmo
+rni
+rnp
+rp
+rsn
+rsnp
+rv
+rvpa
+rwmi
+S:
+sajb
+sal
+saps
+sasv
+sbp
+sc
+select
+Select-Object
+Select-String
+Select-Xml
+Send-MailMessage
+set
+Set-Acl
+Set-Alias
+Set-AuthenticodeSignature
+Set-Content
+Set-Date
+Set-ExecutionPolicy
+Set-Item
+Set-ItemProperty
+Set-Location
+Set-PSBreakpoint
+Set-PSDebug
+Set-PSSessionConfiguration
+Set-Service
+Set-StrictMode
+Set-TraceSource
+Set-Variable
+Set-WmiInstance
+Set-WSManInstance
+Set-WSManQuickConfig
+Show-EventLog
+si
+sl
+sleep
+sort
+Sort-Object
+sp
+spjb
+Split-Path
+spps
+spsv
+start
+Start-Job
+Start-Process
+Start-Service
+Start-Sleep
+Start-Transaction
+Start-Transcript
+Stop-Computer
+Stop-Job
+Stop-Process
+Stop-Service
+Stop-Transcript
+Suspend-Service
+sv
+swmi
+T:
+TabExpansion
+tee
+Tee-Object
+Test-ComputerSecureChannel
+Test-Connection
+Test-ModuleManifest
+Test-Path
+Test-WSMan
+Trace-Command
+type
+U:
+Undo-Transaction
+Unregister-Event
+Unregister-PSSessionConfiguration
+Update-FormatData
+Update-List
+Update-TypeData
+Use-Transaction
+V:
+W:
+Wait-Event
+Wait-Job
+Wait-Process
+where
+Where-Object
+wjb
+write
+Write-Debug
+Write-Error
+Write-EventLog
+Write-Host
+Write-Output
+Write-Progress
+Write-Verbose
+Write-Warning
+X:
+Y:
+Z:
diff --git a/vim/.vim/dict/scala.dict b/vim/.vim/dict/scala.dict
new file mode 100644
index 0000000..b1ed3a4
--- /dev/null
+++ b/vim/.vim/dict/scala.dict
@@ -0,0 +1,1347 @@
+_
+:
+=
+=>
+<<:
+<%
+>:
+#
+@
+abstract
+case
+catch
+class
+def
+do
+else
+extends
+false
+final
+finally
+for
+forSome
+if
+implicit
+import
+lazy
+match
+new
+null
+object
+override
+package
+private
+protected
+requires
+return
+sealed
+super
+this
+throw
+trait
+true
+try
+type
+val
+var
+while
+with
+yield
+
+scala
+scala.actors
+scala.actors.remote
+scala.annotation.unchecked
+scala.collection
+scala.collection.immutable
+scala.collection.jcl
+scala.collection.mutable
+scala.compat
+scala.concurrent
+scala.io
+scala.mobile
+scala.ref
+scala.reflect
+scala.runtime
+scala.swing
+scala.swing.event
+scala.swing.test
+scala.testing
+scala.text
+scala.util
+scala.util.automata
+scala.util.grammar
+scala.util.logging
+scala.util.matching
+scala.util.parsing
+scala.util.parsing.ast
+scala.util.parsing.combinator
+scala.util.parsing.combinator.lexical
+scala.util.parsing.combinator.syntactical
+scala.util.parsing.combinator.testing
+scala.util.parsing.combinatorold
+scala.util.parsing.combinatorold.lexical
+scala.util.parsing.combinatorold.syntactical
+scala.util.parsing.combinatorold.testing
+scala.util.parsing.input
+scala.util.parsing.json
+scala.util.parsing.syntax
+scala.util.regexp
+scala.xml
+scala.xml.dtd
+scala.xml.factory
+scala.xml.include
+scala.xml.include.sax
+scala.xml.parsing
+scala.xml.path
+scala.xml.persistent
+scala.xml.pull
+scala.xml.transform
+
+!
+::
+AbstractActor
+AbstractButton
+AbstractSyntax
+AbstractSyntax.Element
+AbstractSyntax.NameElement
+Action
+Action.Trigger
+Action.Trigger.Wrapper
+ActionEvent
+Actor
+AdjustingEvent
+Annotation
+Any
+AnyRef
+AnyVal
+Applet
+Applet.UI
+Application
+Apply0
+Array
+Array.Array0
+Array.ArrayLike
+Array.Projection
+ArrayBuffer
+ArrayList
+ArrayStack
+Atom
+AttListDecl
+AttrDecl
+Attribute
+BackgroundChanged
+Base
+Base.Alt
+Base.Meta
+Base.RegExp
+Base.Sequ
+Base.Star
+BaseBerrySethi
+BasicTransformer
+BasicTransformer.NeedsCopy
+BeanDescription
+BeanDisplayName
+BeanInfo
+BeanInfoSkip
+BeanProperty
+Benchmark
+BigDecimal
+BigInt
+Binder
+Binders
+Binders.BinderEnv
+Binders.BindingSensitive
+Binders.BoundElement
+Binders.ReturnAndDo
+Binders.Scope
+Binders.UnboundElement
+Binders.UnderBinder
+BindingParsers
+BitSet
+Boolean
+BorderPanel
+BoxPanel
+Buffer
+Buffer.DefaultBufferIterator
+Buffer.Projection
+Buffer.Projection0
+Buffer.Projection0.MapProjection
+Buffer.Range
+Buffer.Range.RangeIterator
+BufferIterator
+BufferProxy
+BufferWrapper
+BufferWrapper.IteratorWrapper
+BufferWrapper.Range
+BufferedIterator
+BufferedIterator.Advanced
+BufferedIterator.Default
+BufferedIterator.PutBack
+BufferedSource
+Button
+ButtonClicked
+ButtonGroup
+ByNameFunction
+Byte
+BytePickle.Def
+BytePickle.PU
+BytePickle.PicklerEnv
+BytePickle.PicklerState
+BytePickle.Ref
+BytePickle.RefDef
+BytePickle.SPU
+BytePickle.UnPicklerEnv
+BytePickle.UnPicklerState
+CachedFileStorage
+CaretUpdate
+Cell
+Channel
+Channel.LinkedList
+Char
+CharArrayPosition
+CharArrayReader
+CharInputStreamIterator
+CharSequenceReader
+CheckBox
+CheckMenuItem
+CircularIncludeException
+ClassfileAnnotation
+ClassfileAttribute
+CloneableCollection
+Code
+Collection
+Collection.Projection
+CollectionProxy
+CollectionWrapper
+ComboBox
+ComboBox.BuiltInEditor
+ComboBox.BuiltInEditor.DelegatedEditor
+ComboBox.Editor
+Comment
+Component
+Component.SuperMixin
+ComponentAdded
+ComponentEvent
+ComponentHidden
+ComponentMoved
+ComponentRemoved
+ComponentResized
+ComponentShown
+ConsRHS
+ConsoleLogger
+ConstructingHandler
+ConstructingParser
+Container
+Container.Wrapper
+Container.Wrapper.Content
+ContainerEvent
+ContentModel
+ContentModel.ElemName
+CountedIterator
+CustomObjectInputStream
+DEFAULT
+DFAContentModel
+DTD
+Debug
+Decl
+DefaultDecl
+DefaultEntry
+DefaultMapModel
+DefaultMarkupHandler
+DetWordAutom
+DocCons
+DocGroup
+DocNest
+DocText
+DocType
+Document
+Double
+DoubleLinkedList
+DtdTypeSymbol
+DynamicVariable
+ELEMENTS
+EditDone
+Either
+Either.LeftProjection
+Either.RightProjection
+Elem
+ElemDecl
+ElementValidator
+EmptyMap
+EmptySet
+EntityDecl
+EntityDef
+EntityRef
+Enumeration
+Enumeration.Set32
+Enumeration.Set64
+Enumeration.SetXX
+Enumeration.Val
+Enumeration.Value
+Equiv
+EvComment
+EvElemEnd
+EvElemStart
+EvEntityRef
+EvProcInstr
+EvText
+Event
+Exit
+ExitFun
+Expression.Attrib
+Expression.Child
+Expression.Cond
+Expression.DescOrSelf
+Expression.Equals
+Expression.Exists
+Expression.Expr
+Expression.FExp
+Expression.GenExp
+Expression.NameTest
+Expression.Test
+ExtDef
+ExternalID
+ExternalSources
+FJTaskScheduler2
+FactoryAdapter
+FatalError
+FileChooser
+FlatHashTable
+Float
+FlowPanel
+FocusEvent
+FocusGained
+FocusLost
+FontChanged
+ForegroundChanged
+FormattedTextField
+Frame
+Function0
+Function1
+Function10
+Function11
+Function12
+Function13
+Function14
+Function15
+Function16
+Function17
+Function18
+Function19
+Function2
+Function20
+Function21
+Function22
+Function3
+Function4
+Function5
+Function6
+Function7
+Function8
+Function9
+Future
+GBTree
+GUIApplication
+GridBagPanel
+GridBagPanel.Constraints
+GridPanel
+Group
+HasKeyValue
+HashEntry
+HashMap
+HashSet
+HashTable
+Hashtable
+HedgeRHS
+History
+IScheduler
+Ident
+IdentityHashMap
+ImmutableIterator
+ImmutableMapAdaptor
+ImmutableSetAdaptor
+ImplicitConversions
+Include
+Inclusion
+Index
+IndexedStorage
+InputChannel
+InputEvent
+InsertTree
+Int
+IntDef
+IntMap
+Iterable
+Iterable.Projection
+IterableProxy
+IterableWrapper
+Iterator
+Iterator.PredicatedIterator
+Iterator.TakeWhileIterator
+JavaMapAdaptor
+JavaSerializer
+JavaSetAdaptor
+JavaTokenParsers
+Label
+LabelledRHS
+LayoutContainer
+Left
+Lexer
+Lexical
+LinkToFun
+LinkedHashMap
+LinkedHashSet
+LinkedList
+LinkedListQueueCreator
+List
+ListBuffer
+ListChange
+ListChanged
+ListElementsAdded
+ListElementsRemoved
+ListEvent
+ListMap
+ListMap.Node
+ListQueueCreator
+ListSelectionChanged
+ListSelectionEvent
+ListSet
+ListSet.Node
+ListView
+ListView.AbstractRenderer
+ListView.ModelWrapper
+ListView.Renderer
+ListView.Renderer.Wrapped
+ListView.selection.Indices
+LocalApply0
+Location
+Locator
+Lock
+Logged
+LoggedNodeFactory
+Long
+LongMap
+MIXED
+MailBox
+MainFrame
+MalformedAttributeException
+Map
+Map.Filter
+Map.KeySet
+Map.Lense
+Map.MapTo
+Map.MutableIterableProjection
+Map.Projection
+Map1
+Map2
+Map3
+Map4
+MapProxy
+MapWrapper
+MapWrapper.IteratorWrapper
+MapWrapper.KeySet
+MapWrapper.ValueSet
+Mappable
+Mappable.Mappable
+Mappable.Mapper
+MarkupDecl
+MarkupHandler
+MarkupParser
+MatchError
+Menu
+MenuBar
+MenuItem
+Message
+MessageQueue
+MessageQueueElement
+MetaData
+MouseButtonEvent
+MouseClicked
+MouseDragged
+MouseEntered
+MouseEvent
+MouseExited
+MouseMotionEvent
+MouseMoved
+MousePressed
+MouseReleased
+MouseWheelMoved
+MultiMap
+MutableIterable
+MutableIterable.Filter
+MutableIterable.Map
+MutableIterable.Projection
+MutableIterator
+MutableIterator.Map
+MutableIterator.Wrapper
+MutableList
+MutableSeq
+MutableSeq.DefaultSeqIterator
+MutableSeq.Filter
+MutableSeq.Filter.FilterIterator
+MutableSeq.Map
+MutableSeq.Projection
+NamedSend
+NamespaceBinding
+NetKernel
+NoBindingFactoryAdapter
+Node
+NodeBuffer
+NodeFactory
+NodeSeq
+NodeTraverser
+NonLocalReturnException
+NondetWordAutom
+NotDefinedError
+NotNull
+NotationDecl
+Nothing
+Null
+Number
+ObservableBuffer
+ObservableMap
+ObservableSet
+OffsetPosition
+OpenHashMap
+Option
+Ordered
+Ordering
+Orientable
+Oriented
+OutputChannel
+PCData
+PCDataMarkupParser
+PEReference
+PagedSeq
+PagedSeqReader
+Panel
+ParameterEntityDecl
+ParsedEntityDecl
+Parser
+Parsers
+Parsers.Error
+Parsers.Failure
+Parsers.NoSuccess
+Parsers.OnceParser
+Parsers.ParseResult
+Parsers.Parser
+Parsers.Success
+Parsers.UnitOnceParser
+Parsers.UnitParser
+Parsers.~
+PartialFunction
+PartialOrdering
+PartiallyOrdered
+PasswordField
+PhantomReference
+PointedHedgeExp
+PointedHedgeExp.Node
+PointedHedgeExp.TopIter
+Position
+Positional
+Predef.ArrowAssoc
+Predef.Ensuring
+PrefixedAttribute
+PrettyPrinter
+PrettyPrinter.Box
+PrettyPrinter.BrokenException
+PrettyPrinter.Item
+PrettyPrinter.Para
+PriorityQueue
+PriorityQueueProxy
+ProcInstr
+Product
+Product1
+Product10
+Product11
+Product12
+Product13
+Product14
+Product15
+Product16
+Product17
+Product18
+Product19
+Product2
+Product20
+Product21
+Product22
+Product3
+Product4
+Product5
+Product6
+Product7
+Product8
+Product9
+ProgressBar
+Proxy
+PublicID
+Publisher
+Queue
+QueueModule
+QueueProxy
+RadioButton
+RadioMenuItem
+Random
+RandomAccessSeq
+RandomAccessSeq.Mutable
+RandomAccessSeq.MutableProjection
+RandomAccessSeq.Projection
+RandomAccessSeq.Projection.MapProjection
+RandomAccessSeqProxy
+Range
+Range.Inclusive
+Ranged
+Ranged.Comparator
+Reaction
+Reactions
+Reactions.Impl
+Reactions.StronglyReferenced
+Reactions.Wrapper
+Reactor
+Reader
+RedBlack
+RedBlack.BlackTree
+RedBlack.NonEmpty
+RedBlack.RedTree
+RedBlack.Tree
+RefBuffer
+Reference
+ReferenceQueue
+ReferenceQueue.Wrapper
+ReferenceWrapper
+Regex
+Regex.Match
+Regex.MatchData
+Regex.MatchIterator
+RegexParsers
+RemoteApply0
+Remove
+Reset
+ResizableArray
+Responder
+RevertableHistory
+RewriteRule
+RichBoolean
+RichByte
+RichChar
+RichDouble
+RichException
+RichFloat
+RichInt
+RichLong
+RichShort
+RichSorting
+RichString
+RichStringBuilder
+Right
+RollbackIterator
+RootPanel
+RuleTransformer
+SUnit.Assert
+SUnit.AssertFailed
+SUnit.Test
+SUnit.TestCase
+SUnit.TestConsoleMain
+SUnit.TestFailure
+SUnit.TestResult
+SUnit.TestSuite
+ScalaBeanInfo
+ScalaObject
+Scanner
+Scanners
+Scanners.Scanner
+SchedulerAdapter
+Script
+Scriptable
+ScrollPane
+Scrollable
+SelectionChanged
+SelectionEvent
+SendTo
+Separator
+Seq
+Seq.Projection
+Seq.Projection.ComputeSize
+Seq.Projection.MapProjection
+Seq.singleton
+SeqIterator
+SeqIterator.Map
+SeqProxy
+SequentialContainer
+SequentialContainer.Wrapper
+SerialVersionUID
+Serializer
+Service
+Set
+Set.Filter
+Set.Projection
+Set1
+Set2
+Set3
+Set4
+SetProxy
+SetStorage
+SetWrapper
+Short
+Show
+Show.SymApply
+SimpleApplet
+SimpleGUIApplication
+SimpleTokenizer
+SingleLinkedList
+SingleThreadedScheduler
+Slider
+SoftReference
+Some
+Sorted
+SortedMap
+SortedMap.DefaultKeySet
+SortedMap.Filter
+SortedMap.KeySet
+SortedMap.Lense
+SortedMap.Projection
+SortedMap.Range
+SortedMap.Range.Filter
+SortedMapWrapper
+SortedMapWrapper.KeySet
+SortedMapWrapper.Range
+SortedSet
+SortedSet.Filter
+SortedSet.Projection
+SortedSet.Range
+SortedSetWrapper
+SortedSetWrapper.Range
+Source
+SpecialNode
+SplitPane
+Stack
+Stack.Node
+StackProxy
+StandardTokenParsers
+StaticAnnotation
+StaticAttribute
+StdLexical
+StdTokenParsers
+StdTokens
+StdTokens.Identifier
+StdTokens.Keyword
+StdTokens.NumericLit
+StdTokens.StringLit
+Str
+Stream
+Stream.Definite
+StreamReader
+StringBuilder
+Subscriber
+SubsetConstruction
+Swing.Embossing
+Symbol
+SyncChannel
+SyncVar
+SynchronizedBuffer
+SynchronizedMap
+SynchronizedPriorityQueue
+SynchronizedQueue
+SynchronizedSet
+SynchronizedStack
+SyntaxError
+SystemID
+TabbedPane
+TabbedPane.Page
+Table
+Table.AbstractRenderer
+Table.LabelRenderer
+Table.Renderer
+Table.selection.SelectionSet
+TableChange
+TableChanged
+TableColumnsSelected
+TableEvent
+TableResized
+TableRowsAdded
+TableRowsRemoved
+TableRowsSelected
+TableStructureChanged
+TableUpdated
+TcpService
+TcpServiceWorker
+Tester
+Text
+TextArea
+TextBuffer
+TextComponent
+TextComponent.Caret
+TextComponent.HasColumns
+TextComponent.HasRows
+TextField
+TickedScheduler
+ToggleButton
+TokenParsers
+TokenTests
+Tokens
+Tokens.ErrorToken
+Tokens.Token
+Tree
+TreeHashMap
+TreeMap
+TreeRHS
+TreeSet
+Tuple1
+Tuple10
+Tuple11
+Tuple12
+Tuple13
+Tuple14
+Tuple15
+Tuple16
+Tuple17
+Tuple18
+Tuple19
+Tuple2
+Tuple20
+Tuple21
+Tuple22
+Tuple3
+Tuple4
+Tuple5
+Tuple6
+Tuple7
+Tuple8
+Tuple9
+TypeConstraint
+TypeSymbol
+UIElement
+UIEvent
+UnavailableResourceException
+UnbalancedTreeMap
+UnbalancedTreeMap.Node
+Undoable
+UninitializedError
+UninitializedFieldError
+Unit
+UnlinkFromFun
+Unparsed
+UnparsedEntityDecl
+UnprefixedAttribute
+Update
+ValidatingMarkupHandler
+ValidationException
+ValueChanged
+WeakHashMap
+WeakReference
+WindowActivated
+WindowClosed
+WindowClosing
+WindowDeactivated
+WindowDeiconified
+WindowEvent
+WindowIconified
+WindowOpened
+WordBerrySethi
+WordExp
+WordExp.Label
+WordExp.Letter
+WordExp.Wildcard
+WorkerThread
+WorkerThreadScheduler
+XIncludeException
+XIncludeFilter
+XIncluder
+XMLEvent
+XMLEventReader
+XMLEventReader.Parser
+XhtmlParser
+cloneable
+deprecated
+inline
+jolib.Asynchr
+jolib.Join
+jolib.Signal
+jolib.Synchr
+native
+noinline
+pilib.Chan
+pilib.GP
+pilib.Product
+pilib.Spawn
+pilib.Sum
+pilib.UChan
+pilib.UGP
+remote
+serializable
+throws
+transient
+unchecked
+uncheckedStable
+uncheckedVariance
+unsealed
+volatile
+~
+
+!
+::
+ANY
+Action
+Action.NoAction
+Action.Trigger
+ActionEvent
+Actor
+ActorGC
+Alignment
+AnyHedgeRHS
+AnyTreeRHS
+Apply0
+Array
+AttListDecl
+AttrDecl
+BackgroundChanged
+Base.Eps
+BigDecimal
+BigDecimal.RoundingMode
+BigInt
+Binders.EmptyBinderEnv
+Binders.UnderBinder
+BorderPanel
+BorderPanel.Position
+Buffer
+BufferedIterator
+BufferedSource
+ButtonApp
+ButtonClicked
+BytePickle
+CaretUpdate
+Cell
+CelsiusConverter
+CelsiusConverter2
+CharArrayReader
+CharSequenceReader
+Collection
+ComboBox
+ComboBox.selection
+ComboBoxes
+Comment
+Component
+Component.Mouse
+ComponentAdded
+ComponentHidden
+ComponentMoved
+ComponentRemoved
+ComponentResized
+ComponentShown
+ConsRHS
+Console
+ConstructingParser
+Container
+ContentModel
+ContentModel.Translator
+ContentModelParser
+Conversions
+CountButton
+DEFAULT
+Debug
+Dialog
+Dialog.Message
+Dialog.Options
+Dialog.Result
+Dialogs
+DocBreak
+DocCons
+DocGroup
+DocNest
+DocNil
+DocText
+DocType
+Document
+ELEMENTS
+EMPTY
+EditDone
+Either
+Elem
+ElemDecl
+EmptyHedgeRHS
+EncodingHeuristics
+End
+EntityRef
+EvComment
+EvElemEnd
+EvElemStart
+EvEntityRef
+EvProcInstr
+EvText
+Exit
+Expression
+Expression.Root
+Expression.WildcardTest
+ExtDef
+FatalError
+FileChooser
+FileChooser.Result
+FileChooser.SelectionMode
+FlowPanel
+FlowPanel.Alignment
+FocusGained
+FocusLost
+FontChanged
+ForegroundChanged
+FormattedTextField
+FormattedTextField.FocusLostBehavior
+FreshNameCreator
+Function
+Futures
+GridBagDemo
+GridBagPanel
+GridBagPanel.Anchor
+GridBagPanel.Fill
+GridPanel
+Group
+HashMap
+HashSet
+HelloWorld
+IMPLIED
+Ident
+ImmutableIterator
+ImmutableIterator.Empty
+Include
+Index
+IntDef
+IntMap
+Iterable
+Iterator
+JSON
+Key
+LabelledRHS
+Left
+LinkedHashMap
+LinkedHashSet
+List
+ListChanged
+ListElementsAdded
+ListElementsRemoved
+ListMap
+ListSelectionChanged
+ListSet
+ListView
+ListView.GenericRenderer
+ListView.IntervalMode
+ListView.Renderer
+ListView.selection
+ListView.selection.indices
+ListView.selection.items
+LocalApply0
+Location
+Locator
+LongMap
+MIXED
+Main
+MakeValidationException
+MalformedAttributeException
+Map
+Marshal
+Math
+MetaData
+MouseClicked
+MouseDragged
+MouseEntered
+MouseExited
+MouseMoved
+MousePressed
+MouseReleased
+MouseWheelMoved
+MutableIterable
+MutableIterator
+MutableSeq
+NA
+NamedSend
+Nil
+NoPosition
+Node
+NodeSeq
+None
+NotationDecl
+Null
+Number
+OffsetPosition
+OpenHashMap
+Option
+Orientation
+PCDATA
+PCData
+PEReference
+PagedSeq
+PagedSeqReader
+ParameterEntityDecl
+ParsedEntityDecl
+Parsing
+Platform
+PointedHedgeExp.Point
+Position
+Predef
+Predef.Pair
+Predef.Triple
+PrettyPrinter.Break
+ProcInstr
+Product1
+Product10
+Product11
+Product12
+Product13
+Product14
+Product15
+Product16
+Product17
+Product18
+Product19
+Product2
+Product20
+Product21
+Product22
+Product3
+Product4
+Product5
+Product6
+Product7
+Product8
+Product9
+Properties
+PublicID
+QNode
+Queue
+REQUIRED
+RandomAccessSeq
+Range
+Reactions
+RedBlack.Empty
+Regex
+Regex.Match
+RegexTest
+RemoteActor
+RemoteApply0
+Remove
+Reset
+Responder
+RichString
+Right
+SUnit
+Scheduler
+SelectionChanged
+SendTo
+Seq
+SequentialContainer
+Set
+SimpleApplet.ui
+Some
+SortedMap
+SortedSet
+Sorting
+Source
+Stack
+Start
+Str
+Stream
+Stream.cons
+Stream.lazy_::
+StreamReader
+StringBuilder
+Swing
+Swing.EmptyIcon
+Swing.Lowered
+Swing.Raised
+SwingApp
+Symbol
+SystemID
+TIMEOUT
+TabbedPane
+TabbedPane.Layout
+TabbedPane.pages
+TabbedPane.selection
+Table
+Table.AutoResizeMode
+Table.ElementMode
+Table.IntervalMode
+Table.selection
+Table.selection.columns
+Table.selection.rows
+TableChanged
+TableColumnsSelected
+TableResized
+TableRowsAdded
+TableRowsRemoved
+TableRowsSelected
+TableSelection
+TableStructureChanged
+TableUpdated
+TcpService
+Terminate
+Text
+TextBuffer
+TextComponent
+TextComponent.caret
+Tokens.EOF
+TopScope
+TreeHashMap
+TreeMap
+TreeSet
+Tuple1
+Tuple10
+Tuple11
+Tuple12
+Tuple13
+Tuple14
+Tuple15
+Tuple16
+Tuple17
+Tuple18
+Tuple19
+Tuple2
+Tuple20
+Tuple21
+Tuple22
+Tuple3
+Tuple4
+Tuple5
+Tuple6
+Tuple7
+Tuple8
+Tuple9
+UIDemo
+UTF8Codec
+UnbalancedTreeMap
+UninitializedFieldError
+Unparsed
+UnparsedEntityDecl
+Update
+Utility
+ValidationException
+ValueChanged
+WindowActivated
+WindowClosed
+WindowClosing
+WindowDeactivated
+WindowDeiconified
+WindowIconified
+WindowOpened
+XML
+Xhtml
+XhtmlEntities
+XhtmlParser
+jolib
+mkTilde
+ops
+pilib
+~
+
+ArrayIndexOutOfBoundsException
+Character
+Class
+ClassCastException
+Error
+Exception
+Function
+IllegalArgumentException
+IndexOutOfBoundsException
+Integer
+Map
+NoSuchElementException
+NullPointerException
+NumberFormatException
+Pair
+Runnable
+RuntimeException
+Set
+String
+StringIndexOutOfBoundsException
+Throwable
+Triple
+Tuple
+UnsupportedOperationException
+any2ArrowAssoc
+any2Ensuring
+any2stringadd
+assert
+assume
+boolean
+boolean2Boolean
+booleanWrapper
+byte
+byte2Byte
+byte2double
+byte2float
+byte2int
+byte2long
+byte2short
+byteWrapper
+char
+char2Character
+char2double
+char2float
+char2int
+char2long
+charWrapper
+classOf
+currentThread
+double
+double2Double
+doubleWrapper
+error
+exceptionWrapper
+exit
+float
+float2Float
+float2double
+floatWrapper
+forceArrayProjection
+forceRandomAccessCharSeq
+format
+identity
+int
+int2Integer
+int2double
+int2float
+int2long
+intWrapper
+iterable2ordered
+lazyStreamToConsable
+long
+long2Long
+long2double
+long2float
+longWrapper
+print
+printf
+println
+readBoolean
+readByte
+readChar
+readDouble
+readFloat
+readInt
+readLine
+readLong
+readShort
+readf
+readf1
+readf2
+readf3
+require
+seqToCharSequence
+short
+short2Short
+short2double
+short2float
+short2int
+short2long
+shortWrapper
+stringBuilderWrapper
+stringWrapper
+tuple22ordered
+tuple32ordered
+tuple42ordered
+tuple52ordered
+tuple62ordered
+tuple72ordered
+tuple82ordered
+tuple92ordered
+unit
+unit2ordered
diff --git a/vim/.vim/dict/vbs.dict b/vim/.vim/dict/vbs.dict
new file mode 100755
index 0000000..1524792
--- /dev/null
+++ b/vim/.vim/dict/vbs.dict
@@ -0,0 +1,900 @@
+
+WScript
+Arguments
+FullName
+Interactive
+Name
+Path
+ScriptFullName
+ScriptName
+StdErr
+StdIn
+StdOut
+Version
+CreateObject
+ConnectObject
+DisconnectObject
+Echo
+GetObject
+Quit
+Sleep
+
+WshShell
+Shell
+CurrentDirectory
+Environment
+SpecialFolders
+AppActivate
+CreateShortcut
+ExpandEnvironmentStrings
+LogEvent
+Popup
+RegDelete
+RegRead
+RegWrite
+Run
+SendKeys
+Exec
+
+WshNetwork
+Network
+ComputerName
+UserDomain
+UserName
+AddWindowsPrinterConnection
+AddPrinterConnection
+EnumNetworkDrives
+EnumPrinterConnections
+MapNetworkDrive
+RemoveNetworkDrive
+RemovePrinterConnection
+SetDefaultPrinter
+
+Scripting
+FileSystemObject
+Drives
+BuildPath
+CopyFile
+CopyFolder
+CreateFolder
+CreateTextFile
+DeleteFile
+DeleteFolder
+DriveExists
+FileExists
+FolderExists
+GetAbsolutePathName
+GetBaseName
+GetDrive
+GetDriveName
+GetExtensionName
+GetFile
+GetFileName
+GetFolder
+GetParentFolderName
+GetSpecialFolder
+GetTempName
+MoveFile
+MoveFolder
+OpenTextFile
+
+Drive
+AvailableSpace
+DriveLetter
+DriveType
+FileSystem
+FreeSpace
+IsReady
+Path
+RootFolder
+SerialNumber
+ShareName
+TotalSize
+VolumeName
+
+Folder
+Copy
+CreateTextFile
+Delete
+Move
+Attributes
+DateCreated
+DateLastAccessed
+DateLastModified
+Drive
+Files
+IsRootFolder
+Name
+ParentFolder
+Path
+ShortName
+ShortPath
+Size
+SubFolders
+Type
+
+File
+Copy
+Delete
+Move
+OpenAsTextStream
+Attributes
+DateCreated
+DateLastAccessed
+DateLastModified
+Drive
+Name
+ParentFolder
+Path
+ShortName
+ShortPath
+Size
+Type
+
+Drives
+Count
+Item
+
+Folders
+Add
+Count
+Item
+
+Files
+Count
+Item
+
+Unknown
+Removable
+Fixed
+Remote
+CDROM
+RAMDisk
+
+Normal
+ReadOnly
+Hidden
+System
+Volume
+Directory
+Archive
+Alias
+Compressed
+
+WindowsFolder
+SystemFolder
+TemporaryFolder
+
+ForReading
+ForWriting
+ForAppending
+
+' lowercase
+wscript
+arguments
+fullname
+interactive
+name
+path
+scriptfullname
+scriptname
+stderr
+stdin
+stdout
+version
+createobject
+connectobject
+disconnectobject
+echo
+getobject
+quit
+sleep
+
+wshshell
+shell
+currentdirectory
+environment
+specialfolders
+appactivate
+createshortcut
+expandenvironmentstrings
+logevent
+popup
+regdelete
+regread
+regwrite
+run
+sendkeys
+exec
+
+wshnetwork
+network
+computername
+userdomain
+username
+addwindowsprinterconnection
+addprinterconnection
+enumnetworkdrives
+enumprinterconnections
+mapnetworkdrive
+removenetworkdrive
+removeprinterconnection
+setdefaultprinter
+
+scripting
+filesystemobject
+drives
+buildpath
+copyfile
+copyfolder
+createfolder
+createtextfile
+deletefile
+deletefolder
+driveexists
+fileexists
+folderexists
+getabsolutepathname
+getbasename
+getdrive
+getdrivename
+getextensionname
+getfile
+getfilename
+getfolder
+getparentfoldername
+getspecialfolder
+gettempname
+movefile
+movefolder
+opentextfile
+
+drive
+availablespace
+driveletter
+drivetype
+filesystem
+freespace
+isready
+path
+rootfolder
+serialnumber
+sharename
+totalsize
+volumename
+
+folder
+copy
+createtextfile
+delete
+move
+attributes
+datecreated
+datelastaccessed
+datelastmodified
+drive
+files
+isrootfolder
+name
+parentfolder
+path
+shortname
+shortpath
+size
+subfolders
+type
+
+file
+copy
+delete
+move
+openastextstream
+attributes
+datecreated
+datelastaccessed
+datelastmodified
+drive
+name
+parentfolder
+path
+shortname
+shortpath
+size
+type
+
+drives
+count
+item
+
+folders
+add
+count
+item
+
+files
+count
+item
+
+unknown
+removable
+fixed
+remote
+cdrom
+ramdisk
+
+normal
+readonly
+hidden
+system
+volume
+directory
+archive
+alias
+compressed
+
+windowsfolder
+systemfolder
+temporaryfolder
+
+forreading
+forwriting
+forappending
+
+
+'Statements
+And
+
+ByVal
+ByRef
+
+Call
+Const
+Case
+
+Dim
+Do
+
+Erase
+Exit
+Each
+Else
+ElseIf
+Error
+Explicit
+Eqv
+
+For
+Function
+False
+
+If
+In
+Imp
+Is
+
+Loop
+
+Mod
+
+Next
+Nothing
+Null
+Not
+
+On
+Option
+Or
+
+Private
+Public
+Preserve
+
+Randomize
+ReDim
+Rem
+Resume
+
+Select
+Set
+Sub
+Step
+
+Then
+To
+True
+
+Until
+
+While
+Wend
+
+Xor
+
+'Constants
+TristateTrue
+TristateFalse
+TristateUseDefault
+
+vbOKOnly
+vbOKCancel
+vbAbortRetryIgnore
+vbYesNoCancel
+vbYesNo
+vbRetryCancel
+vbCritical
+vbQuestion
+vbExclamation
+vbInformation
+vbDefaultButton1
+vbDefaultButton2
+vbDefaultButton3
+vbDefaultButton4
+vbApplicationModal
+vbSystemModal
+
+vbOK
+vbCancel
+vbAbort
+vbRetry
+vbIgnore
+vbYes
+vbNo
+
+vbEmpty
+vbNull
+vbInteger
+vbLong
+vbSingle
+vbDouble
+vbCurrency
+vbDate
+vbString
+vbObject
+vbError
+vbBoolean
+vbVariant
+vbDataObject
+vbDecimal
+vbByte
+vbArray
+
+vbBlack
+vbRed
+vbGreen
+vbYellow
+vbBlue
+vbMagenta
+vbCyan
+vbWhite
+
+vbBinaryCompare
+vbTextCompare
+vbDatabaseCompare
+
+vbGeneralDate
+vbLongDate
+vbShortDate
+vbLongTime
+vbShortTime
+
+vbSunday
+vbMonday
+vbTuesday
+vbWednesday
+vbThursday
+vbFriday
+vbSaturday
+vbFirstJan1
+vbFirstFourDays
+vbFirstFullWeek
+vbUseSystem
+vbUseSystemDayOfWeek
+
+vbCr
+vbCrLf
+vbFormFeed
+vbLf
+vbNewLine
+vbNullChar
+vbNullString
+vbTab
+vbVerticalTab
+
+vbObjectError
+
+
+'Procedures
+
+Abs
+Array
+Asc
+Atn
+
+CBool
+CByte
+CCur
+CDate
+CDbl
+Chr
+CInt
+CLng
+Cos
+CreateObject
+CSng
+CStr
+
+Date
+DateAdd
+DateDiff
+DatePart
+DateSerial
+DateValue
+Day
+
+Eval
+Exp
+
+Filter
+Fix
+FormatCurrency
+FormatDateTime
+FormatNumber
+FormatPercent
+
+GetLocale
+GetObject
+GetRef
+
+Hex
+Hour
+
+InputBox
+InStr
+InStrRev
+Int
+IsArray
+IsDate
+IsEmpty
+IsNull
+IsNumeric
+IsObject
+
+Join
+
+LBound
+LCase
+Left
+Len
+LoadPicture
+Log
+LTrim
+
+Mid
+Minute
+Month
+MonthName
+MsgBox
+
+Now
+
+Oct
+
+Replace
+RGB
+Right
+Rnd
+Round
+RTrim
+
+ScriptEngine
+ScriptEngineBuildVersion
+ScriptEngineMajorVersion
+ScriptEngineMinorVersion
+Second
+SetLocale
+Sgn
+Sin
+Space
+Split
+Sqr
+StrComp
+String
+StrReverse
+
+Tan
+Time
+Timer
+TimeSerial
+TimeValue
+Trim
+TypeName
+
+UBound
+UCase
+
+VarType
+
+Weekday
+WeekdayName
+
+Year
+
+
+'statements
+and
+
+byval
+byref
+
+call
+const
+case
+
+dim
+do
+
+erase
+exit
+each
+else
+elseif
+error
+explicit
+eqv
+
+for
+function
+FALSE
+
+if
+in
+imp
+is
+
+loop
+
+mod
+
+next
+nothing
+null
+not
+
+on
+option
+or
+
+private
+public
+preserve
+
+randomize
+redim
+rem
+resume
+
+select
+set
+sub
+step
+
+then
+to
+TRUE
+
+until
+
+while
+wend
+
+xor
+
+
+'constants
+tristatetrue
+tristatefalse
+tristateusedefault
+
+vbokonly
+vbokcancel
+vbabortretryignore
+vbyesnocancel
+vbyesno
+vbretrycancel
+vbcritical
+vbquestion
+vbexclamation
+vbinformation
+vbdefaultbutton1
+vbdefaultbutton2
+vbdefaultbutton3
+vbdefaultbutton4
+vbapplicationmodal
+vbsystemmodal
+
+vbok
+vbcancel
+vbabort
+vbretry
+vbignore
+vbyes
+vbno
+
+vbempty
+vbnull
+vbinteger
+vblong
+vbsingle
+vbdouble
+vbcurrency
+vbdate
+vbstring
+vbobject
+vberror
+vbboolean
+vbvariant
+vbdataobject
+vbdecimal
+vbbyte
+vbarray
+
+vbblack
+vbred
+vbgreen
+vbyellow
+vbblue
+vbmagenta
+vbcyan
+vbwhite
+
+vbbinarycompare
+vbtextcompare
+vbdatabasecompare
+
+vbgeneraldate
+vblongdate
+vbshortdate
+vblongtime
+vbshorttime
+
+vbsunday
+vbmonday
+vbtuesday
+vbwednesday
+vbthursday
+vbfriday
+vbsaturday
+vbfirstjan1
+vbfirstfourdays
+vbfirstfullweek
+vbusesystem
+vbusesystemdayofweek
+
+vbcr
+vbcrlf
+vbformfeed
+vblf
+vbnewline
+vbnullchar
+vbnullstring
+vbtab
+vbverticaltab
+
+vbobjecterror
+
+
+'procedures
+abs
+array
+asc
+atn
+
+cbool
+cbyte
+ccur
+cdate
+cdbl
+chr
+cint
+clng
+cos
+createobject
+csng
+cstr
+
+date
+dateadd
+datediff
+datepart
+dateserial
+datevalue
+day
+
+eval
+exp
+
+filter
+fix
+formatcurrency
+formatdatetime
+formatnumber
+formatpercent
+
+getlocale
+getobject
+getref
+
+hex
+hour
+
+inputbox
+instr
+instrrev
+int
+isarray
+isdate
+isempty
+isnull
+isnumeric
+isobject
+
+join
+
+lbound
+lcase
+left
+len
+loadpicture
+log
+ltrim
+
+mid
+minute
+month
+monthname
+msgbox
+
+now
+
+oct
+
+replace
+rgb
+right
+rnd
+round
+rtrim
+
+scriptengine
+scriptenginebuildversion
+scriptenginemajorversion
+scriptengineminorversion
+second
+setlocale
+sgn
+sin
+space
+split
+sqr
+strcomp
+string
+strreverse
+
+tan
+time
+timer
+timeserial
+timevalue
+trim
+typename
+
+ubound
+ucase
+
+vartype
+
+weekday
+weekdayname
+
+year
+
diff --git a/vim/.vim/dict/vbscript.dict b/vim/.vim/dict/vbscript.dict
new file mode 100755
index 0000000..8051194
--- /dev/null
+++ b/vim/.vim/dict/vbscript.dict
@@ -0,0 +1,558 @@
+
+'Statements
+And
+
+ByVal
+ByRef
+
+Call
+Const
+Case
+
+Dim
+Do
+
+Erase
+Exit
+Each
+Else
+ElseIf
+Error
+Explicit
+Eqv
+
+For
+Function
+False
+
+If
+In
+Imp
+Is
+
+Loop
+
+Mod
+
+Next
+Nothing
+Null
+Not
+
+On
+Option
+Or
+
+Private
+Public
+Preserve
+
+Randomize
+ReDim
+Rem
+Resume
+
+Select
+Set
+Sub
+Step
+
+Then
+To
+True
+
+Until
+
+While
+Wend
+
+Xor
+
+'Constants
+TristateTrue
+TristateFalse
+TristateUseDefault
+
+vbOKOnly
+vbOKCancel
+vbAbortRetryIgnore
+vbYesNoCancel
+vbYesNo
+vbRetryCancel
+vbCritical
+vbQuestion
+vbExclamation
+vbInformation
+vbDefaultButton1
+vbDefaultButton2
+vbDefaultButton3
+vbDefaultButton4
+vbApplicationModal
+vbSystemModal
+
+vbOK
+vbCancel
+vbAbort
+vbRetry
+vbIgnore
+vbYes
+vbNo
+
+vbEmpty
+vbNull
+vbInteger
+vbLong
+vbSingle
+vbDouble
+vbCurrency
+vbDate
+vbString
+vbObject
+vbError
+vbBoolean
+vbVariant
+vbDataObject
+vbDecimal
+vbByte
+vbArray
+
+vbBlack
+vbRed
+vbGreen
+vbYellow
+vbBlue
+vbMagenta
+vbCyan
+vbWhite
+
+vbBinaryCompare
+vbTextCompare
+vbDatabaseCompare
+
+vbGeneralDate
+vbLongDate
+vbShortDate
+vbLongTime
+vbShortTime
+
+vbSunday
+vbMonday
+vbTuesday
+vbWednesday
+vbThursday
+vbFriday
+vbSaturday
+vbFirstJan1
+vbFirstFourDays
+vbFirstFullWeek
+vbUseSystem
+vbUseSystemDayOfWeek
+
+vbCr
+vbCrLf
+vbFormFeed
+vbLf
+vbNewLine
+vbNullChar
+vbNullString
+vbTab
+vbVerticalTab
+
+vbObjectError
+
+
+'Procedures
+
+Abs
+Array
+Asc
+Atn
+
+CBool
+CByte
+CCur
+CDate
+CDbl
+Chr
+CInt
+CLng
+Cos
+CreateObject
+CSng
+CStr
+
+Date
+DateAdd
+DateDiff
+DatePart
+DateSerial
+DateValue
+Day
+
+Eval
+Exp
+
+Filter
+Fix
+FormatCurrency
+FormatDateTime
+FormatNumber
+FormatPercent
+
+GetLocale
+GetObject
+GetRef
+
+Hex
+Hour
+
+InputBox
+InStr
+InStrRev
+Int
+IsArray
+IsDate
+IsEmpty
+IsNull
+IsNumeric
+IsObject
+
+Join
+
+LBound
+LCase
+Left
+Len
+LoadPicture
+Log
+LTrim
+
+Mid
+Minute
+Month
+MonthName
+MsgBox
+
+Now
+
+Oct
+
+Replace
+RGB
+Right
+Rnd
+Round
+RTrim
+
+ScriptEngine
+ScriptEngineBuildVersion
+ScriptEngineMajorVersion
+ScriptEngineMinorVersion
+Second
+SetLocale
+Sgn
+Sin
+Space
+Split
+Sqr
+StrComp
+String
+StrReverse
+
+Tan
+Time
+Timer
+TimeSerial
+TimeValue
+Trim
+TypeName
+
+UBound
+UCase
+
+VarType
+
+Weekday
+WeekdayName
+
+Year
+
+
+'statements
+and
+
+byval
+byref
+
+call
+const
+case
+
+dim
+do
+
+erase
+exit
+each
+else
+elseif
+error
+explicit
+eqv
+
+for
+function
+FALSE
+
+if
+in
+imp
+is
+
+loop
+
+mod
+
+next
+nothing
+null
+not
+
+on
+option
+or
+
+private
+public
+preserve
+
+randomize
+redim
+rem
+resume
+
+select
+set
+sub
+step
+
+then
+to
+TRUE
+
+until
+
+while
+wend
+
+xor
+
+
+'constants
+tristatetrue
+tristatefalse
+tristateusedefault
+
+vbokonly
+vbokcancel
+vbabortretryignore
+vbyesnocancel
+vbyesno
+vbretrycancel
+vbcritical
+vbquestion
+vbexclamation
+vbinformation
+vbdefaultbutton1
+vbdefaultbutton2
+vbdefaultbutton3
+vbdefaultbutton4
+vbapplicationmodal
+vbsystemmodal
+
+vbok
+vbcancel
+vbabort
+vbretry
+vbignore
+vbyes
+vbno
+
+vbempty
+vbnull
+vbinteger
+vblong
+vbsingle
+vbdouble
+vbcurrency
+vbdate
+vbstring
+vbobject
+vberror
+vbboolean
+vbvariant
+vbdataobject
+vbdecimal
+vbbyte
+vbarray
+
+vbblack
+vbred
+vbgreen
+vbyellow
+vbblue
+vbmagenta
+vbcyan
+vbwhite
+
+vbbinarycompare
+vbtextcompare
+vbdatabasecompare
+
+vbgeneraldate
+vblongdate
+vbshortdate
+vblongtime
+vbshorttime
+
+vbsunday
+vbmonday
+vbtuesday
+vbwednesday
+vbthursday
+vbfriday
+vbsaturday
+vbfirstjan1
+vbfirstfourdays
+vbfirstfullweek
+vbusesystem
+vbusesystemdayofweek
+
+vbcr
+vbcrlf
+vbformfeed
+vblf
+vbnewline
+vbnullchar
+vbnullstring
+vbtab
+vbverticaltab
+
+vbobjecterror
+
+
+'procedures
+abs
+array
+asc
+atn
+
+cbool
+cbyte
+ccur
+cdate
+cdbl
+chr
+cint
+clng
+cos
+createobject
+csng
+cstr
+
+date
+dateadd
+datediff
+datepart
+dateserial
+datevalue
+day
+
+eval
+exp
+
+filter
+fix
+formatcurrency
+formatdatetime
+formatnumber
+formatpercent
+
+getlocale
+getobject
+getref
+
+hex
+hour
+
+inputbox
+instr
+instrrev
+int
+isarray
+isdate
+isempty
+isnull
+isnumeric
+isobject
+
+join
+
+lbound
+lcase
+left
+len
+loadpicture
+log
+ltrim
+
+mid
+minute
+month
+monthname
+msgbox
+
+now
+
+oct
+
+replace
+rgb
+right
+rnd
+round
+rtrim
+
+scriptengine
+scriptenginebuildversion
+scriptenginemajorversion
+scriptengineminorversion
+second
+setlocale
+sgn
+sin
+space
+split
+sqr
+strcomp
+string
+strreverse
+
+tan
+time
+timer
+timeserial
+timevalue
+trim
+typename
+
+ubound
+ucase
+
+vartype
+
+weekday
+weekdayname
+
+year
+
diff --git a/vim/.vim/dict/wsh.dict b/vim/.vim/dict/wsh.dict
new file mode 100755
index 0000000..95e8d4f
--- /dev/null
+++ b/vim/.vim/dict/wsh.dict
@@ -0,0 +1,342 @@
+
+WScript
+Arguments
+FullName
+Interactive
+Name
+Path
+ScriptFullName
+ScriptName
+StdErr
+StdIn
+StdOut
+Version
+CreateObject
+ConnectObject
+DisconnectObject
+Echo
+GetObject
+Quit
+Sleep
+
+WshShell
+Shell
+CurrentDirectory
+Environment
+SpecialFolders
+AppActivate
+CreateShortcut
+ExpandEnvironmentStrings
+LogEvent
+Popup
+RegDelete
+RegRead
+RegWrite
+Run
+SendKeys
+Exec
+
+WshNetwork
+Network
+ComputerName
+UserDomain
+UserName
+AddWindowsPrinterConnection
+AddPrinterConnection
+EnumNetworkDrives
+EnumPrinterConnections
+MapNetworkDrive
+RemoveNetworkDrive
+RemovePrinterConnection
+SetDefaultPrinter
+
+Scripting
+FileSystemObject
+Drives
+BuildPath
+CopyFile
+CopyFolder
+CreateFolder
+CreateTextFile
+DeleteFile
+DeleteFolder
+DriveExists
+FileExists
+FolderExists
+GetAbsolutePathName
+GetBaseName
+GetDrive
+GetDriveName
+GetExtensionName
+GetFile
+GetFileName
+GetFolder
+GetParentFolderName
+GetSpecialFolder
+GetTempName
+MoveFile
+MoveFolder
+OpenTextFile
+
+Drive
+AvailableSpace
+DriveLetter
+DriveType
+FileSystem
+FreeSpace
+IsReady
+Path
+RootFolder
+SerialNumber
+ShareName
+TotalSize
+VolumeName
+
+Folder
+Copy
+CreateTextFile
+Delete
+Move
+Attributes
+DateCreated
+DateLastAccessed
+DateLastModified
+Drive
+Files
+IsRootFolder
+Name
+ParentFolder
+Path
+ShortName
+ShortPath
+Size
+SubFolders
+Type
+
+File
+Copy
+Delete
+Move
+OpenAsTextStream
+Attributes
+DateCreated
+DateLastAccessed
+DateLastModified
+Drive
+Name
+ParentFolder
+Path
+ShortName
+ShortPath
+Size
+Type
+
+Drives
+Count
+Item
+
+Folders
+Add
+Count
+Item
+
+Files
+Count
+Item
+
+Unknown
+Removable
+Fixed
+Remote
+CDROM
+RAMDisk
+
+Normal
+ReadOnly
+Hidden
+System
+Volume
+Directory
+Archive
+Alias
+Compressed
+
+WindowsFolder
+SystemFolder
+TemporaryFolder
+
+ForReading
+ForWriting
+ForAppending
+
+' lowercase
+wscript
+arguments
+fullname
+interactive
+name
+path
+scriptfullname
+scriptname
+stderr
+stdin
+stdout
+version
+createobject
+connectobject
+disconnectobject
+echo
+getobject
+quit
+sleep
+
+wshshell
+shell
+currentdirectory
+environment
+specialfolders
+appactivate
+createshortcut
+expandenvironmentstrings
+logevent
+popup
+regdelete
+regread
+regwrite
+run
+sendkeys
+exec
+
+wshnetwork
+network
+computername
+userdomain
+username
+addwindowsprinterconnection
+addprinterconnection
+enumnetworkdrives
+enumprinterconnections
+mapnetworkdrive
+removenetworkdrive
+removeprinterconnection
+setdefaultprinter
+
+scripting
+filesystemobject
+drives
+buildpath
+copyfile
+copyfolder
+createfolder
+createtextfile
+deletefile
+deletefolder
+driveexists
+fileexists
+folderexists
+getabsolutepathname
+getbasename
+getdrive
+getdrivename
+getextensionname
+getfile
+getfilename
+getfolder
+getparentfoldername
+getspecialfolder
+gettempname
+movefile
+movefolder
+opentextfile
+
+drive
+availablespace
+driveletter
+drivetype
+filesystem
+freespace
+isready
+path
+rootfolder
+serialnumber
+sharename
+totalsize
+volumename
+
+folder
+copy
+createtextfile
+delete
+move
+attributes
+datecreated
+datelastaccessed
+datelastmodified
+drive
+files
+isrootfolder
+name
+parentfolder
+path
+shortname
+shortpath
+size
+subfolders
+type
+
+file
+copy
+delete
+move
+openastextstream
+attributes
+datecreated
+datelastaccessed
+datelastmodified
+drive
+name
+parentfolder
+path
+shortname
+shortpath
+size
+type
+
+drives
+count
+item
+
+folders
+add
+count
+item
+
+files
+count
+item
+
+unknown
+removable
+fixed
+remote
+cdrom
+ramdisk
+
+normal
+readonly
+hidden
+system
+volume
+directory
+archive
+alias
+compressed
+
+windowsfolder
+systemfolder
+temporaryfolder
+
+forreading
+forwriting
+forappending
+
diff --git a/vim/.vim/doc/chalice.txt.icf b/vim/.vim/doc/chalice.txt.icf
new file mode 100644
index 0000000..a7b265e
Binary files /dev/null and b/vim/.vim/doc/chalice.txt.icf differ
diff --git a/vim/.vim/template/cmd/base-template.cmd b/vim/.vim/template/cmd/base-template.cmd
new file mode 100755
index 0000000..03c9ec3
--- /dev/null
+++ b/vim/.vim/template/cmd/base-template.cmd
@@ -0,0 +1,13 @@
+@echo off
+pushd "%~dp0" > nul
+set tm=%time: =0%
+set ps1file=%~n0_%date:~-10,4%%date:~-5,2%%date:~-2,2%_%tm:~0,2%%tm:~3,2%%tm:~6,2%%tm:~9,2%.ps1
+for /f "usebackq skip=10 delims=" %%i in ("%~f0") do @echo %%i >> "%ps1file%"
+powershell -NoProfile -ExecutionPolicy unrestricted -File "%ps1file%" %*
+del "%ps1file%"
+popd > nul
+pause
+GOTO :EOF
+# ========== do ps1 file from dosbatch template ==========
+
+
diff --git a/vim/.vim/template/dosbatch/base-template.bat b/vim/.vim/template/dosbatch/base-template.bat
new file mode 100644
index 0000000..a8f6729
--- /dev/null
+++ b/vim/.vim/template/dosbatch/base-template.bat
@@ -0,0 +1,14 @@
+pushd "%~dp0" > nul
+set tm=%time: =0%
+set ps1file=%~n0%date:~-10,4%%date:~-5,2%%date:~-2,2%_%tm:~0,2%%tm:~3,2%%tm:~6,2%%tm:~9,2%.ps1
+for /f "usebackq skip=10 delims=" %%i in ("%~f0") do @echo %%i >> "%ps1file%"
+powershell -NoProfile -ExecutionPolicy unrestricted -File "%ps1file%" %*
+del "%ps1file%"
+popd > nul
+pause
+GOTO :EOF
+
+# ========== ªªª template ªªª ==========
+gci
+
+# vim: ft=ps1
diff --git a/vim/.vim/template/dosbatch/base-template2.bat b/vim/.vim/template/dosbatch/base-template2.bat
new file mode 100755
index 0000000..c7affe2
--- /dev/null
+++ b/vim/.vim/template/dosbatch/base-template2.bat
@@ -0,0 +1,13 @@
+@echo off
+setlocal enabledelayedexpansion
+REM {{{ «ݒè ===========================================
+REM 
+set tm=%time: =0%
+set TODAY=%date:~-10,4%%date:~-5,2%%date:~-2,2%_%tm:~0,2%%tm:~3,2%%tm:~6,2%%tm:~9,2%
+set THIS_FILE_PASS=%~dp0
+set THIS_FILE_NAME=%~nx0
+
+echo %TODAY%
+echo THIS_FILE_PASS=[%THIS_FILE_PASS%]
+echo THIS_FILE_NAME=[%THIS_FILE_NAME%]
+REM =====================================================}}}
diff --git a/vim/.vim/template/hta/base-template.hta b/vim/.vim/template/hta/base-template.hta
new file mode 100644
index 0000000..1db65f4
--- /dev/null
+++ b/vim/.vim/template/hta/base-template.hta
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML>
+<html lang="ja">
+<head>
+    <meta charset="UTF-8">
+    <title></title>
+<HTA:APPLICATION
+APPLICATIONNAME="value"
+BORDER="thick" | "dialog" | "none"  | "thin"
+BORDERSTYLE="normal" | "complex" | "raised"  | "static"  | "sunken"
+CAPTION="yes" | "no"
+CONTEXTMENU="yes" | "no"
+ICON="value"
+ID="value"
+INNERBORDER="yes" | "no"
+MAXIMIZEBUTTON="yes" | "no"
+MINIMIZEBUTTON="yes" | "no"
+NAVIGABLE="no" | "yes"
+SCROLL="yes" | "no" | "auto"
+SCROLLFLAT="no" | "yes"
+SELECTION="yes" | "no"
+SHOWINTASKBAR="yes" | "no"
+SINGLEINSTANCE="no" | "yes"
+SYSMENU="yes" | "no"
+VERSION="value"
+WINDOWSTATE="normal" | "maximize" | "minimize" />
+<script type="text/javascript" src="_lib.js"></script>
+<script type="Jscript" src="myscript.js"></script>
+</head>
+<body>
+
+</body>
+</html>
diff --git a/vim/.vim/template/ps1/base-template.ps1 b/vim/.vim/template/ps1/base-template.ps1
new file mode 100755
index 0000000..b00098f
--- /dev/null
+++ b/vim/.vim/template/ps1/base-template.ps1
@@ -0,0 +1,12 @@
+@echo off
+pushd "%~dp0" > nul
+set tm=%time: =0%
+set ps1file=%~n0_%date:~-10,4%%date:~-5,2%%date:~-2,2%_%tm:~0,2%%tm:~3,2%%tm:~6,2%%tm:~9,2%.ps1
+for /f "usebackq skip=10 delims=" %%i in ("%~f0") do @echo %%i >> "%ps1file%"
+powershell -NoProfile -ExecutionPolicy unrestricted -File "%ps1file%" %*
+del "%ps1file%"
+popd > nul
+pause
+GOTO :EOF
+# ========== do ps1 file as a dosbatch ==========
+
diff --git a/vim/.vim/template/python/base-template.py b/vim/.vim/template/python/base-template.py
new file mode 100644
index 0000000..faa18be
--- /dev/null
+++ b/vim/.vim/template/python/base-template.py
@@ -0,0 +1,2 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
diff --git a/vim/.vim/template/sh/base-template.sh b/vim/.vim/template/sh/base-template.sh
new file mode 100755
index 0000000..13f4793
--- /dev/null
+++ b/vim/.vim/template/sh/base-template.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+
diff --git a/vim/.vim/template/typescript/base-template.ts b/vim/.vim/template/typescript/base-template.ts
new file mode 100755
index 0000000..b2d89a3
--- /dev/null
+++ b/vim/.vim/template/typescript/base-template.ts
@@ -0,0 +1,7 @@
+// OP: "pushd"
+// OP: "nopushd"
+///<reference path="_lib.ts"/>
+
+// Debug
+Debug.DEBUG = true;
+var debugPrint = Debug.debugPrint;
diff --git a/vim/.vimrc b/vim/.vimrc
new file mode 100755
index 0000000..854b10f
--- /dev/null
+++ b/vim/.vimrc
@@ -0,0 +1,1678 @@
+"{{{ ========== Basics ================================================================
+set nocompatible
+scriptencoding utf-8
+
+if isdirectory($HOME . '/.vim')
+  let $MY_VIMRUNTIME = $HOME . '/.vim'
+elseif isdirectory($HOME . '\vimfiles')
+  let $MY_VIMRUNTIME = $HOME . '\vimfiles'
+elseif isdirectory($VIM . '\vimfiles')
+  let $MY_VIMRUNTIME = $VIM . '\vimfiles'
+endif
+
+" judge os type
+let s:is_windows = has('win16') || has('win32') || has('win64')
+let s:is_cygwin = has('win32unix')
+let s:is_darwin = has('mac') || has('macunix') || has('gui_macvim')
+let s:is_linux = !s:is_windows && !s:is_cygwin && !s:is_darwin
+
+" release autogroup in MyAutoCmd
+augroup MyAutoCmd
+  autocmd!
+augroup END
+"===================================================================================}}}
+
+"{{{ ========== Plugins ===============================================================
+" neobundle.vim
+set nocompatible
+
+if has('vim_starting')
+  set runtimepath+=~/.bundle/neobundle.vim
+  call neobundle#rc(expand('~/.bundle'))
+endif
+
+" Let NeoBundle manage NeoBundle
+NeoBundleFetch 'Shougo/neobundle.vim'
+
+" plugin list {{{
+NeoBundle 'Shougo/vimproc.vim', {
+            \ 'build': {
+            \   'windows' : 'mingw32-make -f make_mingw32.mak',
+            \   'cygwin'  : 'make -f make_cygwin.mak',
+            \   'mac'     : 'make -f make_mac.mak',
+            \   'unix'    : 'make -f make_unix.mak',
+            \ }}
+NeoBundle 'CmdlineCompl.vim'
+NeoBundle 'LeafCage/foldCC'
+NeoBundle 'LeafCage/yankround.vim', {'depends': 'kien/ctrlp.vim'}
+NeoBundle 'The-NERD-Commenter'
+"NeoBundle 'airblade/vim-gitgutter'
+NeoBundle 'altercation/vim-colors-solarized'
+NeoBundle 'banyan/recognize_charcode.vim'
+NeoBundle 'cocopon/lightline-hybrid.vim', {'depends': 'itchyny/lightline.vim'}
+NeoBundle 'fuenor/qfixgrep'
+NeoBundle 'fuenor/qfixhowm'
+NeoBundle 'goldfeld/vim-seek'
+NeoBundle 'gregsexton/gitv', {'depends': 'tpope/vim-fugitive'}
+NeoBundle 'itchyny/landscape.vim'
+NeoBundle 'itchyny/lightline.vim'
+NeoBundle 'jceb/vim-hier'
+NeoBundle 'kana/vim-textobj-entire', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'kana/vim-textobj-function', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'kana/vim-textobj-indent', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'kana/vim-textobj-user'
+NeoBundle 'mattn/sonictemplate-vim'
+NeoBundle 'mattn/webapi-vim'
+NeoBundle 'nathanaelkane/vim-indent-guides'
+NeoBundle 'osyo-manga/vim-anzu'
+NeoBundle 'osyo-manga/vim-automatic', {'depends': ['osyo-manga/vim-gift', 'osyo-manga/vim-reunions']}
+NeoBundle 'osyo-manga/vim-textobj-multiblock', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'osyo-manga/vim-textobj-multitextobj', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'pekepeke/titanium-vim'
+NeoBundle 'rhysd/vim-textobj-ruby', {'depends': 'kana/vim-textobj-user'}
+NeoBundle 'szw/vim-tags', {'build': {'mac': 'brew install ctags'}}
+NeoBundle 'thinca/vim-submode'
+NeoBundle 'tomasr/molokai'
+NeoBundle 'tpope/vim-fugitive'
+NeoBundle 'tpope/vim-surround'
+NeoBundle 'vim-jp/vimdoc-ja'
+NeoBundle 'w0ng/vim-hybrid'
+NeoBundleLazy 'Dotnet-Dictionaries'
+NeoBundleLazy 'DrawIt'
+NeoBundleLazy 'JavaScript-syntax', {'depends': 'pangloss/vim-javascript'}
+NeoBundleLazy 'LeafCage/nebula.vim'
+NeoBundleLazy 'PProvost/vim-ps1'
+NeoBundleLazy 'SQLUtilities'
+NeoBundleLazy 'Shougo/echodoc'
+NeoBundleLazy 'Shougo/junkfile.vim'
+NeoBundleLazy 'Shougo/neosnippet.vim'
+NeoBundleLazy 'Shougo/unite.vim', {'depends': 'Shougo/vimproc'}
+NeoBundleLazy 'Shougo/vim-vcs'
+NeoBundleLazy 'Shougo/vimfiler', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'Shougo/vimshell.vim', {'depends': 'Shougo/vimproc'}
+NeoBundleLazy 'Shougo/vinarise'
+NeoBundleLazy 'VB.NET-Indent'
+NeoBundleLazy 'VB.NET-Syntax'
+NeoBundleLazy 'adogear/vim-blockdiag-series'
+NeoBundleLazy 'aklt/plantuml-syntax'
+NeoBundleLazy 'alpaca-tc/alpaca_tags', {'depends': 'Shougo/vimproc'}
+NeoBundleLazy 'basyura/J6uil.vim', {'depends': ['Shougo/vimproc.vim', 'mattn/webapi-vim']}
+NeoBundleLazy 'basyura/unite-firefox-bookmarks', {'depends': ['tyru/open-browser.vim', 'mattn/webapi-vim']}
+NeoBundleLazy 'basyura/unite-rails', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'choplin/unite-vim_hacks'
+NeoBundleLazy 'cocopon/colorswatch.vim'
+NeoBundleLazy 'dag/vim2hs'
+NeoBundleLazy 'derekwyatt/vim-scala', {'build': {'mac': 'brew install scala sbt'}}
+NeoBundleLazy 'digitaltoad/vim-jade'
+NeoBundleLazy 'drakontia/sphinx.vim'
+NeoBundleLazy 'eagletmt/ghcmod-vim'
+NeoBundleLazy 'eagletmt/unite-haddock'
+NeoBundleLazy 'edsono/vim-matchit'
+NeoBundleLazy 'h1mesuke/unite-outline', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'h1mesuke/vim-alignta'
+NeoBundleLazy 'itchyny/dictionary.vim'
+NeoBundleLazy 'jmcantrell/vim-virtualenv'
+NeoBundleLazy 'jpo/vim-railscasts-theme'
+NeoBundleLazy 'kchmck/vim-coffee-script'
+NeoBundleLazy 'kien/ctrlp.vim'
+NeoBundleLazy 'koron/chalice'
+NeoBundleLazy 'lambdalisue/vim-django-support'
+NeoBundleLazy 'leafgarland/typescript-vim'
+NeoBundleLazy 'majutsushi/tagbar', {'build': {'mac': 'brew install ctags'}}
+NeoBundleLazy 'mattn/emmet-vim'
+NeoBundleLazy 'mattn/excitetranslate-vim'
+NeoBundleLazy 'mattn/gist-vim', {'depends': 'mattn/webapi-vim'}
+NeoBundleLazy 'mattn/googletasks-vim', {'depends': 'mattn/webapi-vim'}
+NeoBundleLazy 'mattn/unite-advent_calendar'
+NeoBundleLazy 'mattn/vimplenote-vim'
+NeoBundleLazy 'mitechie/pyflakes-pathogen'
+NeoBundleLazy 'modsound/macdict-vim'
+NeoBundleLazy 'nanotech/jellybeans.vim'
+NeoBundleLazy 'osyo-manga/checking-global-variables'
+NeoBundleLazy 'osyo-manga/unite-toggle-options'
+NeoBundleLazy 'osyo-manga/vim-over'
+NeoBundleLazy 'osyo-manga/vim-watchdogs'
+NeoBundleLazy 'pasela/unite-webcolorname'
+NeoBundleLazy 'rking/ag.vim'
+NeoBundleLazy 'sjl/gundo.vim'
+NeoBundleLazy 'supermomonga/vimshell-pure.vim', {'depends' : 'Shougo/vimshell.vim'}
+NeoBundleLazy 't9md/vim-quickhl'
+NeoBundleLazy 'tacroe/unite-mark'
+NeoBundleLazy 'thinca/vim-qfreplace'
+NeoBundleLazy 'thinca/vim-quickrun'
+NeoBundleLazy 'thinca/vim-ref'
+NeoBundleLazy 'thinca/vim-singleton'
+NeoBundleLazy 'thinca/vim-splash'
+NeoBundleLazy 'thinca/vim-template'
+NeoBundleLazy 'tpope/vim-endwise'
+NeoBundleLazy 'tpope/vim-fireplace', {'depends': ['tpope/vim-classpath', 'guns/vim-clojure-static']}
+NeoBundleLazy 'tpope/vim-rails'
+NeoBundleLazy 'tsukkee/unite-help', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'tsukkee/unite-tag', {'depends': 'Shougo/unite.vim'}
+NeoBundleLazy 'tyru/open-browser.vim'
+NeoBundleLazy 'ujihisa/neco-ghc'
+NeoBundleLazy 'ujihisa/unite-colorscheme'
+NeoBundleLazy 'ujihisa/unite-font'
+NeoBundleLazy 'vbnet.vim'
+NeoBundleLazy 'vim-ruby/vim-ruby'
+NeoBundleLazy 'vim-scripts/Wombat'
+NeoBundleLazy 'vim-scripts/copypath.vim'
+NeoBundleLazy 'wavded/vim-stylus'
+NeoBundleLazy 'wesleyche/SrcExpl'
+NeoBundleLazy 'yuyunko/dosbatch-indent', {'depends': 'taku-o/vim-batch-source'}
+NeoBundleLazy 'zhisheng/visualmark.vim'
+
+NeoBundleLazy 'davidhalter/jedi-vim', {
+            \ 'depends': 'mitechie/pyflakes-pathogen',
+            \ 'build': {
+            \   'mac': 'pip install jedi',
+            \   'unix': 'pip install jedi'
+            \ }}
+NeoBundleLazy 'basyura/TweetVim', 'dev', {
+            \ 'depends': [
+            \   'tyru/open-browser.vim',
+            \   'basyura/twibill.vim',
+            \   'basyura/bitly.vim',
+            \   'Shougo/unite.vim',
+            \   'Shougo/unite-outline',
+            \   'Shougo/vimproc.vim',
+            \   'mattn/favstar-vim',
+            \   'mattn/webapi-vim'
+            \ ]}
+NeoBundleLazy 'jnwhiteh/vim-golang', {
+            \ 'build': {
+            \   'windows': ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
+            \   'cygwin' : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
+            \   'mac'    : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint'],
+            \   'unix'   : ['go get github.com/nsf/gocode', 'go get github.com/golang/lint']
+            \ }}
+if has('lua') && ((v:version >= 703 && has('patch885')) || v:version >= 704)
+  NeoBundleLazy 'Shougo/neocomplete.vim'
+else
+  NeoBundleLazy 'Shougo/neocomplcache.vim'
+endif
+
+filetype plugin indent on
+
+" Installation check.
+if ! has('gui_running')
+    NeoBundleCheck
+endif
+"}}}
+"===================================================================================}}}
+
+"{{{ ========== Function ============================================================
+" Restore last cursor position when open a file"{{{
+au MyAutoCmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
+"}}}
+
+" highlight Zenkaku space"{{{
+function! ZenkakuSpace()
+  highlight ZenkakuSpace cterm=underline ctermfg=darkgrey gui=underline guifg=darkgrey
+  silent! match ZenkakuSpace /　/
+endfunction
+
+if has('syntax')
+  au MyAutoCmd VimEnter,BufEnter * call ZenkakuSpace()
+endif
+"}}}
+
+" autochdir"{{{
+au MyAutoCmd BufEnter * execute ":silent! lcd " . escape(expand("%:p:h"), ' ')
+"}}}
+
+" ctags
+" set tags+=tags;
+" set tag file. don't search tags in pwd and search upward
+set tags& tags-=tags tags+=./tags;
+
+" use vimproc for system
+let s:system = exists('g:loaded_vimproc') ? 'vimproc#system_bg' : 'system'
+
+" compiler
+au MyAutoCmd FileType scala compiler sbt
+
+function! s:mkdir(dir)"{{{
+    if !isdirectory(a:dir)
+        call mkdir(a:dir, "p")
+    endif
+endfunction"}}}
+
+function! s:Str2byte(str)"{{{
+  return map(range(len(a:str)), 'char2nr(a:str[v:val])')
+endfunction"}}}
+
+function! s:Byte2hex(bytes)"{{{
+  return join(map(copy(a:bytes), 'printf("%02X", v:val)'), '')
+endfunction"}}}
+
+function! s:r_trim()"{{{
+    " delete space at the end of line
+    let save_cursor = getpos(".")
+    %s/\s\+$//e
+    call setpos(".", save_cursor)
+endfunction
+"au MyAutoCmd BufWritePre * call s:r_trim()
+"}}}
+
+function! s:format()"{{{
+    " auto indent format
+    let save_view = winsaveview()
+    normal gg=G
+    call winrestview(save_view)
+endfunction
+nnoremap [Space]f :call s:format()<CR>
+"au MyAutoCmd BufWrite * call s:format()
+"}}}
+
+function! s:open_in_browser()"{{{
+    " open html in browser
+    if s:is_windows
+        silent ! start iexplore "%:p"
+    else
+        silent ! start firefox "%:p"
+    endif
+endfunction
+"}}}
+
+function! s:auto_mkdir(dir, force)"{{{
+    " Hack #202: http://vim-users.jp/2011/02/hack202/
+    if !isdirectory(a:dir) && (a:force ||
+                \ input(printf('"%s" does not exist. Create? [y/N]', a:dir)) =~? '^y\%[es]$')
+        call mkdir(iconv(a:dir, &encoding, &termencoding), 'p')
+    endif
+endfunction
+au MyAutoCmd BufWritePre * call s:auto_mkdir(expand('<afile>:p:h'), v:cmdbang)
+"}}}
+
+" Capture {{{
+" https://gist.github.com/369112#file-vimrc
+command!
+            \ -nargs=+ -bang
+            \ -complete=command
+            \ Capture
+            \ call s:cmd_capture([<f-args>], <bang>0)
+
+function! C(cmd)
+    redir => result
+    silent execute a:cmd
+    redir END
+    return result
+endfunction
+
+function! s:cmd_capture(args, banged)
+    new
+    silent put =C(join(a:args))
+    1,2delete _
+endfunction
+"}}}
+
+" diff original"{{{
+command! DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis | wincmd p | diffthis
+"}}}
+
+" save as root"{{{
+com! Wsu w !sudo tee > /dev/null %
+"}}}
+"===================================================================================}}}
+
+"{{{ ========== System ================================================================
+" backup directory
+let $MY_BACKUP_DIR = $MY_VIMRUNTIME . '/back'
+call s:mkdir($MY_BACKUP_DIR)
+
+if version >= 703
+    set undofile
+    set undodir=$MY_BACKUP_DIR
+endif
+set encoding=utf-8 " encoding
+set clipboard+=unnamed
+set switchbuf=useopen
+set nrformats-=octal " disable octal
+set timeoutlen=3500
+set hidden
+set history=100000
+set formatoptions+=mM
+set textwidth=0
+set virtualedit=block
+set whichwrap=b,s,[,],<,>
+set backspace=indent,eol,start
+set ambiwidth=double
+set wildmenu
+set wildmode=list,full
+if has('mouse')
+    set mouse=a
+endif
+set autoread
+au MyAutoCmd WinEnter * checktime
+" for log files
+au MyAutoCmd BufNewFile,BufRead *.csv,*.log setl nowrap
+" no insert comment
+au MyAutoCmd FileType * set formatoptions-=ro
+"===================================================================================}}}
+
+"{{{ ========== Search ================================================================
+set ignorecase
+set smartcase
+set wrapscan
+set incsearch
+set infercase " Ignore case on insert completion.
+set hlsearch
+cnoremap <C-p> <Up>
+cnoremap <C-n> <Down>
+set grepprg=grep\ -nH
+" https://sites.google.com/site/hymd3a/vim/vimgrep
+au MyAutoCmd QuickfixCmdPost make,grep,vimgrep if len(getqflist()) != 0 | copen | endif
+" Hack #104: http://vim-users.jp/2009/11/hack104/
+vnoremap <silent> * "vy/\V<C-r>=substitute(escape(@v,'\/'),"\n",'\\n','g')<CR><CR>
+" Hack #62: http://vim-users.jp/2009/08/hack62/
+nnoremap <expr> s* ':%substitute/\<' . expand('<cword>') . '\>/'
+"===================================================================================}}}
+
+"{{{ ========== Appearance ============================================================
+set noerrorbells
+set novisualbell
+set visualbell t_vb=
+set shellslash
+set number
+set showmatch matchtime=3
+set tabstop=4
+set shiftwidth=4
+set softtabstop=0
+set expandtab
+set list
+if s:is_windows
+  set listchars=tab:>_,trail:-,extends:>,precedes:<
+else
+  set listchars=tab:»-,trail:-,extends:»,precedes:«,nbsp:%
+endif
+set backupdir=$MY_BACKUP_DIR
+set directory=$MY_BACKUP_DIR
+set autoindent
+set cinoptions+=:0
+set title
+set cmdheight=2
+set laststatus=2
+set showcmd
+set display=lastline
+set foldmethod=marker
+set t_Co=256
+if &t_Co > 2 || has('gui_running')
+  syntax on
+endif
+highlight Search ctermbg=1
+
+" color
+set background=dark
+colorscheme hybrid
+
+" hilight cursorline, cursorcolumn {{{
+" http://d.hatena.ne.jp/thinca/20090530/1243615055
+au MyAutoCmd CursorMoved,CursorMovedI * call s:auto_cursorline('CursorMoved')
+au MyAutoCmd CursorHold,CursorHoldI * call s:auto_cursorline('CursorHold')
+au MyAutoCmd WinEnter * call s:auto_cursorline('WinEnter')
+au MyAutoCmd WinLeave * call s:auto_cursorline('WinLeave')
+
+let s:cursorline_lock = 0
+function! s:auto_cursorline(event)
+    if a:event ==# 'WinEnter'
+        setlocal cursorline
+        setlocal cursorcolumn
+        let s:cursorline_lock = 2
+    elseif a:event ==# 'WinLeave'
+        setlocal nocursorline
+        setlocal nocursorcolumn
+    elseif a:event ==# 'CursorMoved'
+        if s:cursorline_lock
+            if 1 < s:cursorline_lock
+                let s:cursorline_lock = 1
+            else
+                setlocal nocursorline
+                setlocal nocursorcolumn
+                let s:cursorline_lock = 0
+            endif
+        endif
+    elseif a:event ==# 'CursorHold'
+        setlocal cursorline
+        setlocal cursorcolumn
+        let s:cursorline_lock = 1
+    endif
+endfunction
+"}}}
+"===================================================================================}}}
+
+"{{{ ========== Mappings ==============================================================
+nnoremap j gj
+nnoremap k gk
+nnoremap <Down> gj
+nnoremap <Up>   gk
+nnoremap h <Left>
+nnoremap l <Right>
+" open folding in "l"
+nnoremap <expr> l foldlevel(line('.')) ? "\<Right>zo" : "\<Right>"
+" for buffer
+nnoremap gh :bp<CR>
+nnoremap gl :bn<CR>
+" for tab
+nnoremap <SID>[tab-right] gt
+nnoremap <SID>[tab-left] gT
+nmap <C-l> <SID>[tab-right]
+nmap <C-h> <SID>[tab-left]
+
+nmap <Space> [Space]
+nnoremap [Space] <Nop>
+
+nnoremap [Space]s :<C-u>split<CR>
+nnoremap [Space]v :<C-u>vsplit<CR>
+
+" like emacs
+cnoremap <C-b> <Left>
+cnoremap <C-f> <Right>
+cnoremap <C-a> <Home>
+cnoremap <C-e> <End>
+cnoremap <C-d> <Del>
+cnoremap <C-y> <C-r>
+
+" mapping for NeoBundle
+nnoremap [Space]bi :<C-u>NeoBundleInstall!<CR>
+" Vim-users.jp - Hack #74: http://vim-users.jp/2009/09/hack74/
+nnoremap <silent> [Space]ev  :<C-u>tabedit $MYVIMRC<CR>
+nnoremap <silent> [Space]eg  :<C-u>tabedit $MYGVIMRC<CR>
+
+" hilight over 100 column {{{
+" http://blog.remora.cx/2013/06/source-in-80-columns-2.html
+noremap <Plug>(ToggleColorColumn)
+            \ :<c-u>let &colorcolumn = len(&colorcolumn) > 0 ? '' :
+            \   join(range(101, 9999), ',')<CR>
+
+nmap cc <Plug>(ToggleColorColumn)
+"}}}
+"===================================================================================}}}
+
+"{{{ ========== Plugin Settings =======================================================
+if neobundle#tap('lightline.vim')"{{{
+    if s:is_windows
+        let g:lightline = {
+                    \ 'colorscheme': 'landscape',
+                    \ 'mode_map': { 'c': 'NORMAL' },
+                    \ 'active': {
+                    \   'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ] ]
+                    \ },
+                    \ 'component_function': {
+                    \   'modified': 'MyModified',
+                    \   'readonly': 'MyReadonly',
+                    \   'fugitive': 'MyFugitive',
+                    \   'filename': 'MyFilename',
+                    \   'fileformat': 'MyFileformat',
+                    \   'filetype': 'MyFiletype',
+                    \   'fileencoding': 'MyFileencoding',
+                    \   'mode': 'MyMode',
+                    \ }
+                    \ }
+    else
+        let g:lightline = {
+                    \ 'colorscheme': 'hybrid',
+                    \ 'mode_map': { 'c': 'NORMAL' },
+                    \ 'active': {
+                    \   'left': [ [ 'mode', 'paste' ], [ 'fugitive', 'filename' ] ]
+                    \ },
+                    \ 'component_function': {
+                    \   'modified': 'MyModified',
+                    \   'readonly': 'MyReadonly',
+                    \   'fugitive': 'MyFugitive',
+                    \   'filename': 'MyFilename',
+                    \   'fileformat': 'MyFileformat',
+                    \   'filetype': 'MyFiletype',
+                    \   'fileencoding': 'MyFileencoding',
+                    \   'mode': 'MyMode',
+                    \ },
+                    \ 'separator': { 'left': '⮀', 'right': '⮂' },
+                    \ 'subseparator': { 'left': '⮁', 'right': '⮃' }
+                    \ }
+    endif
+    function! MyModified()
+        return &ft =~ 'help\|vimfiler\|gundo' ? '' : &modified ? '+' : &modifiable ? '' : '-'
+    endfunction
+
+    function! MyReadonly()
+        if s:is_windows
+            return &ft !~? 'help\|vimfiler\|gundo' && &readonly ? 'R' : ''
+        else
+            return &ft !~? 'help\|vimfiler\|gundo' && &readonly ? '⭤' : ''
+        endif
+    endfunction
+
+    function! MyFilename()
+        return ('' != MyReadonly() ? MyReadonly() . ' ' : '') .
+                    \ (&ft == 'vimfiler' ? vimfiler#get_status_string() :
+                    \  &ft == 'unite' ? unite#get_status_string() :
+                    \  &ft == 'vimshell' ? vimshell#get_status_string() :
+                    \ '' != expand('%:t') ? expand('%:t') : '[No Name]') .
+                    \ ('' != MyModified() ? ' ' . MyModified() : '')
+    endfunction
+
+    function! MyFugitive()
+        if &ft !~? 'vimfiler\|gundo' && exists("*fugitive#head")
+            let _ = fugitive#head()
+            if s:is_windows
+                return strlen(_) ? '| '._ : ''
+            else
+                return strlen(_) ? '⭠ '._ : ''
+            endif
+        endif
+        return ''
+    endfunction
+
+    function! MyFileformat()
+        return winwidth('.') > 70 ? &fileformat : ''
+    endfunction
+
+    function! MyFiletype()
+        return winwidth('.') > 70 ? (strlen(&filetype) ? &filetype : 'no ft') : ''
+    endfunction
+
+    function! MyFileencoding()
+        return winwidth('.') > 70 ? (strlen(&fenc) ? &fenc : &enc) : ''
+    endfunction
+
+    function! MyMode()
+        return winwidth('.') > 60 ? lightline#mode() : ''
+    endfunction
+
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('vim-gitgutter')"{{{
+    let g:gitgutter_sign_added = '✚'
+    let g:gitgutter_sign_modified = '➜'
+    let g:gitgutter_sign_removed = '✘'
+
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('vim-submode')"{{{
+    let g:submode_leave_with_key = 1
+    call submode#enter_with('winsize', 'n', '', '<C-w>>', '<C-w>>')
+    call submode#enter_with('winsize', 'n', '', '<C-w><', '<C-w><')
+    call submode#enter_with('winsize', 'n', '', '<C-w>+', '<C-w>-')
+    call submode#enter_with('winsize', 'n', '', '<C-w>-', '<C-w>+')
+    call submode#map('winsize', 'n', '', '>', '<C-w>>')
+    call submode#map('winsize', 'n', '', '<', '<C-w><')
+    call submode#map('winsize', 'n', '', '+', '<C-w>-')
+    call submode#map('winsize', 'n', '', '-', '<C-w>+')
+
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('vim-anzu')"{{{
+    au MyAutoCmd BufEnter,BufWinEnter * nmap <silent> <ESC><ESC> :<C-u>nohlsearch<CR><Plug>(anzu-clear-search-status)
+    nmap n <Plug>(anzu-mode-n)
+    nmap N <Plug>(anzu-mode-N)
+    nnoremap <expr> n anzu#mode#mapexpr("n", "", "zzzv")
+    nnoremap <expr> N anzu#mode#mapexpr("N", "", "zzzv")
+
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('TweetVim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': ['TweetVimVersion',
+                \                'TweetVimAddAccount',
+                \                'TweetVimSwitchAccount',
+                \                'TweetVimHomeTimeline',
+                \                'TweetVimMentions',
+                \                'TweetVimListStatuses',
+                \                'TweetVimUserTimeline',
+                \                'TweetVimSay',
+                \                'TweetVimUserStream',
+                \                'TweetVimCommandSay',
+                \                'TweetVimCurrentLineSay',
+                \                'TweetVimSearch'],
+                \   'unite_sources': ['tweetvim/account', 'tweetvim']
+                \ }
+                \ })
+
+    au MyAutoCmd FileType tweetvim call s:my_tweetvim_mappings()
+
+    function! s:my_tweetvim_mappings()
+        nnoremap <buffer> [Space]s :<C-u>TweetVimSay<CR>
+        nnoremap <buffer> <leader>s :<C-u>TweetVimSearch<Space>
+        nnoremap <buffer> [Space]us :<C-u>TweetVimUserStream<CR>   let g:tweetvim_tweet_per_page = 200
+        nnoremap <buffer> [Space]tl :<C-u>Unite tweetvim<CR>
+        nnoremap <buffer> [Space]ta :<C-u>Unite tweetvim/account<CR>
+    endfunction
+
+    let g:tweetvim_default_account = "r_y_y_k_m"
+    let g:tweetvim_cache_size = 50
+    let g:tweetvim_display_source = 1
+    let g:tweetvim_display_time = 1
+
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('vim-indent-guides')"{{{
+    let g:indent_guides_enable_on_vim_startup = 1
+    let g:indent_guides_guide_size = 1
+    let g:indent_guides_auto_colors = 1
+    let g:indent_guides_start_level = 2
+
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('vimfiler')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'unite_sources': ['vimfiler_drive', 'vimfiler_execute', 'vimfiler_history',
+                \                     'vimfiler_mask', 'vimfiler_popd', 'vimfiler_sort'],
+                \   'mappings': ['n', '<Plug>(vimfiler_'],
+                \   'commands': [{'complete': 'customlist,vimfiler#complete', 'name': 'Read'},
+                \                {'complete': 'customlist,vimfiler#complete', 'name': 'VimFiler'},
+                \                {'complete': 'customlist,vimfiler#complete', 'name': 'Edit'},
+                \                {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerExplorer'},
+                \                {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerSplit'},
+                \                {'complete': 'customlist,vimfiler#complete', 'name': 'Write'},
+                \                {'complete': 'customlist,vimfiler#complete', 'name': 'VimFilerDouble'},
+                \                {'complete': 'customlist,vimfiler#complete', 'name': 'Source'}]
+                \ }
+                \ })
+
+    nnoremap <Leader>f :<C-u>VimFiler -split -simple -toggle -winwidth=35 -no-quit<CR>
+    nnoremap <C-e> :<C-u>VimFilerDouble<CR>
+    nnoremap <expr><Leader>g <SID>git_root_dir()
+    function! s:git_root_dir()
+        " http://qiita.com/items/39134f75e9360e1e733d
+        if(system('git rev-parse --is-inside-work-tree') == "true\n")
+            return ':VimFiler ' . '-split ' . '-simple ' . '-winwidth=35 ' . '-no-quit '
+                        \ . system('git rev-parse --show-cdup') . '\<CR>'
+        else
+            echoerr '!!!current directory is outside git working tree!!!'
+        endif
+    endfunction
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let g:vimfiler_as_default_explorer = 1
+        let g:vimfiler_enable_auto_cd = 1
+        if s:is_windows
+            let g:unite_kind_file_use_trashbox = 1
+        endif
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('vimshell.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'mappings': ['n', '<Plug>(vimshell_'],
+                \   'commands': ['VimShell', 'VimShellPop']
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        " PATH
+        if has('unix')
+            " home bin
+            let $PATH = $PATH . ':' . $HOME . '/bin:' . $HOME . '/bin/scripts'
+            " homebrew
+            let $PATH = '/usr/local/bin:' . $PATH
+        endif
+
+        let g:vimshell_right_prompt = 'vcs#info("(%s)-[%b]", "(%s)-[%b|%a]")'
+        let g:vimshell_enable_smart_case = 1
+
+        let g:vimshell_execute_file_list['zip'] = 'zipinfo'
+        call vimshell#set_execute_file('tgz,gz', 'gzcat')
+        call vimshell#set_execute_file('tbz,bz2', 'bzcat')
+
+        let g:vimshell_execute_file_list = {}
+        call vimshell#set_execute_file('txt,vim,c,h,cpp,d,xml,java', 'vim')
+        let g:vimshell_execute_file_list['rb'] = 'ruby'
+        let g:vimshell_execute_file_list['pl'] = 'perl'
+        let g:vimshell_execute_file_list['py'] = 'python'
+        call vimshell#set_execute_file('html,xhtml', 'gexe firefox')
+
+        au MyAutoCmd FileType vimshell
+                    \ if ! s:is_windows
+                    \| call vimshell#altercmd#define('i', 'iexe')
+                    \| call vimshell#altercmd#define('ll', 'ls -l')
+                    \| call vimshell#altercmd#define('la', 'ls -a')
+                    \| call vimshell#altercmd#define('lla', 'ls -al')
+                    \| call vimshell#altercmd#define('lv', 'vim -R')
+                    \| call vimshell#altercmd#define('vimfiler', 'vim -c VimFilerDouble')
+                    \| call vimshell#altercmd#define('rm', 'rmtrash')
+                    \| call vimshell#altercmd#define('s', ':UniteBookmarkAdd .')
+                    \| call vimshell#altercmd#define('g', ':Unite bookmark -start-insert')
+                    \| call vimshell#altercmd#define('l', ':Unite bookmark')
+                    \| call vimshell#hook#add('chpwd', 'my_chpwd', 'g:my_chpwd')
+                    \| else
+                        \| call vimshell#altercmd#define('vimfiler', 'gvim -c VimFilerDouble')
+                        \| endif
+
+
+        function! g:my_chpwd(args, context)
+            call vimshell#execute('ls')
+        endfunction
+
+        au MyAutoCmd FileType int-* call s:interactive_settings()
+        function! s:interactive_settings()
+        endfunction
+
+        " history
+        let g:vimshell_max_command_history = 5000000
+        " mapping
+        "nnoremap [Space]s :<C-u>VimShell<CR>
+        au MyAutoCmd FileType vimshell inoremap <C-^> cd<Space>../<CR>
+        au MyAutoCmd FileType vimshell imap <C-l> <Plug>(vimshell_clear)
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('vimshell-pure.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'on_source': ['vimshell.vim']
+                \ }
+                \ })
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('neocomplete.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'insert': 1
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let g:neocomplete#enable_at_startup = 1
+        let g:neocomplete#enable_smart_case = 1
+        let g:neocomplete#sources#syntax#min_keyword_length = 3
+        " Define dictionary.
+        let g:neocomplete#sources#dictionary#dictionaries = {
+                    \ 'default': '',
+                    \ 'vimshell': $HOME . '/.vimshell_hist',
+                    \ 'scheme': $HOME . '/.gosh_completions',
+                    \ 'coffee': $MY_VIMRUNTIME . '/dict/coffee.dict',
+                    \ 'vbs': $MY_VIMRUNTIME . '/dict/vbs.dict',
+                    \ 'dosbatch': $MY_VIMRUNTIME . '/dict/dosbatch.dict',
+                    \ 'scala': $MY_VIMRUNTIME . '/dict/scala.dict',
+                    \ 'ps1': $MY_VIMRUNTIME . '/dict/ps1.dict',
+                    \ 'javascript': $MY_VIMRUNTIME . '/dict/wsh.dict'
+                    \ }
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('neosnippet.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'insert': 1,
+                \   'unite_sources': ['neosnippet_file', 'snippet', 'snippet_target'],
+                \   'mappings': ['sxi', '<Plug>(neosnippet_'],
+                \   'commands': ['NeoSnippetEdit', 'NeoSnippetSource']
+                \ }
+                \ })
+
+    " Plugin key-mappings.
+    imap <C-k>     <Plug>(neosnippet_expand_or_jump)
+    smap <C-k>     <Plug>(neosnippet_expand_or_jump)
+    xmap <C-k>     <Plug>(neosnippet_expand_target)
+    function! neobundle#tapped.hooks.on_source(bundle)
+        " Tell Neosnippet about the other snippets
+        let g:neosnippet#snippets_directory = $HOME . '/.snippets,'
+
+        " For snippet_complete marker.
+        if has('conceal')
+            set conceallevel=2 concealcursor=i
+        endif
+
+        " for unite
+        imap <C-s> <Plug>(neocomplcache_start_unite_snippet)
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('unite.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': {'name': 'Unite', 'complete': 'customlist,unite#complete_source'}
+                \ }
+                \ })
+    nnoremap <silent> [Space]uc :<C-u>Unite colorscheme -auto-preview<CR>
+    nnoremap <silent> [Space]uy :<C-u>Unite -no-split history/yank -buffer-name=history/yank<CR>
+    nnoremap <silent> [Space]ub :<C-u>Unite -no-split buffer -auto-preview -buffer-name=buffer<CR>
+    "nnoremap <silent> [Space]uf :<C-u>Unite -no-split -buffer-name=files file<CR>
+    nnoremap <silent> [Space]uf :<C-u>Unite -no-split -buffer-name=file_rec/async file_rec/async<CR>
+    nnoremap <silent> ,ub :<C-u>Unite -no-split -buffer-name=bookmark -default-action=cd bookmark<CR>
+    nnoremap <silent> [Space]ug :<C-u>Unite -buffer-name=grep -no-quit -auto-preview grep<CR>
+    nnoremap <silent> [Space]uo :<C-u>Unite -buffer-name=outline outline<CR>
+    nnoremap <silent> [Space]uq :<C-u>Unite -buffer-name=QuickFix -no-quit qf<CR>
+    nnoremap <silent> [Space]ur :<C-u>Unite -buffer-name=register register<CR>
+    nnoremap <silent> [Space]um :<C-u>Unite -no-split file_mru -buffer-name=file_mru -auto-preview<CR>
+    nnoremap <silent> [Space]uu :<C-u>Unite -no-split buffer file_mru<CR>
+    nnoremap <silent> [Space]ua :<C-u>Unite -no-split -buffer-name=files buffer
+                \                              file_mru bookmark file file_rec/async<CR>
+    nnoremap <silent> [Space]/ :<C-u>Unite -buffer-name=search line/fast -no-quit<CR>
+    nnoremap <silent> [Space]uh :<C-u>Unite -no-split -buffer-name=help help<CR>
+
+    " NeoBundle
+    nnoremap [Space]ui :<C-u>Unite -no-split -no-start-insert -buffer-name=neobundle neobundle/update<CR>
+    nnoremap [Space]bs :<C-u>Unite -no-split -buffer-name=neobundle/search neobundle/search<CR>
+    " grep ~/.vim_junk
+    nnoremap [Space]ujg :<C-u>Unite -no-split -buffer-name=Grep_JunkFile grep:~/.vim_junk/
+
+    function! neobundle#tapped.hooks.on_source(bundle)
+        " start unite in insert mode
+        let g:unite_enable_start_insert = 1
+        " use vimfiler to open directory
+        call unite#custom#default_action("source/bookmark/directory", "vimfiler")
+        call unite#custom#default_action("directory", "vimfiler")
+        call unite#custom#default_action("directory_mru", "vimfiler")
+        "call unite#custom#default_action("file", "tabdrop")
+        au MyAutoCmd FileType unite call s:unite_settings()
+        function! s:unite_settings()
+            silent! nunmap <ESC><ESC>
+            nmap <buffer> <Esc> <Plug>(unite_exit)
+            nmap <buffer> <C-n> <Plug>(unite_select_next_line)
+            nmap <buffer> <C-p> <Plug>(unite_select_previous_line)
+            let g:unite_source_menu_menus = {
+                        \   "shortcut": {
+                        \       "description": "sample unite-menu",
+                        \       "command_candidates": [
+                        \           ["edit vimrc", "edit $MYVIMRC"],
+                        \           ["edit gvimrc", "edit $MYGVIMRC"],
+                        \           ["unite-file_mru", "Unite file_mru"],
+                        \           ["Unite Beautiful Attack", "Unite -auto-preview colorscheme"],
+                        \           ["unite-output:message", "Unite output:message"]
+                        \       ]
+                        \   }
+                        \ }
+            "let g:unite_enable_split_vertically = 1
+            let g:unite_source_file_mru_limit = 1000
+            let g:unite_source_history_yank_enable = 1
+            " grep source setting
+            if s:is_windows
+                let g:unite_source_grep_command = 'grep'
+                let g:unite_source_grep_default_opts = '--color'
+                let g:unite_source_grep_max_candidates = 200
+            else
+                let g:unite_source_grep_command = 'ag'
+                let g:unite_source_grep_default_opts = '--nocolor --nogroup'
+                let g:unite_source_grep_recursive_opt = ''
+                let g:unite_source_grep_max_candidates = 200
+            endif
+        endfunction
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('unite-help')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'unite_sources': ['help']
+                \ }
+                \ })
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('open-browser.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'mappings': ['sxn', '<Plug>(openbrowser-'],
+                \   'commands': ['OpenBrowser', 'OpenBrowserSearch', 'OpenBrowserSmartSearch']
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        " http://vim-users.jp/2011/08/hack225/
+        nmap gx <Plug>(openbrowser-smart-search)
+        vmap gx <Plug>(openbrowser-smart-search)
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('sonictemplate-vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'unite_sources': ['sonictemplate'],
+                \   'mappings': [['in', '<Plug>(sonictemplate']],
+                \   'commands': ['Template']
+                \ }
+                \ })
+    au MyAutoCmd BufNewFile *.rb Template template
+    au MyAutoCmd BufNewFile *.ps1 Template template
+    au MyAutoCmd BufNewFile *.cmd Template template
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let g:sonictemplate_vim_template_dir = $MY_VIMRUNTIME . '/template'
+    endfunction
+endif"}}}
+
+if neobundle#tap('vim-fugitive') "{{{
+    nnoremap [Space]gd :<C-u>Gdiff<Enter>
+    nnoremap [Space]gs :<C-u>Gstatus<Enter>
+    nnoremap [Space]gl :<C-u>Glog<Enter>
+    nnoremap [Space]ga :<C-u>Gwrite<Enter>
+    nnoremap [Space]gc :<C-u>Gcommit<Enter>
+    nnoremap [Space]gC :<C-u>Git commit --amend<Enter>
+    nnoremap [Space]gp :<C-u>Git pull --rebase<Enter>
+    nnoremap [Space]gb :<C-u>Gblame<Enter>
+
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('vim-quickrun')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'mappings': ['sxn', '<Plug>(quickrun'],
+                \   'commands': [{'complete': 'customlist,quickrun#complete', 'name': 'QuickRun'}]
+                \ }
+                \ })
+    nnoremap [Space]r <Plug>(quickrun)
+    function! neobundle#tapped.hooks.on_source(bundle)"{{{
+        " echo quickrun command output {{{
+        " http://d.hatena.ne.jp/osyo-manga/searchdiary?word=quickrun
+        let s:hook = {
+                    \   "name": "output_command",
+                    \   "kind": "hook",
+                    \   "config": {
+                    \       "enable": 0,
+                    \       "log": 0
+                    \   }
+                    \ }
+
+        function! s:hook.on_ready(session, context)
+            HierClear
+            for command in a:session.commands
+                execute self.config.log ? "echom command" : "echo command"
+            endfor
+        endfunction
+
+        call quickrun#module#register(s:hook, 1)
+        unlet s:hook"}}}
+
+        " TypeScript compile according to the reference path {{{
+        let s:hook = {
+                    \ "name": "typescript_compile",
+                    \ "kind": "hook",
+                    \ "config": {
+                    \       "enable": 0
+                    \  }
+                    \ }
+        function! s:hook.on_module_loaded(session, context)
+            let references = []
+            for line in readfile(a:session.config.srcfile, '', 15)
+                if line =~ '^///<reference path='
+                    "echom 'reference : ' . line[stridx(line, '"') + 1 : -4]
+                    if line[stridx(line, '"') + 1 : -4] !~ 'lib.d.ts'
+                        call add(references, line[stridx(line, '"') + 1 : -4])
+                    endif
+                endif
+            endfor
+            "echom 'exec : %c --nolib %s ' . join(references, ' ') . ' --out %s:p:r.js'
+            let a:session.config.exec = '%c --nolib %s ' . join(references, ' ') . ' --out %s:p:r.js'
+        endfunction
+        call quickrun#module#register(s:hook, 1)
+        unlet s:hook"}}}
+
+        " coffeescript compile {{{
+        let s:hook = {
+                    \ "name": "coffeescript_compile",
+                    \ "kind": "hook",
+                    \ "config": {
+                    \       "enable": 0
+                    \  }
+                    \ }
+        function! s:hook.on_module_loaded(session, context)
+            let imports = []
+            for line in readfile(a:session.config.srcfile, '', 15)
+                if line =~ '^# import'
+                    "echom 'import : ' . line[10 : -2]
+                    call add(imports, line[10 : -2])
+                endif
+            endfor
+            "echom 'exec : %c -j %s:p:r.js -cb ' . join(imports, ' ') . ' %s'
+            let a:session.config.exec = '%c -j %s:p:r.js -cb ' . join(imports, ' ') . ' %s'
+        endfunction
+        call quickrun#module#register(s:hook, 1)
+        unlet s:hook"}}}
+
+        " add wsh header {{{
+        let s:hook = {
+                    \ "name": "js2cmd",
+                    \ "kind": "hook",
+                    \ "config": {
+                    \       "enable": 0
+                    \  }
+                    \ }
+        function! s:hook.on_success(session, context)
+            let list = []
+            call add(list, "@if(0)==(0) ECHO OFF")
+            for line in readfile(a:session.config.srcfile, '', 10)
+                if line =~ '^//' || line =~ '^#'
+                    if line[3 : 4] =~ 'OP' || line[2 : 3] =~ 'OP'
+                        "echom 'option : ' . line[stridx(line, '"') + 1 : -2]
+                        if line[stridx(line, '"') + 1 : -2] =~ '^pushd'
+                            call add(list, "    pushd \"%~dp0\" > nul")
+                            call add(list, "    CScript.exe //NoLogo //E:JScript \"%~f0\" %*")
+                            call add(list, "    popd > nul")
+                            break
+                        else
+                            call add(list, "    CScript.exe //NoLogo //E:JScript \"%~f0\" %*")
+                            break
+                        endif
+                    endif
+                endif
+            endfor
+            call add(list, "pause")
+            call add(list, "GOTO :EOF")
+            call add(list, "@end")
+            call add(list, "")
+            let inJs = fnamemodify(a:session.config.srcfile, ":p:r") . '.js'
+            let outCmd = fnamemodify(a:session.config.srcfile, ":p:h") . '/_cmd/'
+                        \ . fnamemodify(a:session.config.srcfile, ":t:r") .'.cmd'
+            "echom inJs
+            "echom outCmd
+            let utf8List = list + readfile(inJs, 'b')
+            let cp932List = []
+            for line in utf8List
+                "call add(cp932List, iconv(line, "UTF-8", "CP932"))
+                call add(cp932List, iconv(substitute(line, "\n", "\r\n", "",), "UTF-8", "CP932"))
+            endfor
+            if isdirectory(fnamemodify(a:session.config.srcfile, ":p:h") . '/_cmd')
+                call writefile(cp932List, outCmd, 'b')
+                if has('win32') || has('win64')
+                    "call {s:system}('del ' . inJs)
+                    call {s:system}('unix2dos ' . outCmd)
+                else
+                    "call {s:system}('rm ' . inJs)
+                    call {s:system}('nkf --windows --overwrite ' . outCmd)
+                endif
+            else
+                echom fnamemodify(a:session.config.srcfile, ":p:h") . '/_cmd' . 'is not found !'
+            endif
+        endfunction
+
+        call quickrun#module#register(s:hook, 1)
+        unlet s:hook"}}}
+
+        let g:quickrun_config = {}
+        let g:quickrun_config = {
+                    \   "_": {
+                    \       "hook/output_command/enable": 0,
+                    \       "hook/output_command/log": 1,
+                    \       "hook/close_unite_quickfix/enable_hook_loaded": 1,
+                    \       "hook/unite_quickfix/enable_failure": 1,
+                    \       "hook/close_quickfix/enable_exit": 1,
+                    \       "hook/close_buffer/enable_failure": 1,
+                    \       "hook/close_buffer/enable_empty_data": 1,
+                    \       "hook/echo/enable": 1,
+                    \       "hook/echo/output_success": "success!!!",
+                    \       "hook/echo/output_failure": "failure...",
+                    \       "outputter": "multi:buffer:quickfix",
+                    \       "outputter/buffer/split": ":botright 18sp",
+                    \       "runner": "vimproc",
+                    \       "runner/vimproc/updatetime": 40
+                    \   },
+                    \ "typescript": {
+                    \       "commad": "tsc",
+                    \       "cmdopt": "--nolib --out",
+                    \       "exec"  : "%c %s _lib.ts %o %s:p:r.js",
+                    \       "hook/typescript_compile/enable": 1,
+                    \       "hook/js2cmd/enable": 1,
+                    \       "hook/output_command/log": 1
+                    \   },
+                    \ "plantuml": {
+                    \       "command": "java",
+                    \       "cmdopt": "-jar plantuml.jar -tpng",
+                    \       "exec": "%c %o %s"
+                    \   },
+                    \ "blockdiag": {
+                    \       "command": "blockdiag",
+                    \       "cmdopt": "-Tsvg",
+                    \       "exec": "%c %o %s"
+                    \   },
+                    \ "rst": {
+                    \       "command": "make",
+                    \       "cmdopt": "html",
+                    \       "exec": "%c %o"
+                    \ }
+                    \ }
+    endfunction"}}}
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('vim-coffee-script')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'filetypes': ['coffee'],
+                \   'commands': ['CoffeeCompile', 'CoffeeWatch', 'CoffeeRun', 'CoffeeLint']
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let coffee_compile_vert = 1
+        let coffee_make_options = '--bare'
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('jedi-vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': [{'complete': 'custom,jedi#py_import_completions', 'name': 'Pyimport'},
+                \                'Python'],
+                \   'filetypes': ['python', 'python3']
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let g:jedi#auto_initialization = 1
+        let g:jedi#auto_vim_configuration = 0
+        let g:jedi#goto_assignments_command = '<Leader>G'
+        let g:jedi#popup_select_first = 0
+        let g:jedi#rename_command = '<Leader>R'
+        let g:jedi#show_call_signatures = 1
+        "let g:jedi#popup_on_dot = 1
+        au MyAutoCmd FileType python let b:did_ftplugin = 1
+    endfunction
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('ag.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': [{'complete': 'file', 'name': 'AgFromSearch'},
+                \                {'complete': 'help', 'name': 'LAgHelp'},
+                \                {'complete': 'file', 'name': 'LAg'},
+                \                {'complete': 'file', 'name': 'LAgAdd'},
+                \                {'complete': 'file', 'name': 'AgFile'},
+                \                {'complete': 'file', 'name': 'AgAdd'},
+                \                {'complete': 'file', 'name': 'Ag'},
+                \                {'complete': 'help', 'name': 'AgHelp'}],
+                \   'unite_sources': 'grep'
+                \ }
+                \ })
+
+    call neobundle#untap()
+endif"}}}
+
+if neobundle#tap('vim-ref')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'unite_sources': ['ref'],
+                \   'mappings': ['sxn', '<Plug>(ref-keyword)'],
+                \   'commands': [{'complete': 'customlist,ref#complete', 'name': 'Ref'},
+                \                'RefHistory']
+                \ }
+                \ })
+
+    function! s:unite_ref_doc()
+        if &filetype =~ 'perl'
+            Unite ref/perldoc
+        elseif &filetype =~ 'python'
+            Unite -start-insert ref/pydoc
+        elseif &filetype =~ 'ruby'
+            Unite ref/refe
+        else
+            Unite ref/man
+        endif
+    endfunction
+    nnoremap [Space]r :<C-u>call s:unite_ref_doc()<CR>
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('tagbar')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': ['TagbarGetTypeConfig', 'TagbarSetFoldlevel', 'TagbarOpen',
+                \                'TagbarDebug', 'Tagbar', 'TagbarClose', 'TagbarTogglePause',
+                \                'TagbarOpenAutoClose', 'TagbarDebugEnd', 'TagbarCurrentTag',
+                \                'TagbarShowTag', 'TagbarToggle']
+                \ }
+                \ })
+
+    nnoremap <Leader>t :<C-u>TagbarToggle<CR>
+    function! neobundle#tapped.hooks.on_source(bundle)
+        let g:tagbar_type_scala = {
+                    \ 'ctagstype': 'Scala',
+                    \ 'kinds': [
+                    \   'p:packages:1',
+                    \   'V:values',
+                    \   'v:variables',
+                    \   'T:types',
+                    \   't:traits',
+                    \   'o:objects',
+                    \   'a:aclasses',
+                    \   'c:classes',
+                    \   'r:cclasses',
+                    \   'm:methods'
+                    \ ]
+                    \ }
+        let g:tagbar_type_ruby = {
+                    \ 'kinds': [
+                    \   'm:modules',
+                    \   'c:classes',
+                    \   'd:describes',
+                    \   'C:contexts',
+                    \   'f:methods',
+                    \   'F:singleton methods'
+                    \ ]
+                    \ }
+        let g:tagbar_type_markdown = {
+                    \ 'ctagstype': 'markdown',
+                    \ 'kinds': [
+                    \   'h:Heading_L1',
+                    \   'i:Heading_L2',
+                    \   'k:Heading_L3'
+                    \ ]
+                    \ }
+        let g:tagbar_type_css = {
+                    \ 'ctagstype': 'Css',
+                    \ 'kinds': [
+                    \   'c:classes',
+                    \   's:selectors',
+                    \   'i:identities'
+                    \ ]
+                    \ }
+        if executable('coffeetags')
+            let g:tagbar_type_coffee = {
+                        \ 'ctagsbin': 'coffeetags',
+                        \ 'ctagsargs': '',
+                        \ 'kinds': [
+                        \   'f:functions',
+                        \   'o:object',
+                        \ ],
+                        \ 'sro': ".",
+                        \ 'kind2scope' : {
+                        \   'f': 'object',
+                        \   'o': 'object',
+                        \ }
+                        \ }
+        endif
+
+        " Posix regular expressions for matching interesting items. Since this will
+        " be passed as an environment variable, no whitespace can exist in the options
+        " so [:space:] is used instead of normal whitespaces.
+        " Adapted from: https://gist.github.com/2901844
+        let s:ctags_opts = '
+                    \ --langdef=coffee
+                    \ --langmap=coffee:.coffee
+                    \ --regex-coffee=/(^|=[ \t])*class ([A-Za-z_][A-Za-z0-9_]+\.)*([A-Za-z_][A-Za-z0-9_]+)( extends ([A-Za-z][A-Za-z0-9_.]*)+)?$/\3/c,class/
+                    \ --regex-coffee=/^[ \t]*(module\.)?(exports\.)?@?(([A-Za-z][A-Za-z0-9_.]*)+):.*[-=]>.*$/\3/m,method/
+                    \ --regex-coffee=/^[ \t]*(module\.)?(exports\.)?(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=.*[-=]>.*$/\3/f,function/
+                    \ --regex-coffee=/^[ \t]*(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=[^->\n]*$/\1/v,variable/
+                    \ --regex-coffee=/^[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)[ \t]*=[^->\n]*$/\1/f,field/
+                    \ --regex-coffee=/^[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+):[^->\n]*$/\1/f,static field/
+                    \ --regex-coffee=/^[ \t]*(([A-Za-z][A-Za-z0-9_.]*)+):[^->\n]*$/\1/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?/\3/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){0}/\8/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){1}/\8/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){2}/\8/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){3}/\8/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){4}/\8/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){5}/\8/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){6}/\8/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){7}/\8/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){8}/\8/f,field/
+                    \ --regex-coffee=/((constructor|initialize):[ \t]*\()@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?(,[ \t]*@(([A-Za-z][A-Za-z0-9_.]*)+)([ \t]*=[ \t]*[^,)]+)?){9}/\8/f,field/'
+
+        let $CTAGS = substitute(s:ctags_opts, '\v\([nst]\)', '\\', 'g')
+    endfunction
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('SrcExpl')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': ['SrcExplToggle', 'SrcExplClose', 'SrcExpl']
+                \ }
+                \ })
+    " The switch of the Source Explorer
+    nmap <F8> :SrcExplToggle<CR>
+    function! neobundle#tapped.hooks.on_source(bundle)
+        "  Set the height of Source Explorer window
+        let g:SrcExpl_winHeight = 8
+
+        "  Set 100 ms for refreshing the Source Explorer
+        let g:SrcExpl_refreshTime = 100
+
+        "  Set "Enter" key to jump into the exact definition context
+        let g:SrcExpl_jumpKey = "<ENTER>"
+
+        "  Set "Space" key for back from the definition context
+        let g:SrcExpl_gobackKey = "<SPACE>"
+
+        "  In order to Avoid conflicts, the Source Explorer should know what plugins
+        "  are using buffers. And you need add their bufname into the list below
+        "  according to the command ":buffers!"
+        let g:SrcExpl_pluginList = [
+                    \ "__Tag_List__",
+                    \ "Source_Explorer"
+                    \ ]
+
+        "  Enable/Disable the local definition searching, and note that this is not
+        "  guaranteed to work, the Source Explorer doesn't check the syntax for now.
+        "  It only searches for a match with the keyword according to command 'gd'
+        let g:SrcExpl_searchLocalDef = 1
+
+        "  Do not let the Source Explorer update the tags file when opening
+        let g:SrcExpl_isUpdateTags = 0
+
+        "  Use 'Exuberant Ctags' with '--sort=foldcase -R .' or '-L cscope.files' to
+        "  create/update a tags file
+        let g:SrcExpl_updateTagsCmd = "ctags --sort=foldcase -R ."
+
+        "  Set "<F12>" key for updating the tags file artificially
+        "let g:SrcExpl_updateTagsKey = "<F12>"
+
+        "  Set "<F3>" key for displaying the previous definition in the jump list
+        let g:SrcExpl_prevDefKey = "<F3>"
+
+        "  Set "<F4>" key for displaying the next definition in the jump list
+        let g:SrcExpl_nextDefKey = "<F4>"
+    endfunction
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('qfixhowm')"{{{
+    " use markdown
+    let howm_filename = '%Y/%m/%Y-%m-%d-%H%M%S.md'
+    " filetype markdown
+    let QFixHowm_FileType = 'markdown'
+    let QFixHowm_Title = '#'
+    let QFixMRU_Title = {}
+    let QFixMRU_Title['mkd'] = '^###[^#]'
+    let QFixMRU_Title['mkd_regxp'] = '^###[^#]'
+    let howm_dir = $HOME . '/.howm'
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('ctrlp.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': ['CtrlPMixed', 'CtrlPClearAllCaches', 'CtrlPCurWD', 'CtrlP',
+                \                'CtrlPRTS', 'CtrlPBuffer', 'CtrlPMRUFiles', 'CtrlPBookmarkDirAdd',
+                \                'CtrlPDir', 'CtrlPRoot', 'CtrlPChange', 'ClearCtrlPCache',
+                \                'CtrlPLine', 'ClearAllCtrlPCaches', 'CtrlPBufTagAll',
+                \                'CtrlPClearCache', 'CtrlPQuickfix', 'CtrlPBufTag', 'CtrlPTag',
+                \                'CtrlPCurFile', 'CtrlPLastMode', 'CtrlPUndo', 'CtrlPChangeAll',
+                \                'CtrlPBookmarkDir']
+                \ }
+                \ })
+
+    nnoremap [Space]p :<C-u>CtrlP<CR>
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('vim-automatic')"{{{
+    " http://blog.supermomonga.com/articles/vim/automatic.html
+
+    nnoremap <silent> <Plug>(quit) :<C-u>q<CR>
+    function! s:my_temporary_window_init(config, context)
+        silent! nunmap <ESC><ESC>
+        nmap <buffer> <C-[> <Plug>(quit)
+    endfunction
+
+    let g:automatic_enable_autocmd_Futures = {}
+    let g:automatic_default_match_config = {
+                \   'is_open_other_window': 1
+                \ }
+    let g:automatic_default_set_config = {
+                \   'height': '40%',
+                \   'move': "bottom",
+                \   'apply': function('s:my_temporary_window_init')
+                \ }
+    let g:automatic_config = [
+                \   {'match': {'buftype': 'help'}},
+                \   {'match': {'bufname': '^.vimshell'}},
+                \   {'match': {'bufname': 'MacDict.*'}},
+                \   {
+                \       'match': {
+                \           'autocmd_history_pattern' : 'BufWinEnterFileType$',
+                \           'filetype' : 'unite'
+                \       },
+                \       'set': {
+                \           'unsettings': ['move', 'resize']
+                \       }
+                \   },
+                \   {
+                \       'match': {
+                \           'filetype': 'qf',
+                \           'autocmds': ['FileType']
+                \       },
+                \   },
+                \   {
+                \       'match': {
+                \           'filetype': '\v^ref-.+',
+                \           'autocmds': ['FileType']
+                \       }
+                \   },
+                \   {
+                \       'match': {
+                \           'bufname': '\[quickrun output\]'
+                \       },
+                \       'set': {
+                \           'height': 8
+                \       }
+                \   },
+                \   {
+                \       'match': {
+                \           'autocmds': ['CmdwinEnter']
+                \       },
+                \       'set': {
+                \           'is_close_focus_out': 1,
+                \           'unsettings': ['move', 'resize']
+                \       }
+                \   }
+                \ ]
+
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('macdict-vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': ['MacDictThesaurus', 'MacDictFrench', 'MacDict', 'MacDictJapan',
+                \                'MacDictGerman', 'MacDictClose', 'MacDictCWord', 'MacDictEnglish']
+                \ }
+                \ })
+    if s:is_darwin
+        nnoremap [Space]d :<C-u>MacDictCWord<CR>
+    endif
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('vim-golang')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'mappings': ['n', '<Plug>(godoc-keyword)'],
+                \   'commands': [{'complete': 'customlist,go#complete#Package', 'name': 'Godoc'}],
+                \   'filetypes': 'go'
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        set rtp+=$GOROOT/misc/vim
+        exe "set rtp+=" . globpath($GOPATH, "src/github.com/nsf/gocode/vim")
+        setl completeopt=menu,preview
+        " golint
+        exe "set rtp+=" . globpath($GOPATH, "src/github.com/golang/lint/misc/vim")
+        au BufWritePre *.go Fmt
+    endfunction
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('ghcmod-vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'filetypes': 'haskell'
+                \ }
+                \ })
+    function! neobundle#tapped.hooks.on_source(bundle)
+        au MyAutoCmd BufWritePost <buffer> GhcModCheckAsync
+    endfunction
+
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('yankround.vim')"{{{
+    nmap p <Plug>(yankround-p)
+    nmap P <Plug>(yankround-P)
+    nmap <C-p> <Plug>(yankround-prev)
+    nmap <C-n> <Plug>(yankround-next)
+    let g:yankround_max_history = 100
+
+    nnoremap <silent>g<C-p> :<C-u>CtrlPYankRound<CR>
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('vim-over')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': ['OverCommandLineNoremap', 'OverCommandLine']
+                \ }
+                \ })
+    nnoremap <silent> <Leader>o :<C-u>OverCommandLine<CR>%s/
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('nebula.vim')"{{{
+    call neobundle#config({
+                \ 'autoload': {
+                \   'commands': ['NebulaPutLazy', 'NebulaPutFromClipboard', 'NebulaYankOptions',
+                \                'NebulaPutConfig', 'NebulaYankTap']
+                \ }
+                \ })
+    call neobundle#untap()
+endif
+"}}}
+
+if neobundle#tap('foldCC')"{{{
+    set foldmethod=marker
+    set foldtext=foldCC#foldtext()
+    set foldcolumn=0
+    set fillchars=vert:\|
+    nnoremap <expr>l  foldclosed('.') != -1 ? 'zo' : 'l'
+    nnoremap <silent><C-_> :<C-u>call <SID>smart_foldcloser()<CR>
+    function! s:smart_foldcloser() "{{{
+        if foldlevel('.') == 0
+            norm! zM
+            return
+        endif
+
+        let foldc_lnum = foldclosed('.')
+        norm! zc
+        if foldc_lnum == -1
+            return
+        endif
+
+        if foldclosed('.') != foldc_lnum
+            return
+        endif
+        norm! zM
+    endfunction
+    "}}}
+    nnoremap  z[     :<C-u>call <SID>put_foldmarker(0)<CR>
+    nnoremap  z]     :<C-u>call <SID>put_foldmarker(1)<CR>
+    function! s:put_foldmarker(foldclose_p) "{{{
+        let crrstr = getline('.')
+        let padding = crrstr=='' ? '' : crrstr=~'\s$' ? '' : ' '
+        let [cms_start, cms_end] = ['', '']
+        let outside_a_comment_p = synIDattr(synID(line('.'), col('$')-1, 1), 'name') !~? 'comment'
+        if outside_a_comment_p
+            let cms_start = matchstr(&cms,'\V\s\*\zs\.\+\ze%s')
+            let cms_end = matchstr(&cms,'\V%s\zs\.\+')
+        endif
+        let fmr = split(&fmr, ',')[a:foldclose_p]. (v:count ? v:count : '')
+        exe 'norm! A'. padding. cms_start. fmr. cms_end
+    endfunction
+    "}}}
+    nnoremap <silent>z<C-_>    zMzvzc
+    nnoremap <silent>z0    :<C-u>set foldlevel=<C-r>=foldlevel('.')<CR><CR>
+
+    call neobundle#untap()
+endif
+"}}}
+
+" disable plugin
+let plugin_dicwin_disable = 1
+"===================================================================================}}}
+
+"{{{ ========== Language Settings =====================================================
+au MyAutoCmd FileType python setl autoindent smartindent
+      \ cinwords=if,elif,else,for,while,try,except,finally,def,class
+      \ tabstop=8 expandtab shiftwidth=4 softtabstop=4
+      \ foldmethod=indent foldlevel=99
+au MyAutoCmd BufNewFile,BufRead *.cmd setl ft=ps1 fenc=cp932 ff=dos
+au MyAutoCmd BufNewFile,BufRead *.hta setl ft=html fenc=cp932 ff=dos
+au MyAutoCmd BufNewFile,BufRead *.sql setl fenc=cp932 ff=dos
+au MyAutoCmd BufNewFile,BufRead *.bat setl fenc=cp932 ff=dos
+au MyAutoCmd BufNewFile,BufRead *.ts setl ft=typescript fenc=utf8 ff=unix
+au MyAutoCmd BufNewFile,BufRead *.coffee setl ft=coffee fenc=utf8 ff=unix
+      \ tabstop=4 shiftwidth=2 softtabstop=2 expandtab
+au MyAutoCmd BufNewFile,BufRead *.js setl ft=javascript fenc=utf8 ff=unix
+      \ tabstop=4 shiftwidth=2 softtabstop=2 expandtab
+au MyAutoCmd BufNewFile,BufRead *.uml setl fenc=cp932 ff=dos ft=plantuml
+au MyAutoCmd BufNewFile,BufRead *.diag setl fenc=utf8 ff=unix ft=blockdiag
+au MyAutoCmd BufNewFile,BufRead *.md setl ft=markdown
+au MyAutoCmd BufNewFile,BufRead *.rst setl tabstop=8 shiftwidth=3 softtabstop=3 expandtab
+au MyAutoCmd BufNewFile,BufRead *.jade setl ft=jade
+au MyAutoCmd BufNewFile,BufRead *.styl setl ft=stylus tabstop=8 shiftwidth=2
+      \ softtabstop=2 expandtab
+au MyAutoCmd bufnewfile,bufread *.scpt,*.applescript setl filetype=applescript
+au MyAutoCmd bufnewfile,bufread *.scala setl ft=scala
+au MyAutoCmd bufnewfile,bufread *.rb setl ft=ruby fenc=utf8 ff=unix
+
+" Scala {{{
+" http://vim-users.jp/2013/02/vim-advent-calendar-2012-ujihisa-4/
+function! s:ujihisa_start_sbt()
+    execute 'VimShellInteractive sbt'
+    stopinsert
+    let t:sbt_bufname = bufname('%')
+    if !has_key(t:, 'sbt_cmds')
+        let t:sbt_cmds = [input('t:sbt_cmds[0] = ')]
+    endif
+    wincmd p
+endfunction
+
+command! -nargs=0 StartSBT call <SID>ujihisa_start_sbt()
+
+function! s:sbt_run()
+    let cmds = get(t:, 'sbt_cmds', 'run')
+
+    let sbt_bufname = get(t:, 'sbt_bufname')
+    if sbt_bufname !=# ''
+        call vimshell#interactive#set_send_buffer(sbt_bufname)
+        call vimshell#interactive#send(cmds)
+    else
+        echoerr 'try StartSBT'
+    endif
+endfunction
+
+function! s:vimrc_scala()
+    nnoremap <buffer> [Space]m :<C-u>write<Cr>:call <SID>sbt_run()<Cr>
+endfunction
+
+augroup vimrc_scala
+    autocmd!
+    au FileType scala call s:vimrc_scala()
+    au FileType scala nnoremap <buffer> [Space]st :<C-u>StartSBT<Cr>
+augroup END
+"}}}
+"===================================================================================}}}
+
+"{{{ ========== Temp Settings =========================================================
+
+
+"===================================================================================}}}
diff --git a/vim/vim_install.sh b/vim/vim_install.sh
new file mode 100755
index 0000000..9d5c2be
--- /dev/null
+++ b/vim/vim_install.sh
@@ -0,0 +1,19 @@
+# install git & wget
+brew install git
+brew install wget
+brew install sbt
+
+# install neobundle
+#git clone http://github.com/Shougo/neobundle.vim ~/.vim/neobundle.vim
+
+# download scala.dict
+wget https://raw.github.com/tyru/dotfiles/master/dotfiles/.vim/dict/scala.dict -P ~/.vim/dict/
+
+# install ctags
+brew install ctags
+wget https://gist.github.com/anonymous/967685/raw/48f19a19ffd292932a427ad17538258454251ef4/.ctags -O ~/.ctags
+
+# setting for :make
+wget https://raw.github.com/georgenano/vimrc/master/.vim/compiler/scalac.vim -P ~/.vim/compiler
+wget https://raw.github.com/georgenano/vimrc/master/.vim/compiler/sbt.vim -P ~/.vim/compiler
+
diff --git a/vimperator/.vimperatorrc b/vimperator/.vimperatorrc
new file mode 100755
index 0000000..3dd2e77
--- /dev/null
+++ b/vimperator/.vimperatorrc
@@ -0,0 +1,790 @@
+" vim: ft=vim
+
+" 読み込んだ事を出力
+echo ".vimperatorrc source start"
+
+" ブラウザタイトルの変更
+" Firefox デフォルトは 「Mozilla - Firefox」、vimperatorを入れると「vimperator」
+set titlestring="Mozilla Firefox"
+
+" 詳細表示レベル
+" →「:javascript! 」で表示される内容レベル
+set verbose=9
+"set messages=500
+
+" encode
+"set encoding=UTF-8
+
+"" GUIメニュー
+set gui=none
+set gui=tabs
+"set gui=addons
+
+" animations
+"set animations=true
+
+" スクロールの端などの際に出るbeepをoff
+"set visualbell
+"set nobeep
+
+" 補完動作設定
+"set wildoptions=auto
+
+" hintchars
+set hintchars=hjklasdfgyuiopqwertnmzxcvb
+
+" 選択文字列ののコピーを <C-c> に割り当て
+"map <C-c> :echo Yank!<CR>Y
+
+" for US KBD
+"noremap ; :
+"noremap : ;
+
+" j/k でのスクロール幅を 1行 から 5行 に変更
+"nnoremap j 5<C-e>
+"nnoremap k 5<C-y>
+"nnoremap j 8<Down>
+"nnoremap k 8<Up>
+
+" ブックマークとGoogle Suggest自動補完とURL補完
+set complete=tbsl
+
+" 検索での大文字小文字を無視
+set ignorecase
+set smartcase
+" Backspace に戻るを割り当て
+"nnoremap <BS> <A-Left>
+
+" h/l に戻るや進むを割り当て
+"map h <A-Left>
+"map l <A-Right>
+
+" H/L や ← → でタブ移動
+"nnoremap J gT
+"nnoremap K gt
+"nnoremap <C-j> gT
+"nnoremap <C-k> gt
+nnoremap <C-l> gt
+nnoremap <C-h> gT
+
+" タブを閉じたら左に
+nnoremap d D
+nnoremap D d
+
+" ウィンドウサイズ簡易変更
+nmap [WIN] <NOP>
+nnoremap <C-w> [WIN]
+noremap [WIN]s :js window.outerWidth=800; window.outerHeight=600;<CR>
+noremap [WIN]m :js window.outerWidth=1024; window.outerHeight=768;<CR>
+noremap [WIN]l :js window.outerWidth=1280; window.outerHeight=960;<CR>
+
+nnoremap w :winopen<Space>
+
+" encode
+nnoremap ee :setlocal encoding=EUC-JP<CR>
+nnoremap ej :setlocal encoding=ISO-2022-JP<CR>
+nnoremap es :setlocal encoding=Shift_JIS<CR>
+nnoremap eu :setlocal encoding=UTF-8<CR>
+
+nnoremap <S-u> :undo<space>
+
+set! browser.tabs.tabMinWidth=50
+set! browser.tabs.tabClipWidth=70
+
+"highlight! Bell display:none
+"highlight! Hint <<EOS
+    "color:black;
+    "font:normal bold normal 11px/11px monospace;
+    "text-transform: uppercase;
+    "letter-spacing:3px;
+    "background-color:gold;
+    "padding:2px;
+    "border:1px solid gray;
+    "z-index:4294967295 !important;
+"EOS
+"highlight! HintElem outline: dashed rgba(255,255,0,0.25) 3px;
+
+" HintでIME OFF
+style! -name=commandline-ime chrome://* #liberator-commandline-command input { ime-mode: inactive; }
+style! -name=textarea-ime * textarea,input { ime-mode: inactive; }
+style! -name=disabled_fxlinkpopup chrome://* #statusbar-display[type="overLink"] { display: none !important; }
+
+" Shift + ← → で現在のタブの位置変更
+"nnoremap <S-Right> :tabmove! +1<CR>
+"nnoremap <S-Left>  :tabmove! -1<CR>
+
+" テキストエリアにフォーカスしないように
+set focuscontent
+
+" 出力結果を新しいタブに開く
+set newtab=all
+
+" テキストエリアでもVim操作
+"set noinsertmode
+
+" <Leader>r で .vimperatorrc をリロード
+nnoremap <Leader>r :source ~/.vimperatorrc<CR>
+
+" Googleでサイト内検索 {{{
+" http://blog.feelmy.net/2012/12/22/useful-tips-for-vimperator/
+nnoremap ,/ :sitesearch<Space>
+
+javascript <<EOM
+commands.addUserCommand(
+  ['sitesearch'],
+  'Search in this site',
+  function (args) {
+    let url = window.content.location.hostname;
+    [
+      /d\.hatena\.ne\.jp/,
+      /www\d+\.atwiki\.jp/,
+    ].forEach(function(r){
+      url += r.test(url) ? '/' + window.content.location.pathname.split('/')[1] : '';
+    });
+    liberator.open(
+      'http://www.google.com/search?q=' +
+        encodeURIComponent(args.literalArg) +
+        '+site%3A' +
+        url,
+      liberator.NEW_TAB
+    );
+  },
+  {
+    completer: function (context) completion.url(context, 'S'),
+    literal: 0,
+  },
+  true
+);
+EOM
+"}}}
+
+" .r で firefox restart
+nnoremap .r :restart<CR>
+
+" URL デコードしないようにする
+"nnoremap <silent> y :<C-u>js util.copyToClipboard(buffer.URL)<CR>
+"nnoremap y :<C-u>js util.copyToClipboard(buffer.URL)<CR>
+" URIをpercent-encodeしてyank (via: http://vimperator.g.hatena.ne.jp/janus_wel/20101127/1290867337 )
+nnoremap <silent> y :javascript util.copyToClipboard(buffer.URL);<CR>:echo "Yanked " + util.readFromClipboard();<CR>
+
+" コマンドモードでの履歴たぐり
+cnoremap <C-p> <S-Tab>
+cnoremap <C-n> <Tab>
+cnoremap <C-b> <Left>
+cnoremap <C-f> <Right>
+cnoremap <C-k> <Up>
+cnoremap <C-l> <Down>
+
+" インサートモードでの下補完選択をC-n,C-pで
+inoremap <C-n> <Down>
+inoremap <C-p> <Up>
+inoremap <C-b> <Left>
+inoremap <C-f> <Right>
+
+" VISUAL MODEで選択文字列をグーグル検索
+vnoremap <silent> <C-g> y<Esc><Esc>P
+
+" コピーする
+"vnoremap y :<C-u>copy %SEL%<CR>
+
+" マウスカーソルを邪魔じゃないとこに飛ばす
+"nnoremap <A-z> :mouse move 1800 10000<CR>
+
+js<<EOM
+if (liberator.has("MacUnix")) {
+    // Mac 固有の処理
+    liberator.execute("set editor='/Users/yuki/bin/scripts/mvim -f'");
+    } else {
+    // その他の場合
+    liberator.execute("set editor='gvim -f'");
+    }
+EOM
+
+" カラースキーム {{{
+
+colorscheme theme
+"colorscheme persona
+"colorscheme tab-numbers
+
+"colorscheme fix-addon
+"colorscheme fix-sites
+colorscheme fix-firefox
+
+"" anekosさんのカラースキーマから変更点少し
+"hi Hint <<EOM
+  "font-size  : 1em;
+  "border     : black solid 1px;
+  "color      : white;
+  "background : red;
+  "opacity : 0.7;
+"EOM
+"" http://blog.ruedap.com/entry/20110327/vimperator3_hint_mode_alphabet_uppercase
+hi Hint z-index:5000; font-size:14px; color:white; background-color:red; border-color:ButtonShadow; border-width:0px; border-style:solid; padding:0px 2px 0px 2px; position:absolute; font-family: Menlo, Consolas, Monaco, monospace; text-transform: uppercase;
+"
+hi Normal <<EOM
+  color      : LightYellow;
+  background : #333;
+  font-size  : 12pt;
+  opacity : 0.9;
+EOM
+" }}}
+
+
+" {{{ quickmark
+qmark 2 http://is.2ch.net/
+qmark a https://affiliate.amazon.co.jp/gp/associates/network/main.html
+qmark b https://bitbucket.org/yuyunko
+qmark c https://www.google.com/calendar/render?hl=ja
+qmark d http://192.168.1.1/
+qmark e https://www.evernote.com/Home.action
+qmark f http://www.facebook.com/
+qmark g https://www.google.com/adsense/v3/app#home
+qmark h http://yuyunko.hatenablog.com/
+qmark j http://about.me/yuki_imakawa
+qmark k http://yuyunko.bitbucket.org/
+qmark l https://www.toggl.com/track
+qmark m http://mixi.jp/home.pl
+qmark n http://nitguitar.jimdo.com/
+qmark o http://yuyunko.github.com
+qmark p https://plus.google.com/
+qmark r http://cloud.feedly.com/
+qmark t https://mail.google.com/tasks/canvas
+qmark u http://uhloop.com/
+qmark v http://tv.yahoo.co.jp/listings/realtime/
+qmark w http://yuyumemi.dyndns.org/wordpress
+qmark y http://www.youtube.com/?gl=JP&hl=ja
+" }}}
+
+" {{{ firefox about:config
+" don't show download-manager
+set! browser.download.manager.showWhenStarting=false
+
+" フルスクリーンでもタブを隠さない
+"set! browser.fullscreen.autoHide=false
+
+" liberator.log
+set! extensions.liberator.loglevel=666
+
+" 拡張機能のバージョンチェックを回避
+set! extensions.checkCompatibility.18.0.2=false
+
+" キャッシュサイズ
+"set! browser.cache.memory.capacity=32768
+
+" タブバーを自動で隠さない
+"set! browser.tabs.autoHide=false
+
+" 起動時に前回のセッションを復元
+"set! browser.startup.page=3
+
+" Firefoxのタブを開く位置をデフォで現在のタブの右隣にする（※ gBrowser.addTabの改造）
+"" cf.http://d.hatena.ne.jp/wlt/20110112/1294859530
+"js <<EOM
+"gBrowser.addTab = liberator.eval(
+"    '(' +
+"    gBrowser.addTab.toSource()
+"            .replace(/var aRelatedToCurrent;/, 'var aRelatedToCurrent = true;')
+"            .replace(/aRelatedToCurrent = params\.relatedToCurrent;/, 'aRelatedToCurrent = params.relatedToCurrent === undefined ? true : params.relatedToCurrent;') +
+"    ')',
+"    gBrowser.addTab);
+"EOM
+"
+"
+" }}}
+
+" {{{ plugins
+" plugin_loader.js
+js <<EOM
+if (liberator.has("Win32")) {
+   liberator.execute('let g:plugin_loader_roots = "~/vimperator/vimperator-plugins/ ~/vimperator/377348/ ~/vimperator/caisui/plugin/"');
+} else {
+   liberator.execute('let g:plugin_loader_roots = "~/.vimperator/vimperator-plugins/ ~/.vimperator/377348/ ~/.vimperator/caisui/plugin/"');
+}
+EOM
+
+" 利用するプラグインたち
+"js <<EOF
+"liberator.globalVariables.plugin_loader_plugins = <>
+   "_libly
+   "_smooziee
+   "//account_switcher
+   "auto-focus-frame
+   "//auto_reload
+   "//auto_source
+   "//caret-hint
+   "commandBookmarklet
+   "copy
+   "//direct_bookmark
+   "//escape-from-iframe
+   "feedSomeKeys_3
+   "//feeder
+   "//ime_controller
+   "//maine_coon
+   "//menu-mode-sucks
+   "migemized_find
+   "//nextlink
+   "opener-ex
+   "//pluginManager
+   "stella
+   "//tab-history
+   "twittperator
+   "slideshare
+   "x-hint
+   "xpath_hint
+   "hints-ext
+   "//chaika
+"</>.toString().split(/\s+/).filter(function(n) n);
+"EOF
+let g:plugin_loader_plugins = "_libly,_smooziee,auto-focus-frame,commandBookmarklet,copy,feedSomeKeys_3,migemized_find,opener-ex,stella,twittperator,slideshare,x-hint,xpath-hint"
+
+" hints-ext
+let use_hints_ext_hinttags=1
+let use_hints_ext_extendedhinttags=1
+"hints.addSimpleMap("<C-l>", function () {this.relocation(); });
+let use_hintchars_ex=2
+let use_hints_ext_caret="c"
+let use_hints_ext_visual="v"
+
+" tab-history.js
+"nnoremap < :tabh back<CR>
+"nnoremap > :tabh forward<CR>
+
+" maine_coon.js
+"noremap <silent> ,f :fullscreen<CR>
+"let g:maine_coon_default = "amu"
+
+" _smooziee.js
+let g:smooziee_scroll_amount="150"
+let g:smooziee_scroll_interval="50"
+
+" account_switcher
+"js <<EOM
+"liberator.globalVariables.accountSwitcherLoginServices = [
+"    'yuyunko@hatena',
+"    'i.xxxxxxxxxxxxx.13@gmail.com@google',
+"    'Elfen_Lied@twitter',
+"];
+"EOM
+
+
+
+" for feedSomeKeys_3.js plugin {{{
+command! -nargs=+ auve autocmd VimperatorEnter .* <args>
+
+" for Amazon.co.jp (LDRize)
+"auve :fmaps -urls='www\.amazon\.co\.jp/(s|gp)/' j k l p v o
+
+" for Bing
+auve :fmaps -urls='www\.bing\.com/search' q,f j k l o p v
+
+" for Github
+auve :fmaps -urls='github\.com/' s ?
+auve :fmaps -urls='github\.com/[^/]+/[^/]+/network\b' <Left> <Right> <Up> <Down> <S-Left> <S-Right> <S-Up> <S-Down> t
+auve :fmaps -urls='github\.com/[^/]+/[^/]+/pulls\b' j k o <Enter>
+auve :fmaps -urls='github\.com/[^/]+/[^/]+/issues\b' j k x o <Enter> I U e y c l i u /
+auve :fmaps -urls='github\.com/[^/]+/[^/]+/commits/' j k c o <Enter> y
+
+" for Google (+ LDRize)
+"auve :fmaps -urls='www\.google\.(com|co\.jp)/(search|cse)' q,f j k p o v l
+"auve :fmaps -urls='google\.(com|co\.jp)/images' q,f j k p o v l
+"auve :fmaps -urls='www\.google\.(com|co\.jp)/codesearch' q,f j k p o v l
+"auve :fmaps -urls='blogsearch\.google\.(com|co\.jp)/blogsearch' q,f j k p o v l
+" for Gmail
+auve :fmaps -urls='mail\.google\.com/mail' c q,/ k j n p o <Enter> u e m x s + - ! r <S-r> a <S-a> <S-f>,f <Esc> <C-s> # l v <S-i> <S-u> [ ] z <S-n> y . <C-Down> <Tab> ? <Tab><Enter> yo ga gs gc gd gl gi gt *a *n *r *u *s *t <S-Space>
+" ↑ <S-f>, q は割り当てていない。 <Tab> は<C-Down>からの操作で使用。 <S-Space>はスクロールの為
+auve :fmapc 'mail\.google\.com/mail/#settings'
+nnoremap -urls=mail\.google\.com/mail <F3> n
+nnoremap -urls=mail\.google\.com/mail <S-F3> N
+
+" for Google Calendar
+auve :fmaps -urls='www\.google\.com/calendar/' -events=vkeydown <C-?> c / <C-z> z k p j n t 1 2 w 3 m 4 x 5 a q r s ?
+" ↑ d は割り当てていない。
+auve :fmaps -urls='www\.google\.com/calendar/' -events=vkeydown <Enter> <BS> <DEL> <TAB> <A-s> gy gn gm
+" for Google Group
+auve :fmaps -urls='groups\.google\.com/' gl gm gs o <Enter> j <S-j> k <S-k> n <S-n> p <S-p> u z,f h <S-a> a c s q,/ <Esc> ?
+
+" for Grooveshark
+auve :fmaps -urls='https?://grooveshark\.com/' <Space> <C-Left> <C-Right> <C-Up> <C-Down>
+
+" for livedoor Reader (+ ldr_relative_rate.user.js)
+auve :fmaps -urls='reader\.livedoor\.com/reader' j k s a p o v c <Space> <S-Space> z b < > <Del> q w
+
+" for Pixiv
+auve :fmaps -urls='www\.pixiv\.net/member_illust.php\?mode=manga' j k o z
+
+" for reblog machine
+auve :fmaps -urls='^http://reblog\.machine\.mamemomonga\.com/dashboard' j k t l
+
+" for Sprintpad
+auve fmaps -urls='springpadit\.com/' ? h gh gm gf nn nt nl <S-Tab> j k / c
+
+" for Tumblr
+auve :fmaps -urls='www\.tumblr\.com/dashboard' -events=vkeydown j k l n <S-t>,r t,<S-r> <S-e> <Space> <Left> <S-h>,<Left> <Right> <S-l>,<Right>
+
+" for Twitter
+auve :fmaps -urls='^https?://twitter\.com/' j k . ? q,/
+auve :fmaps -urls='^https?://twitter\.com/' -events=vkeyup <Enter> <Space>
+auve :fmaps -urls='^https?://twitter\.com/' -events=vkeydown a,f r t l m n gh gd gc gr gp gf gm gu ga gl gs
+
+" for remember the milk
+auve :fmaps -urls='^https?://www\.rememberthemilk\.com/home/\w+/' <C-S-6> <C-S-7> <C-S-8> <C-S-9> <C-S-0> <C-S-/> c p j k i z m +,t h r ^,d *,f g s l u p y a n 1 2 3 <Del>
+
+delcommand auve
+" }}}
+" feedSomeKeys_3.js
+command! -nargs=+ lazy autocmd VimperatorEnter .* <args>
+"lazy fmaps -u='mail\.google\.com/mail' -frame=4 -events=vkeydown,keypress,vkeyup j k
+"lazy fmaps -u='mail\.google\.com/mail' -frame=4 c n p o u x s r a ? gi gs gt gd ga gc gl I
+"lazy fmaps -u='mail\.google\.com/mail' -frame=4 -p=<Leader> d,# s,! e
+"lazy fmaps -u='mail\.google\.com/mail/.*/[0-9a-f]+$' -frame=4 c j,n k,p n,j p,k o u x s r a ? gi gs gt gd ga gc
+"lazy fmaps -u='mail\.google\.com/mail/.*/[0-9a-f]+$' -frame=4 -p=<Leader> d,# s,! e
+"lazy fmaps -u='mail\.google\.com/mail' c / j k n p o u e x s r a # [ ] ? gi gs gt gd ga gc
+"lazy fmaps -u='mail\.google\.com/mail/.*/[0-9a-f]+$' c / j,n k,p n,j p,k o u e x s r a # [ ] ? gi gs gt gd ga gc
+lazy fmaps -u='www\.google\.co\.jp/reader/.*' -events=vkeypress j,<Down> k,<Up> n p m s v A r S N P X O gh ga gs gt gu u / ?
+lazy fmaps -u='(fastladder|livedoor)\.com/reader' j k s a p o v c i,p <Space> <S-Space> z b < > q w e,g
+"lazy fmaps -u='https?://www\.rememberthemilk\.com/home/' j k m i c t ? d F,f G,g S,s L,l Y,y H,h M,m <Del> <C-S-Left> <C-S-Right>
+"lazy fmaps -u='http://code.google.com/p/vimperator-labs/issues/list' o j k
+"lazy fmaps -u='http://code.google.com/p/vimperator-labs/issues/detail' u
+"lazy fmaps -u='^http://twitter\.com/' j k ?
+"lazy fmaps -u='^http://twitter\.com/' -events=vkeydown n m t r gh gr gp gf gm
+"lazy fmaps -u='^https://twitter\.com/' j k ?
+"lazy fmaps -u='^https://twitter\.com/' -events=vkeydown n m t r gh gr gp gf gm
+" feedly
+"lazy fmaps -u='cloud\.feedly\.com' g h m a e t c d p l s n b n p o v V m s S D e t d c / r ? 1 2 3 4 5 6 7 8 9 <Enter>
+" C-nで下，C-pで上，補完
+lazy fmap -modes=i -events=keydown,keypress <C-p> <Up>
+lazy fmap -modes=i -events=keydown,keypress <C-n> <Down>
+
+" direct_bookmark
+"let g:direct_sbm_use_services_by_tag = "hgp"
+"let g:direct_sbm_use_services_by_post = "hgp"
+"let g:direct_sbm_echo_type = "multiline"
+
+" google plus commado
+"let g:gplus_commando_map_next            = "j"
+"let g:gplus_commando_map_prev            = "k"
+"let g:gplus_commando_map_share           = "s"
+"let g:gplus_commando_map_plusone         = "p"
+"let g:gplus_commando_map_comment         = "c"
+"let g:gplus_commando_map_post            = "C"
+"let g:gplus_commando_map_yank            = "y"
+"let g:gplus_commando_map_notification    = "n"
+"let g:gplus_commando_map_submit          = "<S-CR>"
+"let g:gplus_commando_map_cancel          = "<Esc>"
+"let g:gplus_commando_map_unfold          = "e"
+"let g:gplus_commando_map_menu            = "m"
+"nnoremap gs :<C-u>gp -setup<CR>
+"nnoremap gp :<C-u>gp<Space>
+"nnoremap gl :<C-u>gp -link<Space>
+
+" for slideshare.js
+nnoremap -urls=^http://www\.slideshare\.net/ <S-J> :slideshare next<CR>
+nnoremap -urls=^http://www\.slideshare\.net/ <S-K> :slideshare prev<CR>
+
+" for xpath_hint.js
+let g:xpath_hint_map = 'X'
+
+"" copy.js
+"javascript <<EOM
+"liberator.globalVariables.copy_templates = [
+"{ label: 'titleAndURL',    value: '%TITLE%\n%URL%', map: ',y' },
+"{ label: 'title',          value: '%TITLE%', map: '.y' },
+"{ label: 'anchor',         value: '<a href="%URL%">%TITLE%</a>' },
+"{ label: 'selanchor',      value: '<a href="%URL%" title="%TITLE%">%SEL%</a>' },
+"{ label: 'htmlblockquote', value: '<blockquote cite="%URL%" title="%TITLE%">%HTMLSEL%</blockquote>' },
+"{ label: 'ASIN',   value: 'copy ASIN code from Amazon', custom: function(){return content.document.getElementById('ASIN').value;} },
+"];
+"EOM
+
+" for copy.js {{{
+js <<EOM
+    // util functions {{{
+    function getDocTitle() { return buffer.title; }
+    function getDocUrl() { return buffer.URL; }
+    function getDocSelection() {
+        var selection = content.window.getSelection();
+        var res = '';
+        for(var i = 0; i < selection.rangeCount; ++i) {
+            res += selection.getRangeAt(i).toString();
+        }
+        return res;
+    }
+    function getDocSelectionHtml() {
+        var selection = content.window.getSelection();
+        var res = '';
+        var serializer = new XMLSerializer();
+        var hasInlines = false;
+        for(var i = 0; i < selection.rangeCount; ++i) {
+            var contents = selection.getRangeAt(i).cloneContents();
+            Array.prototype.forEach.call(contents.childNodes, function(node) {
+                switch(node.nodeType) {
+                case Node.ELEMENT_NODE:
+                    var displayStyle = node.style.display;
+                    hasInlines &= (displayStyle != 'block');
+
+                    // Delete INTERRUPTION attributes.
+                    node.removeAttribute('class');
+                    node.removeAttribute('id');
+                    node.removeAttribute('target');
+                    //node.removeAttribute('name');
+                    node.removeAttribute('style');
+                    node.removeAttribute('tabstop');
+                    break;
+                case Node.TEXT_NODE:
+                    hasInlines &= 0;
+                    break;
+                }
+            });
+            res += serializer.serializeToString(contents);
+        }
+        return res
+            .replace(/<(\/)?(\w+)([\s\S]*?)>/g, function(all, close, tag, attr) {
+                return "<" + close + tag.toLowerCase() + attr + ">";
+                })
+            // Delete a INTERRUPTION XML-namespace attribute.
+            // XML-namespace attribute can not remove by DOM method (maybe, I not know).
+            .replace(/(?!<\w+(\s*[^= ]+="[^"]*")*)\s+xmlns="[^"]*"/, '');
+    }
+    function escape4Html(str) {
+        // SPACE character convert to "m"-width space,
+        // because "&nbsp;" meaning "Non-Breaking".
+        // I not want to inhibit breaking.
+        return str
+            .replace('&','&amp;')
+            .replace('<','&lt;')
+            .replace('>','&gt;')
+            .replace('  ', '&emsp;&emsp;'); // [FIXME] Ignore ONE space.
+        // Ah... Are their enough escape handling?
+    }
+    // }}}
+
+    liberator.globalVariables.copy_templates = [
+        // HTML/XHTML
+        { label: 'title',       value: '%TITLE%' },
+        { label: 'url',         value: '%URL%' },
+        { label: 'tu',          value: '%TITLE% %URL%' },
+        { label: 'anchor',      value: '<a href="%URL%">%TITLE%</a>',
+            custom: function() {
+                return '<a href="' + getDocUrl() + '">'
+                    + escape4Html(getDocTitle()) + '</a>';
+            }
+        },
+        { label: 'selanchor',   value: '<a href="%URL%" title="%TITLE%">%SEL%</a>',
+            custom: function() {
+                return '<a href="' + getDocUrl()
+                    + '" title="' + escape4Html(getDocTitle()) + '">'
+                    + escape4Html(getDocSelection()) + '</a>';
+            }
+        },
+        { label: 'bq',          value: '<blockquote cite="%URL%" title="%TITLE%">%HTMLSEL%</blockquote>',
+            custom: function() {
+                /* [FIXME]
+                 * If getDocSelectionHtml() returned value has inline-elements at the outermost, must rapped block-element.
+                 * If inlines & blocks mixed, rapped <div>, else if inlines only, rapped <p>.
+                 */
+                return '<blockquote cite="' + getDocUrl()
+                    + '" title="' + getDocTitle() + '">'
+                    + getDocSelectionHtml() + '</blockquote>';
+            }
+        },
+        { label: 'bq1',         value: '<blockquote> with <a>.',
+            custom: function() {
+                return plugins.exCopy.get('bp').custom()
+                    + '\n<p>以上、<cite>'
+                    + plugins.exCopy.get('anchor').custom()
+                    + '</cite>より。</p>';
+            }
+        },
+        { label: 'q',           value: '<q cite="%URL%" title="%TITLE%">%HTMLSEL%</q>',
+            custom: function() {
+                return '<q cite="' + getDocUrl()
+                    + '" title="' + getDocTitle() + '">'
+                    + escape4Html(getDocSelection()) + '</q>';
+            }
+        },
+
+        // Markdown
+        { label: 'mdanchor',    value: '[%TITLE%](%URL%)' },
+        { label: 'mdselanchor', value: '[%SEL%](%URL% %TITLE%)' },
+        { label: 'mkbq',        value: 'Markdown style QUOTE',
+            custom: function() {
+                return getDocSelection().split("\n").map(function(line) {
+                    return '> ' + line;
+                }).join("\n");
+            }
+        },
+
+        // reST
+        { label: 'rest', value: 'reST style',
+            custom: function() {
+                return '`' + getDocTitle() + ' <' +
+                    getDocUrl() + '>`_'
+            }
+        },
+
+        // Textile
+        { label: 'tanchor',     value: '"%TITLE%":%URL%' },
+        { label: 'tbq',         value: 'Textile style QUOTE',
+            custom: function() {
+                const mark = "bq. ";
+                const space = (function() {
+                    var res = "", len = mark.length, i;
+                    for(i = 0; i < len; ++i) { res += " "; }
+                })();
+                var lines = getDocSelection().split("\n"), i;
+                lines[0] = mark + lines[0];
+                for(i = 1; i < lines.length; ++i) {
+                    lines[i] = space + lines[i];
+                }
+                return lines.join("\n");
+            }
+        },
+
+        // Hatena
+        { label: 'hanchor',     value: '[%URL%:title=]' },
+        { label: 'hselanchor',  value: '[%URL%:title=%SEL%]' },
+        { label: 'hbq',         value: '>>\n%SEL%\n<<' },
+        { label: 'hbq1',        value: '>>\n%SEL%\n<<\n[%URL%:title=]' },
+
+        // tinyurl
+        { label: 'tinyurl',     value: 'Get Tiny URL',
+            custom: function() {
+                return util.httpGet('http://tinyurl.com/api-create.php?url=' + encodeURIComponent(buffer.URL))
+                    .responseText;
+            }
+        },
+
+        // 自blog用Twitterログ記述HTML
+        // <table class="twitter-log"> ～ </table>で囲む事
+        // using Twitter Images ( http://twitterimag.es )
+        { label: 'twlog',       value: 'Twitter log',
+            custom: function() {
+                if(buffer.URL.search(/^https?:\/\/twitter\.com\//) == -1) {
+                    liberator.echoerr('This site is not Twitter.');
+                    return;
+                }
+                const tweetId = buffer.URL.match(/status\/(\d+)/)[1];
+                return io.system('ruby ~/gettweet.rb ' + tweetId);
+            }
+        },
+
+        // NeoBundle.vim syntax
+        { label: 'neobunble',      value: "NeoBundle '%TITLE%'",
+            custom: function() {
+                if(!getDocUrl().match('^https?://github\.com/')) {
+                    throw "This page is not GitHub!!!";
+                }
+                return getDocTitle();
+            }
+        },
+    ];
+EOM
+nnoremap C :copy<space>
+vnoremap C :copy<space>
+" }}}
+
+" nextlink.js
+"let g:nextlink_followlink = "true"
+"let g:nextlink_nositeinfo_act = "f"
+
+
+" asdfghkl.js
+"let g:asdfghjkl_default = "true"
+
+" ime_controller.js
+"let g:hint_ime_mode = "inactive"
+"let g:ex_ime_mode = "inactive"
+"let g:textarea_ime_mode = "inactive"
+"
+" stella.js
+js <<EOM
+function addLocalMappings(buffer, maps) {
+  maps.forEach(
+    function (map) {
+      let [cmd, action, extra] = map;
+      let actionFunc = action;
+      extra || (extra = {});
+
+      if (typeof action == "string") {
+        if (action.charAt(0) == ':')
+          actionFunc = extra.open ? function () commandline.open("", action, modes.EX)
+                                  : function () liberator.execute(action);
+        else
+          actionFunc = function () events.feedkeys(action, extra.noremap, true);
+      }
+      extra.matchingUrls = buffer;
+      mappings.addUserMap(
+        [modes.NORMAL],
+        [cmd],
+        "Local mapping for " + buffer,
+        actionFunc,
+        extra
+      );
+    }
+  );
+}
+addLocalMappings(
+  /^(http:\/\/(es|www).nicovideo.jp\/(watch|playlist\/mylist)|http:\/\/(jp|www)\.youtube\.com\/watch|http:\/\/(www\.)?vimeo\.com\/(channels\/(hd)?#)?\d+)/,
+  [
+    ['<C-g>', ':pageinfo S',      ],
+    ['p',     ':stplay',          ],
+    ['m',     ':stmute',          ],
+    [',c',    ':stcomment',       ],
+    ['zz',    ':stlarge',         ],
+    ['r',     ':strepeat',        ],
+    ['+',     ':stvolume! 10',    ],
+    ['-',     ':stvolume! -10',   ],
+    ['<',     ':stseek! -10',     ],
+    ['>',     ':stseek! 10',      ],
+    ['v',     ':stvolume ',       {open: true}],
+    ['V',     ':stvolume! ',      {open: true}],
+    ['o',     ':strelations ',    {open: true}],
+    ['O',     ':strelations! ',   {open: true}],
+  ]
+);
+EOM
+
+
+" twittperator.js
+nmap ,tp :<C-u>tw<Space>
+nmap ,tt :<C-u>tw!<CR>
+nmap ,t@ :<C-u>tw!@<CR>
+nmap ,tu :<C-u>twuri<CR><C-a><Right><Right><Right>
+js <<EOM
+userContext.ggl = function getGoogleShortenURL (url, callback) {
+  let uri = "https://www.googleapis.com/urlshortener/v1/url";
+  let xhr = new XMLHttpRequest();
+  xhr.open("POST", uri, !!callback);
+  if (callback) {
+    xhr.onreadystatechange = function () {
+      if (xhr.readyState == 4 && xhr.status == 200) {
+        callback(JSON.parse(xhr.responseText));
+      }
+    }
+  }
+  xhr.setRequestHeader("Content-Type", "application/json");
+  xhr.send(JSON.stringify({ longUrl: url || buffer.URL }));
+  if (!callback) {
+    return JSON.parse(xhr.responseText).id;
+  }
+};
+EOM
+cabbrev -javascript ggl userContenxt.ggl(buffer.URI)
+
+
+
+js <<EOM
+commands.addUserCommand(
+["twuri"],
+"Twittperator tweet with URI",
+function(){
+   let uri = 'https://www.googleapis.com/urlshortener/v1/url';
+   let xhr = new XMLHttpRequest();
+   xhr.open("POST", uri, false);
+   xhr.setRequestHeader("Content-Type", "application/json");
+   xhr.send(JSON.stringify({ longUrl: buffer.URI }));
+   let result = JSON.parse(xhr.responseText).id;
+   commandline.open(":",["tw"," /",buffer.title,result].join(" "),modes.EX);
+   }
+   );
+EOM
diff --git a/win/AutoHotkey/AutoHotkey.ahk b/win/AutoHotkey/AutoHotkey.ahk
new file mode 100755
index 0000000..6d9b312
--- /dev/null
+++ b/win/AutoHotkey/AutoHotkey.ahk
@@ -0,0 +1,72 @@
+; IMPORTANT INFO ABOUT GETTING STARTED: Lines that start with a
+; semicolon, such as this one, are comments.  They are not executed.
+
+; This script has a special filename and path because it is automatically
+; launched when you run the program directly.  Also, any text file whose
+; name ends in .ahk is associated with the program, which means that it
+; can be launched simply by double-clicking it.  You can have as many .ahk
+; files as you want, located in any folder.  You can also run more than
+; one .ahk file simultaneously and each will get its own tray icon.
+
+; SAMPLE HOTKEYS: Below are two sample hotkeys.  The first is Win+Z and it
+; launches a web site in the default browser.  The second is Control+Alt+N
+; and it launches a new Notepad window (or activates an existing one).  To
+; try out these hotkeys, run AutoHotkey again, which will load this file.
+
+#z::Run www.autohotkey.com
+
+^!n::
+IfWinExist Untitled - Notepad
+  WinActivate
+else
+  Run Notepad
+return
+
+
+; Note: From now on whenever you run AutoHotkey directly, this script
+; will be loaded.  So feel free to customize it to suit your needs.
+
+; Please read the QUICK-START TUTORIAL near the top of the help file.
+; It explains how to perform common automation tasks such as sending
+; keystrokes and mouse clicks.  It also explains more about hotkeys.
+
+; for gvim
+F10::
+Process,Exist,gvim.exe
+If ErrorLevel <> 0
+  WinActivate, ahk_pid %ErrorLevel%
+else
+  Run, C:\Applications\vim\gvim.exe
+return
+
+; for mintty
+F12::
+Process,Exist,mintty.exe
+If ErrorLevel <> 0
+  WinActivate, ahk_pid %ErrorLevel%
+else
+  Run, C:\cygwin\bin\mintty.exe /bin/zsh, C:\cygwin\home\1134250023130
+return
+
+; for cfiler
+F11::
+Process,Exist,cfiler.exe
+If ErrorLevel <> 0
+  WinActivate, ahk_pid %ErrorLevel%
+else
+  Run, C:\Applications\cfiler\cfiler.exe
+return
+
+;for afxw
+;F11::
+;Process,Exist,AFXW.EXE
+;If ErrorLevel <> 0
+  ;WinActivate, ahk_pid %ErrorLevel%
+;else
+  ;Run, C:\Applications\afxw\AFXW.EXE
+;return
+
+; for rapture
+;F9::
+Run, C:\Applications\rapture\rapture.exe
+return
diff --git a/win/CraftFiler/cfiler.ini b/win/CraftFiler/cfiler.ini
new file mode 100755
index 0000000..6051d3b
--- /dev/null
+++ b/win/CraftFiler/cfiler.ini
@@ -0,0 +1,361 @@
+[GLOBAL]
+version = 2.40
+
+[GEOMETRY]
+x = -518
+y = 192
+width = 66
+height = 31
+log_window_height = 10
+left_window_width = 126
+
+[FONT]
+name =
+size = 12
+
+[THEME]
+name = black
+
+[WALLPAPER]
+visible = 0
+strength = 30
+filename =
+
+[HOTKEY]
+activate_vk = 122
+activate_mod = 0
+
+[LEFTPANE]
+history_0 = C:\Documents and Settings\1134250023130\My Documents\Downloads
+history_1 = C:\Documents and Settings\1134250023130\Application Data\CraftLaunch
+history_2 = C:\Documents and Settings\1134250023130\My Documents\Downloads\clnch
+history_3 = C:\Documents and Settings\1134250023130\Application Data
+history_4 = C:\Archives\JA岐阜\20130829_01_CGMT入出力処理
+history_5 = C:\Archives
+history_6 = C:\tmp
+history_7 = D:\backup
+history_8 = D:\
+history_9 = \\ogaki-sv4\プロジェクト\センタファイル\全般\月間作業予定
+history_10 = \\ogaki-sv4\プロジェクト\センタファイル\全般
+history_11 = \\ogaki-sv4\プロジェクト
+history_12 = C:\Documents and Settings\1134250023130
+history_13 = C:\Documents and Settings\1134250023130\pip
+history_14 = C:\Documents and Settings
+history_15 = C:\Documents and Settings\1134250023130\.bundle
+history_16 = C:\Documents and Settings\1134250023130\.bundle\vimproc
+history_17 = C:\Documents and Settings\1134250023130\.bundle\vimproc\autoload
+history_18 = C:\Documents and Settings\1134250023130\Application Data\CraftFiler
+history_19 = C:\Documents and Settings\1134250023130\Local Settings
+history_20 = C:\Documents and Settings\1134250023130\Local Settings\Application Data
+history_21 = C:\Documents and Settings\1134250023130\My Documents
+history_22 = \\10.72.83.1\h$
+history_23 = A:\
+history_24 = A:\20130911
+history_25 = A:\20130911\20130822 ファイル定義
+history_26 = \\10.72.83.1\h$\28_大垣取引履歴（機能改善）\40_計(計画)
+history_27 = \\10.72.83.1\h$\28_大垣取引履歴（機能改善）
+history_28 = C:\Documents and Settings\1134250023130\.sign
+history_29 = C:\Documents and Settings\1134250023130\.vim_junk
+history_30 = C:\Documents and Settings\1134250023130\.config
+history_31 = C:\Documents and Settings\1134250023130\.cache
+history_32 = C:\Documents and Settings\1134250023130\VirtualBox VMs
+history_33 = C:\Documents and Settings\1134250023130\vimperator
+history_34 = C:\Documents and Settings\1134250023130\vimperator\plugin
+history_35 = C:\Documents and Settings\1134250023130\vimperator\info
+history_36 = C:\Documents and Settings\1134250023130\howm
+history_37 = C:\Documents and Settings\1134250023130\Dropbox
+history_38 = C:\Documents and Settings\1134250023130\Dropbox\vimperator
+history_39 = C:\Documents and Settings\1134250023130\Dropbox\vimperator\377348
+history_40 = C:\Documents and Settings\1134250023130\Dropbox\log
+history_41 = C:\Documents and Settings\1134250023130\dir
+history_42 = C:\Documents and Settings\1134250023130\C
+history_43 = C:\Documents and Settings\1134250023130\.vim
+history_44 = C:\Documents and Settings\1134250023130\.vim\dict
+history_45 = C:\Documents and Settings\1134250023130\.vim\compiler
+history_46 = C:\Documents and Settings\1134250023130\.vim\colors
+history_47 = C:\Documents and Settings\1134250023130\.vim\bundle
+history_48 = C:\Documents and Settings\1134250023130\.vim\bundle\vim-snippets
+history_49 = C:\Documents and Settings\1134250023130\.vim\bundle\vim-snippets\snippets
+history_50 = C:\Documents and Settings\1134250023130\.vim\back
+history_51 = C:\work\bat
+history_52 = C:\work\bat\lnk
+history_53 = \\abkfs06.nsl.ad.nec.co.jp\a01763-01\310_大垣共立銀行ＰＪ\011_共有資料\行動予定
+history_54 = \\abkfs06.nsl.ad.nec.co.jp\a01763-01\310_大垣共立銀行ＰＪ\011_共有資料
+history_55 = \\abkfs06.nsl.ad.nec.co.jp\a01763-01\310_大垣共立銀行ＰＪ
+history_56 = \\ogaki-sv4\サブシステム\投信ＷＥＢ
+history_57 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\システム変更
+history_58 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\システム変更\201302ウェルカムページポップアップ削除
+history_59 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\システム変更\201302ウェルカムページポップアップ削除\評価項目表兼報告書
+history_60 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\システム変更\201302ウェルカムページポップアップ削除\出荷判定用資料
+history_61 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\システム変更\2012注文データ連携
+history_62 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\システム構成
+history_63 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\ツール
+history_64 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\マニュアル
+history_65 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物
+history_66 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\システム基本設計書運用設計書
+history_67 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\テスト計画
+history_68 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\テスト計画\基盤障害試験
+history_69 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\テスト計画\システム疎通確認試験
+history_70 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\デモ画面
+history_71 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\レビュー記録票
+history_72 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\機器構成
+history_73 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\要件定義書
+history_74 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\要件定義書\システム要件
+history_75 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\要件定義書\バッチジョブ一覧
+history_76 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\要件定義書\ファイル転送要件定義書
+history_77 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\要件定義書\仕様追加依頼
+history_78 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\要件定義書\大垣投信要件定義書1.2版
+history_79 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\要件定義書\管理者処理フロー_提出版20061110
+history_80 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\要件定義書\運用要件
+history_81 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\設計書表紙（サンプル）
+history_82 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\運用手順書
+history_83 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\成果物\障害復旧手順書
+history_84 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\本番移行
+history_85 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\本番ﾘﾘｰｽ作業
+history_86 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\開発環境
+history_87 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\検討資料
+history_88 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\構成管理
+history_89 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\構成管理\本番環境
+history_90 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\構成管理\本番環境\各種設定情報
+history_91 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\構成管理\本番環境\各種設定情報\20070319
+history_92 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\環境構築
+history_93 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\検討資料\監視
+history_94 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\検討資料\バックアップ＆ログ保存
+history_95 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\検討資料\NW関連
+history_96 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\本番移行\投信Web本番移行作業手順0315
+history_97 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\本番移行\事前準備作業手順メモ
+history_98 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\本番情報採取
+
+[RIGHTPANE]
+history_0 = C:\work\clnch3_extensions
+history_1 = C:\work
+history_2 = C:\Applications\clnch
+history_3 = C:\Applications
+history_4 = C:\Documents and Settings\1134250023130\My Documents\Downloads
+history_5 = C:\Applications\ProcessExplorer
+history_6 = C:\Applications\clnch\dict
+history_7 = C:\work\bat
+history_8 = C:\Applications\cfiler
+history_9 = C:\
+history_10 = C:\Archives
+history_11 = C:\Archives\投信Web
+history_12 = C:\Archives\投信Web\20130911_01_丸田様より
+history_13 = C:\Archives\投信Web\20130911_01_丸田様より\20130911
+history_14 = C:\Archives\投信Web\20130911_01_丸田様より\20130911\20130822 ファイル定義
+history_15 = C:\cygwin\home\1134250023130\dotfiles\vim\.vim
+history_16 = C:\cygwin\home\1134250023130\dotfiles\vim
+history_17 = C:\cygwin\home\1134250023130\dotfiles
+history_18 = C:\cygwin\home\1134250023130\dotfiles\win
+history_19 = C:\cygwin\home\1134250023130\dotfiles\win\CraftLaunch
+history_20 = C:\cygwin\home\1134250023130\dotfiles\win\CraftFiler
+history_21 = C:\cygwin\home\1134250023130\dotfiles\win\AutoHotkey
+history_22 = C:\work\java
+history_23 = C:\work\hta
+history_24 = C:\work\doc
+history_25 = C:\work\cron
+history_26 = C:\work\coffeescripts
+history_27 = C:\work\coffeescripts\hta
+history_28 = C:\work\bat\VIMFILES
+history_29 = C:\work\bat\VIMFILES\.vim
+history_30 = C:\work\bat\mco
+history_31 = C:\work\bat\lnk
+history_32 = C:\work\bat\getThreadDump
+history_33 = C:\Archives\取引履歴\20130905_01_2013年度案件改善WBS
+history_34 = C:\Archives\取引履歴
+history_35 = \\ogaki-sv4\プロジェクト
+history_36 = \\ogaki-sv4\プロジェクト\行動予定
+history_37 = \\ogaki-sv4\プロジェクト\行動予定\共有
+history_38 = \\ogaki-sv4\プロジェクト\行動予定\共有\old
+history_39 = \\ogaki-sv4\プロジェクト\行動予定\共有\Jsm_Back
+history_40 = \\ogaki-sv4\プロジェクト\行動予定\ショートカット
+history_41 = \\ogaki-sv4\プロジェクト\行動予定\G-KIND更改
+history_42 = \\ogaki-sv4\プロジェクト\行動予定\G-契約管理
+history_43 = \\ogaki-sv4\プロジェクト\行動予定\G-IPX9000構築
+history_44 = \\ogaki-sv4\プロジェクト\行動予定\G-自動機監視
+history_45 = \\ogaki-sv4\プロジェクト\行動予定\Jsm_Back
+history_46 = \\ogaki-sv4\プロジェクト\行動予定\G-データ連携
+history_47 = \\ogaki-sv4\プロジェクト\センタファイル
+history_48 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\Xmlfiles
+history_49 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles
+history_50 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\TR60000
+history_51 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\TR60000\CreatePrint
+history_52 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\TR60000\CreatePrint\ToriKokusai
+history_53 = \\abkfs06.nsl.ad.nec.co.jp\a01763-01\310_大垣共立銀行ＰＪ
+history_54 = \\abkfs06.nsl.ad.nec.co.jp\a01763-01\310_大垣共立銀行ＰＪ\101_契約管理
+history_55 = \\abkfs06.nsl.ad.nec.co.jp\a01763-01\310_大垣共立銀行ＰＪ\101_契約管理\20130821_1H_No.159調査
+history_56 = \\abkfs06.nsl.ad.nec.co.jp\a01763-01\310_大垣共立銀行ＰＪ\101_契約管理\20130613_1_G617企業情報ファイル作成
+history_57 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\BAT\JobCenter
+history_58 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\BAT
+history_59 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\BAT\IKO
+history_60 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\BAT\CheckMatsu
+history_61 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\BAT\Check
+history_62 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\WEB_PG
+history_63 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\WEB_PG\TR70000
+history_64 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\WEB_PG\TR70000\TR7000
+history_65 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\55_製造・構築\TRFiles\WEB_PG\TR70000\TR7000\App_Code
+history_66 = \\10.72.83.1\h$\28_大垣取引履歴（機能改善）\11_議内(議事録内部)\20130724_1_KCSと打合せ
+history_67 = \\10.72.83.1\h$\28_大垣取引履歴（機能改善）\11_議内(議事録内部)
+history_68 = \\10.72.83.1\h$\28_大垣取引履歴（機能改善）
+history_69 = \\10.72.83.1\h$
+history_70 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴
+history_71 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\41_進（進捗）
+history_72 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\50_概（概要設計）
+history_73 = \\ogaki-sv4\プロジェクト\行動予定\G-プロジェクト管理
+history_74 = \\ogaki-sv4\プロジェクト\行動予定\G-データ連携\Jsm_Back
+history_75 = C:\Archives\取引履歴\20130909_1H_本番調査
+history_76 = D:\Archives\取引履歴\20121009_1H_取引履歴フェールオーバー\log\oetrkap1sv2\command
+history_77 = D:\Archives\取引履歴\20121009_1H_取引履歴フェールオーバー\log\oetrkap1sv2
+history_78 = D:\Archives\取引履歴\20121009_1H_取引履歴フェールオーバー\log\oetrkap1sv2\alert
+history_79 = D:\Archives\取引履歴\20121009_1H_取引履歴フェールオーバー\log
+history_80 = D:\Archives\取引履歴\20121009_1H_取引履歴フェールオーバー\log\oetrkap1sv1
+history_81 = D:\Archives\取引履歴\20121009_1H_取引履歴フェールオーバー\log\oetrkap1sv1\command
+history_82 = C:\Archives\PP\StarOfficeX\manual\インターネットメールスイッチ for LGWAN 構築ガイド\構築ガイド_20090705
+history_83 = C:\Archives\PP\StarOfficeX\manual\インターネットメールスイッチ for LGWAN 構築ガイド
+history_84 = C:\Archives\PP\StarOfficeX\manual
+history_85 = C:\Archives\PP\StarOfficeX
+history_86 = C:\Archives\PP
+history_87 = C:\Archives\PP\StarOffice21
+history_88 = C:\Archives\JA岐阜
+history_89 = C:\Archives\JA岐阜\20130829_01_CGMT入出力処理
+history_90 = \\ogaki-sv4\プロジェクト\センタファイル\取引履歴\20130426_IE9対応評価結果
+history_91 = \\ogaki-sv4\プロジェクト\センタファイル\取引履歴\20130426_IE9対応評価結果\大橋様提出画面
+history_92 = \\ogaki-sv4\プロジェクト\センタファイル\取引履歴
+history_93 = \\ogaki-sv4\プロジェクト\センタファイル\取引履歴\20130402_IE9影響調査結果
+history_94 = C:\work\xls
+history_95 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\51_詳（詳細設計）
+history_96 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\40_計（計画）
+history_97 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\10_議（議事録）
+history_98 = D:\ProgramData\OKB-PJ\Trac\OKB
+
+[IMAGEVIEWER]
+zoom_policy = fit
+
+[PATTERN]
+history_0 = *常駐*
+history_1 = 常駐
+history_2 = *取引履歴*
+history_3 = *.txt
+
+[SEARCH]
+history_0 = *.icf
+history_1 = TR3
+history_2 = ticket.html
+history_3 = ticket
+history_4 = ネットワーク
+history_5 = 全銀
+history_6 = 背
+history_7 = 背表紙
+history_8 = TR70000
+history_9 = 金融G標準
+
+[GREP]
+pattern =
+recursive = 1
+regexp = 0
+ignorecase = 1
+history_0 = BSC
+history_1 = echo
+history_2 = fq
+history_3 = 10251
+history_4 = tr20020
+history_5 = net
+history_6 = SMF
+history_7 = ボリューム
+history_8 = ジャーナルファイル
+
+[BATCHRENAME]
+old = .doc
+new =
+regexp = 0
+ignorecase = 1
+
+[BOOKMARK]
+bookmark_0 = C:\Archives\JA岐阜\20130829_01_CGMT入出力処理\CGMT入出力処理.xls
+bookmark_1 = \\ogaki-sv4\プロジェクト\センタファイル\全般\月間作業予定
+bookmark_2 = \\10.72.83.1\h$\28_大垣取引履歴（機能改善）\40_計(計画)\OKB-取引履歴-計-WBS_2013年度改善_20130911_01.xls
+bookmark_3 = D:\ProgramData\OKB-PJ\Trac\OKB\取引履歴\50_概（概要設計）\OKB-取引履歴-概-13001-基本設計（2013年度改善対応分）.xls
+bookmark_4 = C:\work\xls\ESS\201309_ESS.xls
+bookmark_5 = \\conta01.nsl.ad.nec.co.jp\ca00047\KIND\99_その他\FlowLites_帳票追加(2013年度)\FlowLites_QA.xls
+bookmark_6 = \\ogaki-sv4\プロジェクト\センタファイル\契約管理\障
+bookmark_7 = \\ogaki-sv4\プロジェクト\センタファイル\全般\出荷管理\リリース判定指摘台帳.xls
+bookmark_8 = D:\Archives\新人事給与\20130312_1H_本番機設定いろいろ\20130312\ap01\ebs\prod\ap\inst\apps\hr0_jinjap01\ora\10.1.3\Apache\Apache\conf\custom.conf
+bookmark_9 = \\ogaki-sv4\サブシステム\投信ＷＥＢ\稼動統計情報採取
+bookmark_10 = \\Ogaki-sv\共有ファイル\common\障害定例
+bookmark_11 = \\Ogaki-sv\共有ファイル\common\月間作業報告
+bookmark_12 = \\ogaki-sv4\プロジェクト\センタファイル\データ連携\詳\データ連携-詳-13001-01-取引記録データ連携抽出変換チェック機能設計書.xls
+bookmark_13 = \\ogaki-sv4\プロジェクト\センタファイル\全般\採番簿（全般）.xls
+bookmark_14 = \\ogaki-sv4\プロジェクト\センタファイル\iPX9000\実装設計\IPX9000ｺﾝｿｰﾙﾒｯｾｰｼﾞ
+bookmark_15 = \\ogaki-sv4\プロジェクト\センタファイル\対外\本番稼動後
+bookmark_16 = C:\Archives\PP\FlowLites\manual
+bookmark_17 = \\ogaki-sv4\プロジェクト\センタファイル\データ連携\テ\結合テスト仕様書\結合テスト仕様書兼結果報告書（取引記録データ連携抽出変換チェック）.xls
+bookmark_18 = C:\Program Files\vim
+bookmark_19 = C:\Documents and Settings\1134250023130
+bookmark_20 = C:\cygwin\home\1134250023130\dotfiles
+bookmark_21 = \\192.168.1.234\TracLight\projects\trac\OKB\conf\trac.ini
+bookmark_22 = C:\Documents and Settings\1134250023130\スタート メニュー\プログラム\スタートアップ
+bookmark_23 = D:\backup
+bookmark_24 = \\ogaki-sv4\プロジェクト\センタファイル\全般\法定点検
+bookmark_25 = \\ogaki-sv4\プロジェクト\backup\TracLight
+bookmark_26 = C:\tmp\rapture
+bookmark_27 = \\ogaki-sv4\プロジェクト\週報\今川
+bookmark_28 = \\ogaki-sv4\プロジェクト\センタファイル\契約管理\課
+bookmark_29 = \\Ogaki-sv\共有ファイル\common
+bookmark_30 = C:\tmp\winshot
+bookmark_31 = C:\Documents and Settings\1134250023130\Application Data\Microsoft\AddIns
+bookmark_32 = \\ogaki-sv4\プロジェクト\センタファイル\KIND(アクセスしないこと)\個人\takino
+bookmark_33 = C:\Applications
+bookmark_34 = P:\backup\TracLight
+bookmark_35 = P:\週報\今川
+bookmark_36 = P:\センタファイル\対外\本番稼動後
+bookmark_37 = P:\センタファイル\iPX9000\実装設計\IPX9000ｺﾝｿｰﾙﾒｯｾｰｼﾞ
+bookmark_38 = P:\センタファイル\契約管理\課
+bookmark_39 = C:\cygwin\home\1134250023130
+bookmark_40 = P:\センタファイル\全般\採番簿（全般）.xls
+bookmark_41 = S:\投信ＷＥＢ\稼動統計情報採取\【手順書】統計情報採取手順.xls
+bookmark_42 = P:\センタファイル\契約管理\障
+bookmark_43 = P:\センタファイル\全般\月間作業予定
+bookmark_44 = C:\work
+bookmark_45 = S:\投信ＷＥＢ\稼動統計情報採取
+bookmark_46 = P:\問合せ票
+bookmark_47 = P:\センタファイル\契約管理
+bookmark_48 = \\Ogaki-sv\月末統計\(iPX)月末統計資料作成手順書_.xls
+bookmark_49 = \\Ogaki-sv\月末統計\ORION定例会資料_作成手順書.xls
+bookmark_50 = C:\Documents and Settings\1134250023130\.vim_junk
+bookmark_51 = C:\Program Files
+bookmark_52 = M:\(iPX)月末統計資料作成手順書_.xls
+bookmark_53 = M:\ORION定例会資料_作成手順書.xls
+
+[COMMANDLINE]
+
+[SPLIT]
+size = 100M
+
+[UPDATE]
+check_frequency = 1
+last_checked_date = 20130916082234
+
+[DRIVES]
+
+[MUSIC]
+restore = 0
+
+[MISC]
+default_keymap = 106afx
+esc_action = none
+mouse_operation = 1
+isearch_type = inaccurate
+directory_separator = backslash
+drive_case = nocare
+app_name = cfiler
+delete_behavior = recycle_bin
+ignore_1second = 0
+confirm_copy = 1
+confirm_move = 1
+confirm_extract = 1
+confirm_quit = 1
+walkaround_kb436093 = 0
+
+[DEBUG]
+detect_block = 0
+print_errorinfo = 0
+
diff --git a/win/CraftFiler/config.py b/win/CraftFiler/config.py
new file mode 100755
index 0000000..848a01f
--- /dev/null
+++ b/win/CraftFiler/config.py
@@ -0,0 +1,1177 @@
+﻿import os
+import sys
+import urllib
+import io
+import urllib.parse
+import xml.etree.ElementTree
+
+import pyauto
+from cfiler import *
+#from cterm.cterm_const import *
+import cfiler_commandline
+
+# 設定処理
+def configure(window):
+
+    user_name    = os.environ['USERNAME']
+    profile_path = os.environ['USERPROFILE']
+    appdata_path = os.environ['APPDATA']
+    desktop_path = os.path.join(profile_path, "デスクトップ")
+    mydocuments   = os.path.join(profile_path, "My Documents")
+    documents    = os.path.join(profile_path, "Documents")
+    downloads    = os.path.join(profile_path, "Downloads")
+    pictures     = os.path.join(profile_path, "Pictures")
+    music        = os.path.join(profile_path, "Music")
+    videos       = os.path.join(profile_path, "Videos")
+    startup      = os.path.join(appdata_path, "Microsoft/Windows/Start Menu/Programs/Startup")
+    dropbox      = os.path.join(profile_path, "Dropbox")
+
+    window.mypath = {
+            'path_ffc'         : 'C:/Applications/ffc/FFC.exe',
+            'path_ckw'         : '',
+            'path_cmd'         : 'cmd',
+            'path_diff_editor' : 'C:/Program\ Files/WinMerge/WinMergeU.exe',
+            'path_text_editor' : 'C:/Applications/vim/gvim.exe',
+            }
+
+    # --------------------------------------------------------------------
+    # textviewer
+
+    #import textview
+    #reload(textview)
+    #def command_TextView():
+        #try:
+            #textview.open(window.activeCursorItem().open(), None, None, None)
+        #except textview.UnknownEncoding:
+            #print u'Is This Text?'
+        #except Exception, e:
+            #print u'Is This Text?'
+
+    # --------------------------------------------------------------------
+
+
+    # --------------------------------------------------------------------
+    # F1 キーでヘルプファイルを表示する
+
+    def command_Help(info):
+        print( "Helpを起動 :" )
+        help_path = os.path.join( getAppExePath(), 'doc\\index.html' )
+        shellExecute( None, help_path, "", "" )
+        print( "Done.\n" )
+
+    window.keymap[ "F1" ] = command_Help
+
+    # --------------------------------------------------------------------
+    # F5 キーであふを起動する
+
+    def command_LaunchAFX(info):
+        print( "あふを起動 :" )
+        left_location = os.path.join( window.leftFileList().getLocation(), "" )
+        right_location = os.path.join( window.rightFileList().getLocation(), "" )
+        print( "  Left  :", left_location )
+        print( "  Right :", right_location )
+        shellExecute( None, "c:/ols/afx/afx.exe", '-L"%s" -R"%s"' % (left_location,right_location), "" )
+        print( "Done.\n" )
+
+    window.keymap[ "F5" ] = command_LaunchAFX
+
+    # --------------------------------------------------------------------
+    # Shift-X キーでプログラム起動メニューを表示する
+
+    def command_ProgramMenu(info):
+
+        def launch_InternetExplorer():
+            shellExecute( None, r"C:\Program Files\Internet Explorer\iexplore.exe", "", "" )
+
+        def launch_CommandPrompt():
+            shellExecute( None, r"cmd.exe", "", window.activeFileList().getLocation() )
+
+        items = [
+            ( "Internet Explorer", launch_InternetExplorer ),
+            ( "Command Prompt",    launch_CommandPrompt )
+        ]
+
+        result = popMenu( window, "プログラム", items, 0 )
+        if result<0 : return
+        items[result][1]()
+
+    window.keymap[ "S-X" ] = command_ProgramMenu
+
+    # --------------------------------------------------------------------
+    # Enter キーを押したときの動作をカスタマイズするためのフック
+
+    def hook_Enter():
+
+        if 0:
+            print( "hook_Enter" )
+            pane = window.activePane()
+            item = pane.file_list.getItem(pane.cursor)
+
+            # hook から True を返すと、デフォルトの動作がスキップされます
+            return True
+
+    window.enter_hook = hook_Enter
+
+    # --------------------------------------------------------------------
+    # テキストエディタを設定する
+
+    if 0: # プログラムのファイルパスを設定 (単純な使用方法)
+        window.editor = window.mypath['path_text_editor']
+
+    if 1: # 呼び出し可能オブジェクトを設定 (高度な使用方法)
+        def editor( item, region, location ):
+            shellExecute( None, window.mypath['path_text_editor'], '--remote-tab-silent "%s"'% item.getFullpath(), location )
+        window.editor = editor
+
+    # --------------------------------------------------------------------
+    # テキスト差分エディタを設定する
+    #
+    #   この例では外部テキストマージツールとして、WinMerge( http://winmerge.org/ )
+    #   を使用しています。
+    #   必要に応じてインストールしてください。
+
+    if 0: # プログラムのファイルパスを設定 (単純な使用方法)
+        window.diff_editor = window.mypath['path_diff_editor']
+
+    if 1: # 呼び出し可能オブジェクトを設定 (高度な使用方法)
+        def diffEditor( left_item, right_item, location ):
+            shellExecute( None, path_diff_editor, '"%s" "%s"'% ( left_item.getFullpath(), right_item.getFullpath() ), location )
+        window.diff_editor = diffEditor
+
+    # --------------------------------------------------------------------
+    # J キーで表示されるジャンプリスト
+
+    window.jump_list += [
+            ( "Downloads"        , downloads )                                                                     ,
+            #( "Documents"       , mydocuments )                                                                   ,
+            ( "Documents"        , documents )                                                                     ,
+            #( "Pictures"        , pictures )                                                                      ,
+            #( "startup"         , "C:/Users/yuki/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup" ) ,
+            #( "Startup"         , startup )                                                                       ,
+            ( "Archives"         , "D:/Archives" )                                                                 ,
+            #( "Dropbox"         , dropbox )                                                                       ,
+            ( "Applications"     , "C:/Applications" )                                                             ,
+            #( "Music"           , music )                                                                         ,
+            #( "Videos"          , videos )                                                                        ,
+            ( "tmp"              , "C:/tmp" )                                                                      ,
+            ( "work"             , "C:/work" )                                                                     ,
+            ( "contract"         , "//192.168.1.4/プロジェクト/センタファイル/契約管理" )                            ,
+            ( "getsumats"        , "//192.168.1.1/月末統計" )                                                         ,
+            ( "share"            , "//192.168.1.1/共有ファイル" )                                                     ,
+            ( "abkfs"            , "//abkfs06.nsl.ad.nec.co.jp/a01763-01/310_大垣共立銀行ＰＪ" )                   ,
+            ( "fushimi_h"        , "//10.72.83.1/h$" )                                                             ,
+            ( "fushimi_e"        , "//10.72.83.1/e$" )                                                             ,
+            ( "fushimi_g"        , "//10.72.83.1/g$" )                                                             ,
+            ( "fushimi_torihiki" , "//10.72.83.1/h$/28_大垣取引履歴（機能改善）" )                                 ,
+            ( "ogakiPortal"      , "//192.168.1.4/大垣ポータル" )                                                    ,
+            ( "Net"              , "//conta01.nsl.ad.nec.co.jp/ca00047/KIND" )                                     ,
+            ( "TracLight"        , "//192.168.1.234/TracLight" )                                                   ,
+            ( "Project"          , "//192.168.1.4/プロジェクト" )                                                    ,
+            ( "SubSystem"        , "//192.168.1.4/サブシステム" )                                                    ,
+            ( "ogaki-sv4-work"   , "//192.168.1.4/work" )                                                            ,
+            ( "Manual"           , "//192.168.1.4/マニュアル類" )                                                    ,
+            ( "dotfiles"         , "C:/cygwin/home/1134250023130/dotfiles" )                                       ,
+            ]
+
+    # --------------------------------------------------------------------
+
+    # ; キーで表示されるフィルタリスト
+    window.filter_list += [
+            ( "ALL"      , filter_Default( "*" ) )                                                                ,
+            ( "SOURCE"   , filter_Default( "*.cpp *.c *.h *.py *.pyw *.fx" ) )                                    ,
+            ( "BOOKMARK" , filter_Bookmark() )                                                                     ,
+            ( "MOVIE"    , filter_Default( "*.mpg *.mpeg *.avi *.flv *.rm *.mp4 *.mkv *.wmv *.mov *.rmvb *.m1v")) ,
+            ( "MUSIC"    , filter_Default( "*.mp3 *.wav *.ogg *.m4a *.wma *.flac"))                               ,
+            ( "ARCHIVE"  , filter_Default( "*.zip *.7z *.lzh *.rar *.cab *.7z *.bz *.tar"))                       ,
+            ( "EXE"      , filter_Default( "*.exe *.msi"))                                                        ,
+            ]
+
+    # --------------------------------------------------------------------
+    # " キーで表示されるフィルタ選択リスト
+
+    window.select_filter_list += [
+            ( "SOURCE"   , filter_Default( "*.cpp *.c *.h *.py *.pyw *.fx" , dir_policy=None ) ) ,
+            ( "BOOKMARK" , filter_Bookmark(dir_policy=None) )               ,
+            ]
+
+    # --------------------------------------------------------------------
+    # ソースファイルでEnterされたときの関連付け処理
+
+    def association_Video(item):
+        try:
+            shellExecute( None, r"wmplayer.exe", '/prefetch:7 /Play "%s"' % item.getFullpath(), "" )
+        except:
+            pass
+
+    def association_Excel(item):
+        try:
+            shellExecute( None, r"C:\work\\win\\bat\excel.bat", '"%s"' % item.getFullpath(), "" )
+        except:
+            pass
+
+    def association_Word(item):
+        try:
+            shellExecute( None, r"C:\work\\win\\bat\word.bat", '"%s"' % item.getFullpath(), "" )
+        except:
+            pass
+
+    def association_Pdf(item):
+        try:
+            shellExecute( None, r"C:\work\\win\\bat\pdf.bat", '"%s"' % item.getFullpath(), "" )
+        except:
+            pass
+
+    def association_Ppt(item):
+        try:
+            shellExecute( None, r"C:\work\\win\\bat\powerpoint.bat", '"%s"' % item.getFullpath(), "" )
+        except:
+            pass
+
+    window.association_list += [
+            ( "*.mpg *.mpeg *.avi *.wmv", association_Video ),
+            ( "*.xls *.XLS *.csv *.CSV", association_Excel ),
+            ( "*.doc *.DOC", association_Word ),
+            ( "*.pdf *.PDF", association_Pdf ),
+            ( "*.ppt *.PPT", association_Ppt ),
+            ]
+
+
+    # --------------------------------------------------------------------
+    # ファイルアイテムの表示形式
+
+    # 昨日以前については日時、今日については時間、を表示するアイテムの表示形式
+    #
+    #   引数:
+    #       window   : メインウインドウ
+    #       item     : アイテムオブジェクト
+    #       width    : 表示領域の幅
+    #       userdata : ファイルリストの描画中に一貫して使われるユーザデータオブジェクト
+    #
+
+    def itemformat_Name_Ext_Size_YYYYMMDDorHHMMSS( window, item, width, userdata ):
+
+        if item.isdir():
+            str_size = "<DIR>"
+        else:
+            str_size = "%6s" % getFileSizeString(item.size())
+
+        if not hasattr(userdata,"now"):
+            userdata.now = time.localtime()
+
+        t = item.time()
+        if t[0]==userdata.now[0] and t[1]==userdata.now[1] and t[2]==userdata.now[2]:
+            str_time = "  %02d:%02d:%02d" % ( t[3], t[4], t[5] )
+        else:
+            str_time = "%04d/%02d/%02d" % ( t[0]%10000, t[1], t[2] )
+
+        str_size_time = "%s %s" % ( str_size, str_time )
+
+        width = max(40,width)
+        filename_width = width-len(str_size_time)
+
+        if item.isdir():
+            body, ext = item.name, None
+        else:
+            body, ext = splitExt(item.name)
+
+        if ext:
+            body_width = min(width,filename_width-6)
+            return ( adjustStringWidth(window,body,body_width,ALIGN_LEFT,ELLIPSIS_RIGHT)
+                   + adjustStringWidth(window,ext,6,ALIGN_LEFT,ELLIPSIS_NONE)
+                   + str_size_time )
+        else:
+            return ( adjustStringWidth(window,body,filename_width,ALIGN_LEFT,ELLIPSIS_RIGHT)
+                   + str_size_time )
+
+    # Z キーで表示されるファイル表示形式リスト
+    window.itemformat_list = [
+        ( "1 : 全て表示 : filename  .ext  99.9K YY/MM/DD HH:MM:SS", itemformat_Name_Ext_Size_YYMMDD_HHMMSS ),
+        ( "2 : 秒を省略 : filename  .ext  99.9K YY/MM/DD HH:MM",    itemformat_Name_Ext_Size_YYMMDD_HHMM ),
+        ( "3 : 日 or 時 : filename  .ext  99.9K YYYY/MM/DD",        itemformat_Name_Ext_Size_YYYYMMDDorHHMMSS ),
+        ( "0 : 名前のみ : filename.ext",                            itemformat_NameExt ),
+    ]
+    # 表示形式の初期設定
+    #window.itemformat = itemformat_Name_Ext_Size_YYYYMMDDorHHMMSS
+    window.itemformat = itemformat_Name_Ext_Size_YYMMDD_HHMMSS
+
+    # --------------------------------------------------------------------
+    # User Defined
+    # --------------------------------------------------------------------
+    # "CommandPrompt" コマンド
+    #
+    def command_LaunchCMD():
+        cur_location = os.path.join( window.activeFileList().getLocation(), "" )
+        if window.mypath['path_ckw']:
+            shellExecute( None, window.mypath['path_ckw'], "-cd %s" % cur_location, cur_location )
+        else:
+            shellExecute( None, window.mypath['path_cmd'], None, cur_location )
+
+    def command_LaunchReload():
+        window.configure()
+        print("Config Reload Done.\n")
+
+    def command_LaunchProperties():
+        if isinstance(window.activeCursorItem(), item_Empty):
+            print("not selected item.")
+        else:
+            cur_location = window.activeCursorItem().getFullpath()
+            pyauto.shellExecute("properties", cur_location )
+            #print(" file :", cur_location)
+            #res = shellExecute( hwnd, "Properties", cur_location, None, None, SW_NORMAL)
+
+    def command_FireFileCopy(mode='/copy'):
+        if window.mypath['path_ffc']:
+            items = [ quote(x) for x in window.activeSelectedItems() ]
+            target = trimBackslash(window.inactiveFileList().getLocation())
+            if items:
+                cmdline = "%s /to:%s %s" % (" ".join(items), quote(target), mode)
+                print(cmdline)
+                shellExecute(None, window.mypath['path_ffc'],
+                        cmdline, window.activeFileList().getLocation())
+
+    def command_Robocopy(info):
+        items = [ quote(x) for x in window.activeSelectedItems() ]
+        target = trimBackslash(window.inactiveFileList().getLocation())
+        if items:
+            for item in items:
+                if os.path.isdir(item):
+                    cmdline = "/e /dcopy:t /xo %s %s" % (item, os.path.join(quote(target),
+                        os.path.basename(item)))
+                    print(" ".join(["robocopy", cmdline]))
+                    shellExecute(None, "robocopy",
+                            cmdline, window.activeFileList().getLocation())
+                else:
+                    cmdline = "/c copy %s %s" % (item, quote(target))
+                    print(" ".join(["cmd", cmdline]))
+                    shellExecute(None, "cmd",
+                            cmdline, window.activeFileList().getLocation())
+
+    # --------------------------------------------------------------------
+    # Vi Command
+    # --------------------------------------------------------------------
+    def command_Vim():
+        if window.mypath.has_key('path_vim'):
+            cur_location = os.path.join( window.activeFileList().getLocation(), "" )
+            file_path = window.activeCursorItem().getFullpath()
+            if window.mypath.has_key('path_ckw'):
+                opt = "-e \"%s\" \"%s\"" % (window.mypath['path_vim'], file_path)
+                shellExecute( None, window.mypath['path_ckw'], opt, cur_location )
+            else:
+                opt = "--remote-tab-silent \"%s\"" % (file_path)
+                shellExecute( None, window.mypath['path_vim'], opt, cur_location )
+
+    def command_GVim():
+        if window.mypath.has_key('path_gvim'):
+            cur_location = os.path.join( window.activeFileList().getLocation(), "" )
+            file_path = window.activeCursorItem().getFullpath()
+            opt = "--remote-tab-silent \"%s\"" % (file_path)
+            shellExecute( None, window.mypath['path_gvim'], opt, cur_location )
+
+    # --------------------------------------------------------------------
+    # コマンドランチャにコマンドを登録する
+    window.launcher.command_list += [
+            ( "Help"            , command_Help )         ,
+            ( "CMD"             , command_LaunchCMD)     ,
+            ( "Vi"              , command_Vim)           ,
+            ( "Vim"             , command_GVim)          ,
+            #        ( "Reload" , command_LaunchReload ) ,
+            ]
+
+    # --------------------------------------------------------------------
+    # Common Function
+    # --------------------------------------------------------------------
+    def quote(s):
+        return '"%s"' % s if ' ' in str(s) else str(s)
+
+    def trimBackslash(s):
+        return s[0:len(s) - 1] if s[len(s) - 1] == '\\' else s
+
+    def choice(info, title, menu_items):
+        index = cfiler_listwindow.popMenu(window, title, menu_items, 0)
+        if index >= 0:
+            menu_items[index][1](info)
+
+    # --------------------------------------------------------------------
+    # copy file path
+    # --------------------------------------------------------------------
+    #window.keymap[ KeyEvent( ord('C'), MODKEY_CTRL ) ] = window.command_SetClipboard_Fullpath
+    #window.keymap[ KeyEvent( ord('C'), MODKEY_CTRL|MODKEY_SHIFT ) ] = window.command_SetClipboard_Filename
+
+    # ------------------------------------------------------------------
+    # タイトルバーにカーソル位置のファイル名を表示
+
+    def display_name_on_titlebar():
+        pane = window.activePane()
+        filename = pane.file_list.items[pane.cursor].name
+        appname = cfiler_resource.cfiler_appname
+        title = " - ".join([appname, filename])
+        window.setTitle(title)
+
+    def push_downkey(info):
+        window.command_CursorDown(info)
+        display_name_on_titlebar()
+
+    def push_upkey(info):
+        window.command_CursorUp(info)
+        display_name_on_titlebar()
+
+    def push_leftkey(info):
+        window.command_FocusLeftOrGotoParentDir(info)
+        display_name_on_titlebar()
+
+    def push_rightkey(info):
+        window.command_FocusRightOrGotoParentDir(info)
+        display_name_on_titlebar()
+
+    def push_enterkey(info):
+        window.command_Enter(info)
+        display_name_on_titlebar()
+
+    def push_backkey(info):
+        window.command_GotoParentDir(info)
+        display_name_on_titlebar()
+
+    window.keymap[ "Up" ] = push_upkey
+    window.keymap[ "Down" ] = push_downkey
+    window.keymap[ "Left" ] = push_leftkey
+    window.keymap[ "Right" ] = push_rightkey
+    window.keymap[ "Return" ] = push_enterkey
+    window.keymap[ "Back" ] = push_backkey
+
+    window.keymap[ "C-N" ] = push_downkey
+    window.keymap[ "C-P" ] = push_upkey
+
+    # --------------------------------------------------------------------
+    # Down Cursor
+    # --------------------------------------------------------------------
+    #window.keymap[ KeyEvent( ord('J'), 0 ) ] = window.command_CursorDown
+    window.keymap[ "J" ] = push_downkey
+    window.keymap[ "C-J" ] = window.command_JumpInput
+    window.keymap[ "S-J" ] = window.command_JumpList
+
+    # --------------------------------------------------------------------
+    # Up Cursor
+    # --------------------------------------------------------------------
+    #window.keymap[ KeyEvent( ord('K'), 0 ) ] = window.command_CursorUp
+    window.keymap[ "K" ] = push_upkey
+    window.keymap[ "S-K" ] = window.command_Mkdir
+    #window.keymap[ KeyEvent( ord('K'), MODKEY_CTRL ) ] = window.command_Delete
+    #window.keymap[ KeyEvent( VK_DELETE, 0 ) ] = window.command_Delete2
+    #window.keymap[ KeyEvent( VK_DELETE, MODKEY_SHIFT ) ] = window.command_Delete
+
+    # --------------------------------------------------------------------
+    # Left Cursor
+    # --------------------------------------------------------------------
+    window.keymap[ "Left" ] = window.command_FocusLeft
+    #window.keymap[ KeyEvent( ord('H'), 0 ) ] = window.command_AFXLeft
+    #window.keymap[ KeyEvent( ord('H'), 0 ) ] = window.command_FocusLeft
+    window.keymap[ "H" ] = push_backkey
+    window.keymap[ "S-H" ] = window.command_JumpHistory
+
+    # --------------------------------------------------------------------
+    # Right Cursor
+    # --------------------------------------------------------------------
+    window.keymap[ "Right" ] = window.command_FocusRight
+    #window.keymap[ KeyEvent( ord('L'), 0 ) ] = window.command_AFXRight
+    #window.keymap[ KeyEvent( ord('L'), 0 ) ] = window.command_FocusRight
+    window.keymap[ "L" ] = push_enterkey
+    window.keymap[ "S-L" ] = window.command_SelectDrive
+    #window.keymap[ KeyEvent( ord('L'), MODKEY_CTRL ) ] = window.command_View
+
+    # --------------------------------------------------------------------
+    # Goto Parent Dir
+    # --------------------------------------------------------------------
+    window.keymap[ "C-H" ] = window.command_GotoParentDir
+
+    # --------------------------------------------------------------------
+    # Incremental Search
+    # --------------------------------------------------------------------
+    window.keymap[ "Slash" ] = window.command_IncrementalSearch
+
+    # --------------------------------------------------------------------
+    # Goto Parent Dir
+    # --------------------------------------------------------------------
+    #window.keymap[ KeyEvent( ord('U'), 0 ) ] = window.command_GotoParentDir
+
+    # --------------------------------------------------------------------
+    # Input Command Line
+    # --------------------------------------------------------------------
+    window.keymap[ "Colon" ] = window.command_CommandLine
+    window.keymap[ "Plus" ] = window.command_SetFilterList
+    window.keymap[ "S-Plus" ] = window.command_SetFilter
+
+    # --------------------------------------------------------------------
+    # Cancel
+    # --------------------------------------------------------------------
+    window.keymap[ "C-OpenBracket" ] = window.command_Escape
+
+    # --------------------------------------------------------------------
+    # Windows Execute
+    # --------------------------------------------------------------------
+    window.keymap[ "X" ] = window.command_Execute
+
+    # --------------------------------------------------------------------
+    # Deselect All
+    # --------------------------------------------------------------------
+    def allPaneDeselect():
+        pane = window.activePane()
+        for i in xrange(pane.file_list.numItems()):
+            pane.file_list.selectItem( i, False )
+        pane = window.inactivePane()
+        for i in xrange(pane.file_list.numItems()):
+            pane.file_list.selectItem( i, False )
+        window.paint( PAINT_LEFT_ITEMS | PAINT_LEFT_HEADER | PAINT_RIGHT_ITEMS | PAINT_RIGHT_HEADER )
+    window.keymap[ "Period" ] = allPaneDeselect
+    window.keymap[ "S-Period" ] = window.command_DeselectAll
+
+    # --------------------------------------------------------------------
+    # View Command
+    # --------------------------------------------------------------------
+    #window.keymap[ KeyEvent( ord('V'), 0 ) ] = command_TextView
+
+    # --------------------------------------------------------------------
+    # File's Property
+    # --------------------------------------------------------------------
+    window.keymap[ "I" ] = command_LaunchProperties
+    window.keymap[ "S-I" ] = window.command_Info
+
+    # --------------------------------------------------------------------
+    # Copy Command Menu
+    # --------------------------------------------------------------------
+    def choice_copy(info):
+        menu = [
+                ('copy', window.command_Copy),
+                ('copy to', window.command_CopyInput),
+                ('ffc', command_FireFileCopy),
+                ('robocopy', command_Robocopy),
+                ]
+        #if window.activeSelectedItems():
+        #    _copylist = [x.name for x in window.activeSelectedItems() ]
+        choice(info, 'コピー', menu)
+        #if _copylist:
+        #    for i in xrange(window.inactiveFileList().numItems()):
+        #        window.inactiveFileList().selectItem( i, False )
+        #        print(i)
+        #    for x in _copylist:
+        #        _fileidx = window.inactiveFileList().indexOf(x)
+        #        print(x, _fileidx)
+        #        window.inactiveFileList().selectItem(_fileidx, True)
+        #    window.paint( PAINT_LEFT_ITEMS | PAINT_LEFT_HEADER | PAINT_RIGHT_ITEMS | PAINT_RIGHT_HEADER )
+
+    window.keymap[ "C" ] = choice_copy
+
+    #window.keymap[ KeyEvent( VK_OEM_3, MODKEY_CTRL ) ] = window.command_SetFilterList
+    window.keymap[ "C-Z" ] = window.command_CancelTask
+
+    # --------------------------------------------------------------------
+    # Cursor Command
+    # --------------------------------------------------------------------
+    window.keymap[ "G" ] = window.command_CursorTop
+    window.keymap[ "S-G" ] = window.command_CursorBottom
+    window.keymap[ "C-G" ] = window.command_Grep
+
+    window.keymap[ "C-D" ] = window.command_CursorPageDown
+    window.keymap[ "C-U" ] = window.command_CursorPageUp
+
+    # --------------------------------------------------------------------
+    # open other panel on Directory
+    # --------------------------------------------------------------------
+    def command_OpenDirOnInactivePane():
+        pane = window.activePane()
+        item = window.activeCursorItem()
+        if item.isdir():
+            window.inactiveJump(os.path.join(item.location, item.name))
+
+    window.keymap[ "S-Return" ] = command_OpenDirOnInactivePane
+
+
+    def command_ClearLogPane():
+        window.log_pane.log.log = ['']
+        window.paint()
+
+    window.launcher.command_list.append(('Clear Log Pane', command_ClearLogPane))
+
+    def popup_Command(info):
+        choice(info, 'command', window.launcher.command_list)
+
+    window.keymap[ "C-X" ] = popup_Command
+
+    # --------------------------------------------------------------------
+    # "Google" コマンド
+    #   Google でキーワードを検索します
+
+    def command_Google(info):
+        if len(info.args)>=1:
+            keyword = ' '.join(info.args)
+            keyword = urllib.parse.quote_plus(keyword)
+        else:
+            keyword = ""
+        url = "http://www.google.com/search?ie=utf8&q=%s" % keyword
+        shellExecute( None, url, "", "" )
+
+    # --------------------------------------------------------------------
+    # "Eijiro" コマンド
+    #   英辞郎 on the WEB で日本語/英語を相互に検索します
+
+    def command_Eijiro(info):
+        if len(args)>=1:
+            keyword = ' '.join(info.args)
+            keyword = urllib.parse.quote_plus(keyword)
+        else:
+            keyword = ""
+        url = "http://eow.alc.co.jp/%s/UTF-8/" % keyword
+        shellExecute( None, url, "", "" )
+
+    # --------------------------------------------------------------------
+    # "Subst" コマンド
+    #   任意のパスにドライブを割り当てるか、ドライブの解除を行います。
+    #    subst;H;C:\dirname  : C:\dirname を Hドライブに割り当てます
+    #    subst;H             : Hドライブの割り当てを解除します
+
+    def command_Subst(info):
+
+        if len(info.args)>=1:
+            drive_letter = info.args[0]
+            if len(info.args)>=2:
+                path = info.args[1]
+                if window.subProcessCall( [ "subst", drive_letter+":", os.path.normpath(path) ], cwd=None, env=None, enable_cancel=False )==0:
+                    print( "%s に %sドライブを割り当てました。" % ( path, drive_letter ) )
+            else:
+                if window.subProcessCall( [ "subst", drive_letter+":", "/D" ], cwd=None, env=None, enable_cancel=False )==0:
+                    print( "%sドライブの割り当てを解除しました。" % ( drive_letter ) )
+        else:
+            print( "ドライブの割り当て : Subst;<ドライブ名>;<パス>" )
+            print( "ドライブの解除     : Subst;<ドライブ名>" )
+            raise TypeError
+
+    # --------------------------------------------------------------------
+    # "NetDrive" コマンド
+    #   ネットワークドライブを割り当てるか解除を行います。
+    #    NetDrive;L;\\server\share : \\machine\public を Lドライブに割り当てます
+    #    NetDrive;L                : Lドライブの割り当てを解除します
+
+    def command_NetDrive(info):
+
+        if len(info.args)>=1:
+            drive_letter = info.args[0]
+            if len(info.args)>=2:
+                path = info.args[1]
+                checkNetConnection(path)
+                if window.subProcessCall( [ "net", "use", drive_letter+":", os.path.normpath(path), "/yes" ], cwd=None, env=None, enable_cancel=False )==0:
+                    print( "%s に %sドライブを割り当てました。" % ( path, drive_letter ) )
+            else:
+                if window.subProcessCall( [ "net", "use", drive_letter+":", "/D" ], cwd=None, env=None, enable_cancel=False )==0:
+                    print( "%sドライブの割り当てを解除しました。" % ( drive_letter ) )
+        else:
+            print( "ドライブの割り当て : NetDrive;<ドライブ名>;<パス>" )
+            print( "ドライブの解除     : NetDrive;<ドライブ名>" )
+            raise TypeError
+
+
+    # --------------------------------------------------------------------
+    # "CheckEmpty" コマンド
+    #   ファイルが入っていない空のディレクトリを検索します。
+    #   ディレクトリが入っていても、ファイルが入っていない場合は空とみなします。
+
+    def command_CheckEmpty(info):
+
+        pane = window.activePane()
+        location = window.activeFileList().getLocation()
+        items = window.activeItems()
+
+        result_items = []
+        message = [""]
+
+        def jobCheckEmpty( job_item ):
+
+            def printBoth(s):
+                print( s )
+                message[0] += s + "\n"
+
+            def appendResult(item):
+                result_items.append(item)
+                printBoth( '   %s' % item.getName() )
+
+            printBoth( '空のディレクトリを検索 :' )
+
+            # ビジーインジケータ On
+            window.setProgressValue(None)
+
+            for item in items:
+
+                if not item.isdir() : continue
+
+                if job_item.isCanceled(): break
+                if job_item.waitPaused():
+                    window.setProgressValue(None)
+
+                empty = True
+
+                for root, dirs, files in item.walk(False):
+
+                    if job_item.isCanceled(): break
+                    if job_item.waitPaused():
+                        window.setProgressValue(None)
+
+                    if not empty : break
+                    for file in files:
+                        empty = False
+                        break
+
+                if empty:
+                    appendResult(item)
+
+            message[0] += '\n'
+            message[0] += '検索結果をファイルリストに反映しますか？(Enter/Esc):\n'
+
+        def jobCheckEmptyFinished( job_item ):
+
+            # ビジーインジケータ Off
+            window.clearProgress()
+
+            if job_item.isCanceled():
+                print( '中断しました.\n' )
+            else:
+                print( 'Done.\n' )
+
+            if job_item.isCanceled(): return
+
+            result = popResultWindow( window, "検索完了", message[0] )
+            if not result: return
+
+            window.jumpLister( pane, lister_Custom( window, "[empty] ", location, result_items ) )
+
+        job_item = ckit.JobItem( jobCheckEmpty, jobCheckEmptyFinished )
+        window.taskEnqueue( job_item, "CheckEmpty" )
+
+
+    # --------------------------------------------------------------------
+    # "CheckDuplicate" コマンド
+    #   左右のペイン両方のアイテムを通して、内容が重複するファイルを検索します。
+    #   ファイルのサイズが一致するものについて、より詳細に比較を行います。
+
+    def command_CheckDuplicate(info):
+
+        left_pane = window.leftPane()
+        right_pane = window.rightPane()
+
+        left_location = window.leftFileList().getLocation()
+        right_location = window.rightFileList().getLocation()
+
+        left_items = window.leftItems()
+        right_items = window.rightItems()
+
+        items = []
+        for item in left_items:
+            if not item.isdir() and hasattr(item,"getFullpath"):
+                items.append( [ item, None, False ] )
+        for item in right_items:
+            if not item.isdir() and hasattr(item,"getFullpath"):
+                items.append( [ item, None, False ] )
+
+        if len(items)<=1:
+            return
+
+        result_left_items = set()
+        result_right_items = set()
+        message = [""]
+
+        def jobCheckDuplicate( job_item ):
+
+            def printBoth(s):
+                print( s )
+                message[0] += s + "\n"
+
+            def appendResult(item):
+                if item in left_items:
+                    result_left_items.add(item)
+                    printBoth( '   Left: %s' % item.getName() )
+                else:
+                    result_right_items.add(item)
+                    printBoth( '  Right: %s' % item.getName() )
+
+            def leftOrRight(item):
+                if item in left_items:
+                    return 'Left'
+                else:
+                    return 'Right'
+
+            printBoth( '重複するファイルを検索 :' )
+
+            # ビジーインジケータ On
+            window.setProgressValue(None)
+
+            # ファイルのMD5値を調べる
+            import hashlib
+            for i, item in enumerate(items):
+
+                if job_item.isCanceled(): break
+                if job_item.waitPaused():
+                    window.setProgressValue(None)
+
+                digest = hashlib.md5(item[0].open().read(64*1024)).hexdigest()
+                print( 'MD5 : %s : %s' % ( item[0].getName(), digest ) )
+                items[i][1] = digest
+
+            # ファイルサイズとハッシュでソート
+            if not job_item.isCanceled():
+                items.sort( key = lambda item: ( item[0].size(), item[1] ) )
+
+            for i in range(len(items)):
+
+                if job_item.isCanceled(): break
+                if job_item.waitPaused():
+                    window.setProgressValue(None)
+
+                item1 = items[i]
+                if item1[2] : continue
+
+                dumplicate_items = []
+                dumplicate_filenames = [ item1[0].getFullpath() ]
+
+                for k in range( i+1, len(items) ):
+
+                    if job_item.isCanceled(): break
+                    if job_item.waitPaused():
+                        window.setProgressValue(None)
+
+                    item2 = items[k]
+                    if item1[1] != item2[1] : break
+                    if item2[2] : continue
+                    if item2[0].getFullpath() in dumplicate_filenames :
+                        item2[2] = True
+                        continue
+
+                    print( '比較 : %5s : %s' % ( leftOrRight(item1[0]), item1[0].getName() ) )
+                    print( '     : %5s : %s …' % ( leftOrRight(item2[0]), item2[0].getName() ), )
+
+                    try:
+                        result = compareFile( item1[0].getFullpath(), item2[0].getFullpath(), shallow=1, schedule_handler=job_item.isCanceled )
+                    except CanceledError:
+                        print( '中断' )
+                        break
+
+                    if result:
+                        print( '一致' )
+                        dumplicate_items.append(item2)
+                        dumplicate_filenames.append(item2[0].getFullpath())
+                        item2[2] = True
+                    else:
+                        print( '不一致' )
+
+                    print( '' )
+
+                if dumplicate_items:
+                    appendResult(item1[0])
+                    for item2 in dumplicate_items:
+                        appendResult(item2[0])
+                    printBoth("")
+
+            message[0] += '\n'
+            message[0] += '検索結果をファイルリストに反映しますか？(Enter/Esc):\n'
+
+        def jobCheckDuplicateFinished( job_item ):
+
+            # ビジーインジケータ Off
+            window.clearProgress()
+
+            if job_item.isCanceled():
+                print( '中断しました.\n' )
+            else:
+                print( 'Done.\n' )
+
+            if job_item.isCanceled(): return
+
+            result = popResultWindow( window, "検索完了", message[0] )
+            if not result: return
+
+            window.leftJumpLister( lister_Custom( window, "[duplicate] ", left_location, list(result_left_items) ) )
+            window.rightJumpLister( lister_Custom( window, "[duplicate] ", right_location, list(result_right_items) ) )
+
+        job_item = ckit.JobItem( jobCheckDuplicate, jobCheckDuplicateFinished )
+        window.taskEnqueue( job_item, "CheckDuplicate" )
+
+
+    # --------------------------------------------------------------------
+    # "CheckSimilar" コマンド
+    #   左右のペイン両方のアイテムを通して、名前が似ているファイルを検索します。
+
+    def command_CheckSimilar(info):
+
+        left_location = window.leftFileList().getLocation()
+        right_location = window.rightFileList().getLocation()
+        left_items = window.leftItems()
+        right_items = window.rightItems()
+        items = left_items + right_items
+
+        result_left_items = set()
+        result_right_items = set()
+        message = [""]
+
+        def jobCheckSimilar( job_item ):
+
+            def printBoth(s):
+                print( s )
+                message[0] += s + "\n"
+
+            def appendResult(item):
+                if item in left_items:
+                    result_left_items.add(item)
+                    printBoth( '   Left: %s' % item.getName() )
+                else:
+                    result_right_items.add(item)
+                    printBoth( '  Right: %s' % item.getName() )
+
+            printBoth('名前が似ているファイルを検索 :')
+
+            # ビジーインジケータ On
+            window.setProgressValue(None)
+
+            def to_charset(item):
+                return ( item, set(item.getName().lower()) )
+            item_charset_list = map( to_charset, items )
+
+            for i in range(len(item_charset_list)-1):
+
+                if job_item.isCanceled(): break
+                if job_item.waitPaused():
+                    window.setProgressValue(None)
+
+                item_charset1 = item_charset_list[i]
+                for k in range( i+1, len(item_charset_list) ):
+
+                    if job_item.isCanceled(): break
+                    if job_item.waitPaused():
+                        window.setProgressValue(None)
+
+                    item_charset2 = item_charset_list[k]
+                    or_set = item_charset1[1].union(item_charset2[1])
+                    and_set = item_charset1[1].intersection(item_charset2[1])
+                    score = float(len(and_set)) / float(len(or_set))
+
+                    if score>=0.90:
+                        appendResult(item_charset1[0])
+                        appendResult(item_charset2[0])
+                        printBoth('')
+
+            message[0] += '\n'
+            message[0] += '検索結果をファイルリストに反映しますか？(Enter/Esc):\n'
+
+        def jobCheckSimilarFinished( job_item ):
+
+            # ビジーインジケータ Off
+            window.clearProgress()
+
+            if job_item.isCanceled():
+                print( '中断しました.\n' )
+            else:
+                print( 'Done.\n' )
+
+            if job_item.isCanceled(): return
+
+            result = popResultWindow( window, "検索完了", message[0] )
+            if not result: return
+
+            window.leftJumpLister( lister_Custom( window, "[similar] ", left_location, list(result_left_items) ) )
+            window.rightJumpLister( lister_Custom( window, "[similar] ", right_location, list(result_right_items) ) )
+
+        job_item = ckit.JobItem( jobCheckSimilar, jobCheckSimilarFinished )
+        window.taskEnqueue( job_item, "CheckSimilar" )
+
+
+    # --------------------------------------------------------------------
+    # コマンドランチャにコマンドを登録する
+
+    window.launcher.command_list += [
+        ( "Help",              command_Help ),
+        ( "AFX",               command_LaunchAFX ),
+        ( "Google",            command_Google ),
+        ( "Eijiro",            command_Eijiro ),
+        ( "Subst",             command_Subst ),
+        ( "NetDrive",          command_NetDrive ),
+        ( "CheckEmpty",        command_CheckEmpty ),
+        ( "CheckDuplicate",    command_CheckDuplicate ),
+        ( "CheckSimilar",      command_CheckSimilar ),
+    ]
+
+    # --------------------------------------------------------------------
+    # Subversionでバージョン管理しているファイルだけを表示するフィルタ
+    class filter_Subversion:
+
+        svn_exe_path = "c:/Program Files/TortoiseSVN/bin/svn.exe"
+
+        def __init__( self, nonsvn_dir_policy ):
+
+            self.nonsvn_dir_policy = nonsvn_dir_policy
+            self.cache = {}
+            self.last_used = time.time()
+
+        def _getSvnFiles( self, dirname ):
+
+            if dirname.replace("\\","/").find("/.svn/") >= 0:
+                return set()
+
+            filename_set = set()
+
+            cmd = [ filter_Subversion.svn_exe_path, "stat", "-q", "-v", "--xml", "--depth", "immediates" ]
+            svn_output = io.StringIO()
+            subprocess = SubProcess( cmd, cwd=dirname, env=None, stdout_write=svn_output.write )
+            subprocess()
+
+            try:
+                elm1 = xml.etree.ElementTree.fromstring(svn_output.getvalue())
+            except xml.etree.ElementTree.ParseError as e:
+                for line in svn_output.getvalue().splitlines():
+                    if line.startswith("svn:"):
+                        print( line )
+                return filename_set
+            elm2 = elm1.find("target")
+            for elm3 in elm2.findall("entry"):
+                elm4 = elm3.find("wc-status")
+                if elm4.get("item")=="unversioned": continue
+                filename_set.add( elm3.get("path") )
+
+            return filename_set
+
+        def __call__( self, item ):
+
+            now = time.time()
+            if now - self.last_used > 3.0:
+                self.cache = {}
+            self.last_used = now
+
+            if not hasattr(item,"getFullpath"): return False
+
+            fullpath = item.getFullpath()
+
+            dirname, filename = os.path.split(fullpath)
+
+            try:
+                filename_set = self.cache[dirname]
+            except KeyError:
+                filename_set = self._getSvnFiles(dirname)
+                self.cache[dirname] = filename_set
+
+            if item.isdir() and not filename_set:
+                return self.nonsvn_dir_policy
+            return filename in filename_set
+
+        def __str__(self):
+            return "[svn]"
+
+    window.filter_list += [
+        ( "SUBVERSION",    filter_Subversion( nonsvn_dir_policy=True ) ),
+    ]
+
+    window.select_filter_list += [
+        ( "SUBVERSION",    filter_Subversion( nonsvn_dir_policy=False ) ),
+    ]
+
+    # --------------------------------------------------------------------
+
+
+# テキストビューアの設定処理
+def configure_TextViewer(window):
+
+    # --------------------------------------------------------------------
+    # F1 キーでヘルプファイルを表示する
+
+    def command_Help():
+        print( "Helpを起動 :" )
+        help_path = os.path.join( getAppExePath(), 'doc\\index.html' )
+        shellExecute( None, help_path, "", "" )
+        print( "Done.\n" )
+
+    window.keymap[ "F1" ] = command_Help
+
+    # Close Window
+    window.keymap[ "Q" ] = window.command_Close
+    # Down Cursor
+    window.keymap[ "J" ] = window.command_ScrollDown
+    # Up Cursor
+    window.keymap[ "K" ] = window.command_ScrollUp
+    # Edit
+    window.keymap[ "E" ] = window.command_Edit
+
+    window.keymap[ "C-B" ] = window.command_PageUp
+    window.keymap[ "C-F" ] = window.command_PageDown
+
+    window.keymap[ "Slash" ] = window.command_Search
+    window.keymap[ "N" ] = window.command_SearchNext
+    window.keymap[ "S-N" ] = window.command_SearchPrev
+
+# テキスト差分ビューアの設定処理
+def configure_DiffViewer(window):
+
+    # --------------------------------------------------------------------
+    # F1 キーでヘルプファイルを表示する
+
+    def command_Help():
+        print( "Helpを起動 :" )
+        help_path = os.path.join( getAppExePath(), 'doc\\index.html' )
+        shellExecute( None, help_path, "", "" )
+        print( "Done.\n" )
+
+    window.keymap[ "F1" ] = command_Help
+
+    # Close Window
+    window.keymap[ "Q" ] = window.command_Close
+    # Down Cursor
+    window.keymap[ "J" ] = window.command_ScrollDown
+    # Up Cursor
+    window.keymap[ "K" ] = window.command_ScrollUp
+
+    window.keymap[ "C-B" ] = window.command_PageUp
+    window.keymap[ "C-F" ] = window.command_PageDown
+
+    # next diff
+    window.keymap[ "C-N" ] = window.command_DiffNext
+    # prev diff
+    window.keymap[ "C-P" ] = window.command_DiffPrev
+
+    window.keymap[ "C-E" ] = window.command_Edit
+
+# イメージビューアの設定処理
+def configure_ImageViewer(window):
+
+    # --------------------------------------------------------------------
+    # F1 キーでヘルプファイルを表示する
+
+    def command_Help():
+        print( "Helpを起動 :" )
+        help_path = os.path.join( getAppExePath(), 'doc\\index.html' )
+        shellExecute( None, help_path, "", "" )
+        print( "Done.\n" )
+
+    window.keymap[ "F1" ] = command_Help
+
+    # Down Cursor
+    window.keymap[ "J" ] = window.command_CursorDown
+    # Up Cursor
+    window.keymap[ "K" ] = window.command_CursorUp
+    # Close Window
+    window.keymap[ "Q" ] = window.command_Close
+
+
+# リストウインドウの設定処理
+def configure_ListWindow(window):
+
+    # --------------------------------------------------------------------
+    # F1 キーでヘルプファイルを表示する
+
+    def command_Help():
+        print( "Helpを起動 :" )
+        help_path = os.path.join( getAppExePath(), 'doc\\index.html' )
+        shellExecute( None, help_path, "", "" )
+        print( "Done.\n" )
+
+    window.keymap[ "F1" ] = command_Help
+
+    # Down Cursor
+    window.keymap[ "J" ] = window.command_CursorDown
+    # Up Cursor
+    window.keymap[ "K" ] = window.command_CursorUp
+    # Cancel
+    window.keymap[ "C-OpenBracket" ] = window.cancel
+    # Search
+    window.keymap[ "Slash" ] = window.command_IncrementalSearch
diff --git a/win/CraftLaunch/clnch.ini b/win/CraftLaunch/clnch.ini
new file mode 100755
index 0000000..612cd27
--- /dev/null
+++ b/win/CraftLaunch/clnch.ini
@@ -0,0 +1,381 @@
+[GEOMETRY]
+width = 18
+height = 1
+monitor = 0
+x = -520
+y = -298
+topmost = 2
+
+[CONSOLE]
+x = 967
+y = 195
+width = 79
+height = 31
+
+[MUSIC]
+restore = 0
+
+[COMMANDLINE]
+history_0 = firefox
+history_1 = TracLightning
+history_2 = JASMINE
+history_3 = Outlook
+history_4 = Cfiler
+history_5 = esRas
+history_6 = ShutDown
+history_7 = g:/Start.exe
+history_8 = CNES
+history_9 = WinMerge
+history_10 = Config
+history_11 =
+history_12 = ServerList
+history_13 = Command
+history_14 = MyWork
+history_15 = ESS
+history_16 = FlowLites
+history_17 = Reboot
+history_18 = ShisanKanri
+history_19 = AIS
+history_20 = KONICA_MINOLTA
+history_21 = Quit
+history_22 = sakura
+history_23 = notepad
+history_24 = SIES
+history_25 = LIBRA
+history_26 = cmd
+history_27 = wsh-grunt
+history_28 = findconsole
+history_29 = diffvimrc
+history_30 = diffzshenv
+history_31 = AddressKun
+history_32 = ControlPanel
+history_33 = WORD
+history_34 = ShainMail
+history_35 = //192.168.1.4/プロジェクト/センタファイル/契約管理/svn/
+history_36 = Everything
+history_37 = EXCEL
+history_38 = abkf_copy
+history_39 = Printer
+history_40 = SWF
+history_41 = mstsc
+history_42 = iexplore
+history_43 = rapture
+history_44 = f:/LaunchEDS2.exe
+history_45 = WinMergeU
+history_46 = f:/Start.exe
+history_47 = gvim
+history_48 = Console
+history_49 = thunderbird
+history_50 = Support
+history_51 = mco-log-rename
+history_52 = cls
+history_53 = toushinkadoutoukei
+history_54 = C:/work/bat/
+history_55 = f:/
+history_56 = makevim
+history_57 = i:/Start.exe
+history_58 = //ogaki-sv4/プロジェクト/センタファイル/取引履歴/20120924_漢字肩書調査/
+history_59 = emptyTrash.vbs
+history_60 = toushin_trac
+history_61 = KMS
+history_62 = C:/Documents and Settings/1134250023130/Application Data/CraftFiler/
+history_63 = OracleSupport
+history_64 = //ogaki-sv4/プロジェクト/センタファイル/
+history_65 = SINAVI
+history_66 = SOX_Configration
+history_67 = makesyogaiteirei
+history_68 = makegekkansagyohokoku
+history_69 = setup_win
+history_70 = C:/Program Files/vim/gvim.exe
+history_71 = Reload
+history_72 = diff_copy
+history_73 = KnowledgeWorld
+history_74 = Knowledge
+history_75 = d:/ProgramData/OKB-PJ/
+history_76 = hta-grunt
+history_77 = ZaikanSama
+history_78 = //ogaki-sv/月末統計/ORION/
+history_79 = //ogaki-sv/共有ファイル/common/定例会資料/
+history_80 = AdobeReader
+history_81 = DashBoard
+history_82 = @
+history_83 = Toushi
+history_84 = DEMOUSER
+history_85 = LREdit
+history_86 = ESSf
+history_87 = PerfomanceGraff
+history_88 = mintty
+history_89 = RecycleBinFolder
+history_90 = grunt
+history_91 = hta-grunt;build
+history_92 = grunt;build
+history_93 = allExecute
+history_94 = :
+history_95 = d:/ProgramData/OKB-PJ/ocm-repos/
+history_96 = //ogaki-sv4/プロジェクト/センタファイル/データ連携/開/OKB_Project/
+history_97 = Caesium
+history_98 = putty
+history_99 = g:i:
+history_100 = Education
+history_101 = C:/Documents and Settings/1134250023130/howm/2013/07/2013-07-02-101959.md
+history_102 = g:f:
+history_103 = //abkfs06.nsl.ad.nec.co.jp/a01763-01/310_大垣共立銀行ＰＪ/101_契約管理/
+history_104 = StarofficeTop
+history_105 = //ogaki-sv4/プロジェクト/センタファイル/全般/出荷管理/
+history_106 = //conta01.nsl.ad.nec.co.jp/ca00047/KIND/79_出荷管理/リリース_20130709/ポータル個別パッチ/
+history_107 = C:/Documents and Settings/1134250023130/デスクトップ/
+history_108 = PowerPoint
+history_109 = Out
+history_110 = //conta01.nsl.ad.nec.co.jp/ca00047/KIND/
+history_111 = emacs
+history_112 = C:/Documents and Settings/1134250023130/My Documents/Downloads/
+history_113 = HCMAP
+history_114 = //abkfs06.nsl.ad.nec.co.jp/a01763-01/310_大垣共立銀行ＰＪ/101_契約管理/20130609-10_1_リリース５点セット/
+history_115 = C:/
+history_116 = Ll
+history_117 = EPO
+history_118 = mycopy
+history_119 = GetsumatsuToukei
+history_120 = f:/20130610/
+history_121 = C:/Archives/投信Web/
+history_122 = C:/tmp/
+history_123 = C:/Archives/
+history_124 = //12PS00843/backup
+history_125 = C:/cygwin/bin/
+history_126 = //192.168.1.234/TracLight
+history_127 = //abkfs06.nsl.ad.nec.co.jp/a01763-01/310_大垣共立銀行ＰＪ/101_契約管理/20130104_1H_原-取消明細間残高補正不可/20130219_No181A追加対応/
+history_128 = C:/work/winscripts/pj/新人事給与/_詳細設計書/大垣人事給与-詳細設計書-JobCenter.xls
+history_129 = C:/ProgramData/SDE4/Java/tools/SDE/eclipse/plugins/com.nec.jp.renaissa_1.0.0/license/com/nec/jp/orteus/util/license/
+history_130 = HULFT
+history_131 = mco-log-extract
+history_132 = mspaint
+history_133 = C:/WINDOWS/system32/
+history_134 = RestartTracLightning
+history_135 = Necnetr
+history_136 = \\Ogaki-sv\月末統計
+history_137 = \\abkfs06.nsl.ad.nec.co.jp\a01763-01\310_大垣共立銀行ＰＪ
+history_138 = Fushimi_Trac
+history_139 = TRP
+history_140 = j2
+history_141 = clptrek
+history_142 = SPI
+history_143 = chrome
+history_144 = chrome;Http://yuyumemi.dyndns.org/wordpress/plantUML/jimukanribu.png
+history_145 = Http://yuyumemi.dyndns.org/wordpress/plantUML/test.svg
+history_146 = \\192.168.1.234\TracLight
+history_147 = calc
+history_148 = //abkfs06.nsl.ad.nec.co.jp/a01763-01/310_大垣共立銀行ＰＪ/
+history_149 = GomiBako
+history_150 = Regedit
+history_151 = //abkfs06.nsl.ad.nec.co.jp/a01763-01/310_大垣共立銀行ＰＪ/inu/
+history_152 = //abkfs06.nsl.ad.nec.co.jp/a01763-01/310_大垣共立銀行ＰＪ
+history_153 = /20110531_ODICCAUTHSV/ODICCAUTHSV1U/
+history_154 = \\conta01.nsl.ad.nec.co.jp\ca00047\KIND/
+history_155 = Kn
+history_156 = Powo
+history_157 = WinShot
+history_158 = Toggl
+history_159 = SendTo
+history_160 = test
+history_161 = Shu
+history_162 = Staroffice
+history_163 = Eesra
+history_164 = H
+history_165 = ruby
+history_166 = tsntest.okbnetplaza.com
+history_167 = f:g:
+history_168 = ir
+history_169 = iPX_月末統計資料作成手順書
+history_170 = 113425jas
+history_171 = PortalTracLightning
+history_172 = DF
+history_173 = CLUSTERPRO
+history_174 = version
+history_175 = C:/Documents and Settings/1134250023130/.vim_junk/2013/01/
+history_176 = ire
+history_177 = logTail;c:/Documents and Settings/1134250023130/Dropbox/log/convertTs2Cmd.cmd.log
+history_178 = i:g
+history_179 = NyuKanShou
+history_180 = ORION定例会資料_作成手順書
+history_181 = Google;vector
+history_182 = PASPO
+history_183 = Cfiler;c:\Documents and Settings/
+history_184 = Portal
+history_185 = \\Ogaki-sv\共有ファイル\common/
+history_186 = iPX_月末統計資料作成手順書_
+history_187 = H:/
+history_188 = i:
+history_189 = Kkkkkkkkkkkkkkkk
+history_190 = f:i
+history_191 = TracExport
+history_192 = checkRelease
+history_193 = TracExport_for_Kind
+history_194 = make
+history_195 = maximize;excel
+history_196 = KINDnet_打ち上げ出欠
+history_197 = thuadd
+history_198 = Http://www.spi.nec.co.jp/swf/features#BuildTest
+history_199 = EXi
+history_200 = thuc
+history_201 = SoftNavi
+history_202 = Http://192.168.1.248
+history_203 = Cif
+history_204 = 1075
+history_205 = 941+134
+history_206 = 356*150/100
+history_207 = 1887
+history_208 = 215+1672
+history_209 = 1228+659
+history_210 = 1013
+history_211 = 1672-659
+history_212 = Winword
+history_213 = Cpl
+history_214 = close;excel
+history_215 = close;word
+history_216 = foreground;GVIM
+history_217 = foreground;thunderbird
+history_218 = change_trac_ini
+history_219 = Cx
+history_220 = firefox;
+history_221 = Hh
+history_222 = Seminer
+history_223 = Wins
+history_224 = capture
+history_225 = g
+history_226 = maximize;cfiler
+history_227 = maximize;firefox
+history_228 = maximize;thunderbird
+history_229 = maximize;mintty
+history_230 = Rap
+history_231 = tu
+history_232 = maximize;JASMINE
+history_233 = maximize;gvim
+history_234 = \\abkfs06.nsl.ad.nec.co.jp\a01763-01
+history_235 = maximize;JASMIN
+history_236 = C:/work/
+history_237 = C:/work/clang/
+history_238 = \\10.72.83.1\h$
+history_239 = thuu
+history_240 = minimize;cfiler
+history_241 = InternetExplorer
+history_242 = fie
+history_243 = d:/
+history_244 = P:/行動予定/G-データ連携/
+history_245 = P:/センタファイル/契約管理/障/
+history_246 = P:/行動予定/
+history_247 = g:/
+history_248 = g:/20120408-20120409_1H_契約管理_データ連携_統合監視リリース/
+history_249 = f:
+history_250 = g:
+
+[THEME]
+name = black
+
+[MISC]
+default_keymap = 106
+auto_complete = 1
+hotkey_behavior = toggle
+inactive_behavior = hide
+directory_separator = slash
+
+[HOTKEY]
+activate_vk = 13
+activate_mod = 2
+
+[COMMANDLIST]
+command_0 = ('FlowLites', 'http://fl.stf.cnes.nec.co.jp/flowlites/index.jsp', '', '')
+command_1 = ('TRP', 'http://trp.stf.cnes.nec.co.jp/Login/INI_Login.po?', '', '')
+command_2 = ('AddressKun', 'https://phone.gds.nec.co.jp/nec.htm', '', '')
+command_3 = ('EPO', 'http://scale2.stf.cnes.nec.co.jp/ScaleWebTK/Scripts/Scbl0200.asp', '', '')
+command_4 = ('CNES', 'http://opcews01.gkn.cnes.nec.co.jp/', '', '')
+command_5 = ('SIES', 'http://sies.hrd.nec.co.jp/cnes/', '', '')
+command_6 = ('LIBRA', 'https://www.libra.nis.nec.co.jp/libra/', '', '')
+command_7 = ('ShainMail', 'https://mail.jp.nec.com/EMAIL', '', '')
+command_8 = ('esRas', 'https://pws.es-ras.nec.co.jp/smx_sll/sa/', '', '')
+command_9 = ('ShisanKanri', 'http://opcews01.gkn.cnes.nec.co.jp/it-infra/shisan/index.htm', '', '')
+command_10 = ('ORION定例会資料_作成手順書', '\\\\ogaki-sv\\月末統計\\ORION定例会資料_作成手順書.xls', '', '\\\\ogaki-sv\\月末統計')
+command_11 = ('Support', 'http://www.support.nec.co.jp/PSHome.aspx', '', '')
+command_12 = ('Everything', 'C:\\Program Files\\Everything\\Everything.exe', '', 'C:\\Program Files\\Everything')
+command_13 = ('HCMAP', 'https://zpfic0vme227.zpf.nec.co.jp/somu/wis/HCMAP2/index.htm', '', '')
+command_14 = ('KMS', 'http://kw.stf.cnes.nec.co.jp/kw/', '', '')
+command_15 = ('diff_copy', 'C:\\work\\bat\\diff_copy.bat', '', 'C:\\work\\bat')
+command_16 = ('sakura', 'C:\\Applications\\sakura\\sakura.exe', '', 'C:\\Applications\\sakura')
+command_17 = ('mco-log-rename', 'C:\\work\\bat\\mco\\mco-log-rename.bat', '', 'C:\\work\\bat\\mco')
+command_18 = ('mco-log-extract', 'C:\\work\\winscripts\\bat\\mco\\mco-log-extract.bat', '', 'C:\\work\\winscripts\\bat\\mco')
+command_19 = ('PerfomanceGraff', 'C:\\work\\bat\\mco\\パフォーマンスログ-グラフ作成ツール.xls', '', 'C:\\work\\bat\\mco')
+command_20 = ('iPX_月末統計資料作成手順書', '\\\\Ogaki-sv\\月末統計\\(iPX)月末統計資料作成手順書.xls', '', '\\\\Ogaki-sv\\月末統計')
+command_21 = ('abkf_copy', 'C:\\work\\git\\win\\bat\\abkf_copy.bat', '', 'C:\\work\\git\\win\\bat')
+command_22 = ('TracLightning', 'http://192.168.1.234/trac', '', '')
+command_23 = ('KONICA_MINOLTA', 'http://192.168.1.201', '', '')
+command_24 = ('RestartTracLightning', 'C:\\work\\winscripts\\bat\\RestartTracLightning.bat', '', 'C:\\work\\winscripts\\bat')
+command_25 = ('PortalTracLightning', 'http://v00.eng.cnes.nec.co.jp/trac/community01/', '', '')
+command_26 = ('Education', 'http://cnes-edu-ks3sr1.edu.cnes.nec.co.jp/edu/ks3menu.htm', '', '')
+command_27 = ('ruby', 'https://www.ruby.nec.co.jp/msu/Login.aspx', '', '')
+command_28 = ('ServerList', '\\\\192.168.1.4\\プロジェクト\\小集団活動\\【秘密】大垣プロジェクト システム一覧.xls', '', '')
+command_29 = ('TracExport', 'C:\\work\\winscripts\\wsh\\JScript\\TracExport.cmd', '', 'C:\\work\\winscripts\\wsh\\JScript')
+command_30 = ('SINAVI', 'http://sinavi.mspd.nec.co.jp/', '', '')
+command_31 = ('PASPO', 'https://www.paspo.nec.co.jp/service/login.do', '', '')
+command_32 = ('AIS', 'http://kw.stf.cnes.nec.co.jp/ais/index.asp', '', '')
+command_33 = ('capture', 'C:\\work\\winscripts\\wsh\\JScript\\capture.cmd', '', 'C:\\tmp\\tmp')
+command_34 = ('WinShot', 'C:\\Applications\\WinShot\\WinShot.exe', '', 'C:\\Applications\\WinShot')
+command_35 = ('Seminer', 'http://opcews01.gkn.cnes.nec.co.jp/bpd/shinki/know.html', '', '')
+command_36 = ('TracExport_for_Kind', 'C:\\work\\winscripts\\wsh\\JScript\\TracExport_for_Kind.cmd', '', 'C:\\work\\winscripts\\wsh\\JScript')
+command_37 = ('change_trac_ini', 'C:\\work\\winscripts\\bat\\change_trac_ini.bat', '', 'C:\\work\\winscripts\\bat')
+command_38 = ('SoftNavi', 'http://www.soft.nec.co.jp/EVNT/index.html', '', '')
+command_39 = ('findconsole', 'C:\\work\\git\\coffeescripts\\wsh\\cmd\\findconsole.cmd', '', 'C:\\work\\git\\coffeescripts\\wsh\\cmd')
+command_40 = ('allExecute', 'C:\\work\\winscripts\\wsh\\JScript\\allExecute.cmd', '', 'C:\\work\\winscripts\\wsh\\JScript')
+command_41 = ('DASHBOARD', 'http://www.ipc.nec.co.jp/', '', '')
+command_42 = ('Staroffice', 'https://www.intra.nec.co.jp/StarOffice/', '', '')
+command_43 = ('Fushimi_Trac', 'http://10.72.83.1:8080/trac', '', '')
+command_44 = ('setup_win', 'C:\\cygwin\\home\\1134250023130\\dotfiles\\setup_win.bat', '', 'C:\\cygwin\\home\\1134250023130\\dotfiles')
+command_45 = ('SWF', 'https://swf0000497.swf.nec.co.jp/sdwiki', '', '')
+command_46 = ('SOX_Configration', 'C:\\work\\winscripts\\pj\\KINDnet\\運用管理者編_コンフィグレーションガイド.pdf', '', 'C:\\work\\winscripts\\pj\\KINDnet')
+command_47 = ('KINDnet_打ち上げ出欠', '\\\\conta01.nsl.ad.nec.co.jp\\ca00047\\KIND\\KINDnet_打ち上げ出欠.xls', '', '\\\\conta01.nsl.ad.nec.co.jp\\ca00047\\KIND')
+command_48 = ('ZaikanSama', 'http://www1.as3.cnes.nec.co.jp/wwwdata3/01all/ozaikansama/ozaikansama.htm', '', '')
+command_49 = ('makevim', 'C:\\work\\bat\\makevim.bat', '', 'C:\\work\\bat')
+command_50 = ('VPS', 'https://www.vps.nec.co.jp/', '', '')
+command_51 = ('OracleSupport', 'https://opendb.middle.nec.co.jp/orasup/indexpage', '', '')
+command_52 = ('StarofficeTop', 'https://www.intra.nec.co.jp/StarOffice/', '', '')
+command_53 = ('checkRelease', 'C:\\work\\winscripts\\wsh\\JScript\\checkRelease.cmd', '', 'C:\\work\\winscripts\\wsh\\JScript')
+command_54 = ('NyuKanShou', '\\\\abkfs06.nsl.ad.nec.co.jp\\a01763-01\\310_大垣共立銀行ＰＪ\\inu\\客先入館証交付状況一覧（飯沼SE）20121030.xls', '', '\\\\abkfs06.nsl.ad.nec.co.jp\\a01763-01\\310_大垣共立銀行ＰＪ\\inu')
+command_55 = ('rapture', 'C:\\Applications\\rapture\\rapture.bat', '', 'C:\\Applications\\rapture')
+command_56 = ('emptyTrash.vbs', 'C:\\work\\wsh\\VBScript\\emptyTrash.vbs.lnk', '', 'C:\\work\\wsh\\VBScript')
+command_57 = ('SPI', 'http://www.spi.nec.co.jp/', '', '')
+command_58 = ('Portal', 'http://192.168.1.234/ogaki_portal/index.html', '', '')
+command_59 = ('tsntest.okbnetplaza.com', 'https://tsntest.okbnetplaza.com/ibit-view/admin/Login.do', '', '')
+command_60 = ('CLUSTERPRO', 'http://www.nec.co.jp/pfsoft/clusterpro/index.html', '', '')
+command_61 = ('HULFT', 'http://www.hulft.com/index.html', '', '')
+command_62 = ('logTail', 'C:\\work\\winscripts\\bat\\logTail.bat', '', 'C:\\work\\winscripts\\bat')
+command_63 = ('DF', 'C:\\Applications\\DF\\DF.exe', '', 'C:\\Applications\\DF')
+command_64 = ('MyWork', 'D:\\Archives\\work\\MyWork.xlsm', '', 'D:\\Archives\\work')
+command_65 = ('ESS', 'https://ess.nis.nec.co.jp/BJF/login_auth.jsp', '', '')
+command_66 = ('ShutDown', 'shutdown', '-s -t 0', '')
+command_67 = ('ControlPanel', 'shell:ControlPanelFolder', '', '')
+command_68 = ('RecycleBinFolder', 'shell:RecycleBinFolder', '::{645FF040-5081-101B-9F08-00AA002F954E}', '')
+command_69 = ('Printer', 'shell:PrintersFolder', '', '')
+command_70 = ('test', 'shell:RecycleBinFolder', '', '')
+command_71 = ('SendTo', 'shell:SendTo', '', '')
+command_72 = ('Toggl', '"C:\\Documents and Settings\\1134250023130\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe"', '  --profile-directory=Default --app-id=idlodjlnhgndgamohpahdopfchaepgfl', '"C:\\Documents and Settings\\1134250023130\\Local Settings\\Application Data\\Google\\Chrome\\Application"')
+command_73 = ('Reboot', 'shutdown', '-r -t 0', '')
+command_74 = ('DEMOUSER', 'C:\\Archives\\KINDnet\\20130510_1_店内協議書デモ\\デモユーザ.xls', '', 'C:\\Archives\\新KINDnet\\20130510_1_店内協議書デモ')
+command_75 = ('clptrek', 'C:\\Applications\\CLUSTERPRO SSS\\clpbuilder-l\\clptrek.htm', '', 'C:\\Applications\\CLUSTERPRO SSS\\clpbuilder-l')
+command_76 = ('mycopy', 'C:\\work\\bat\\mycopy.bat', '', 'C:\\work\\bat')
+command_77 = ('cmd', 'C:\\WINDOWS\\system32\\cmd.exe', '', '%USERPROFILE%')
+command_78 = ('mspaint', 'C:\\WINDOWS\\system32\\mspaint.exe', '', 'C:\\WINDOWS\\system32')
+command_79 = ('GetsumatsuToukei', '\\\\Ogaki-sv\\月末統計\\ORION\\月末統計情報.xls', '', '\\\\Ogaki-sv\\月末統計\\ORION')
+command_80 = ('emacs', 'C:\\gnupack_devel\\emacs.exe', '', 'C:\\gnupack_devel')
+command_81 = ('Caesium', 'C:\\Applications\\Caesium Portable\\Caesium.exe', '', 'C:\\Applications\\Caesium Portable')
+command_82 = ('makesyogaiteirei', 'C:\\work\\coffeescripts\\wsh\\cmd\\makesyogaiteirei.cmd', '', 'C:\\work\\coffeescripts\\wsh\\cmd')
+command_83 = ('makegekkansagyohokoku', 'C:\\work\\coffeescripts\\wsh\\cmd\\makegekkansagyohokoku.cmd', '', 'C:\\work\\coffeescripts\\wsh\\cmd')
+command_84 = ('hta-grunt', 'C:\\work\\coffeescripts\\hta\\hta-grunt.bat', '', 'C:\\work\\coffeescripts\\hta')
+command_85 = ('wsh-grunt', 'C:\\work\\git\\coffeescripts\\wsh\\wsh-grunt.bat', '', 'C:\\work\\git\\coffeescripts\\wsh')
+command_86 = ('mintty', 'C:\\MinGW\\msys\\1.0\\msys.bat', '--mintty', 'C:\\MinGW\\msys\\1.0')
+command_87 = ('toushinkadoutoukei', 'C:\\work\\coffeescripts\\wsh\\cmd\\toushinkadoutoukei.cmd', '', 'C:\\work\\coffeescripts\\wsh\\cmd')
+command_88 = ('KnowledgeWorld', 'http://kw.stf.cnes.nec.co.jp/kw/', '', '')
+command_89 = ('setup_win', 'C:\\cygwin\\home\\1134250023130\\dotfiles\\setup_win.bat', '', 'C:\\cygwin\\home\\1134250023130\\dotfiles')
+command_90 = ('toushin_trac', 'https://swf1000066.swf.nec.co.jp/trac/1000597/', '', '')
+command_91 = ('diffvimrc', 'C:\\work\\git\\win\\bat\\diffvimrc.bat', '', 'C:\\work\\git\\win\\bat')
+command_92 = ('Console', 'C:\\Applications\\Console2\\Console.exe', '', 'C:\\Applications\\Console2')
+command_93 = ('diffzshenv', 'C:\\work\\git\\win\\bat\\diffzshenv.bat', '', 'C:\\work\\git\\win\\bat')
+command_94 = ('notepad', 'C:\\Windows\\System32\\notepad.exe', '', 'C:\\Windows\\System32')
+
diff --git a/win/CraftLaunch/config.py b/win/CraftLaunch/config.py
new file mode 100755
index 0000000..1776e00
--- /dev/null
+++ b/win/CraftLaunch/config.py
@@ -0,0 +1,227 @@
+﻿import os
+import sys
+from clnch import *
+
+
+# 設定処理
+def configure(window):
+
+    # 初期非表示
+    window.inactivate()
+
+    user_name    = os.environ['USERNAME']
+    profile_path = os.environ['USERPROFILE']
+    appdata_path = os.environ['APPDATA']
+    desktop_path = os.path.join(profile_path, "デスクトップ")
+    mydocuments   = os.path.join(profile_path, "My Documents")
+    documents    = os.path.join(profile_path, "Documents")
+    downloads    = os.path.join(mydocuments, "Downloads")
+    pictures     = os.path.join(profile_path, "Pictures")
+    music        = os.path.join(profile_path, "Music")
+    videos       = os.path.join(profile_path, "Videos")
+    startup      = os.path.join(appdata_path, "Microsoft/Windows/Start Menu/Programs/Startup")
+    dropbox      = os.path.join(profile_path, "Dropbox")
+
+    window.mypath = {
+            'path_ffc'         : 'C:/Applications/ffc/FFC.exe',
+            'path_ckw'         : '',
+            'path_cmd'         : 'cmd',
+            'path_diff_editor' : 'C:/Applications/WinMerge/WinMergeU.exe',
+            'path_text_editor' : 'C:/Applications/vim/gvim.exe',
+            }
+    # --------------------------------------------------------------------
+    # from 2ch >>302
+    def FGorExecute(path, args = "", directory = "", mode = 1):
+        #def ret(args):
+        def ret():
+            def windows():
+                child = pyauto.Window.getDesktop().getFirstChild()
+                while child:
+                    yield child
+                    child = child.getNext()
+                raise StopIteration()
+            flg = False
+            for wnd in windows():
+                try:
+                    if wnd.getProcessName() == os.path.split(path)[1]:
+                        if wnd.isVisible() == False: continue
+                        if wnd.isMinimized() == True: wnd.restore()
+                        wnd.setForeground(True)
+                        flg = True
+                except: pass
+            if not flg:
+                #window.command_ShellExecute( None, path, "", "" )(args)
+                window.command_ShellExecute(None, path, args, directory, mode)(args)
+        return ret
+
+    # All
+    def AllExecute():
+        FGorExecute( r"C:\Applications\cfiler\cfiler.exe")
+        FGorExecute( r"C:\Program Files\vim\gvim.exe")
+        FGorExecute( r"C:\cygwin\bin\mintty.exe /bin/zsh")
+        FGorExecute( r"C:\Program Files\Mozilla Thunderbird\thunderbird.exe")
+        FGorExecute( r"C:\Program Files\Mozilla Firefox\firefox.exe")
+
+    # --------------------------------------------------------------------
+    # window_command.py
+    #import window_command
+    #reload(window_command)
+    #window.cmd_keymap[ "C-L" ] = window_command.command_ForegroundWindow
+    #window.cmd_keymap[ "C-Minus" ] = window_command.command_CloseWindow
+    #window.launcher.command_list += [
+        #( "foreground", window_command.command_ForegroundWindow ),
+        #( "close",      window_command.command_CloseWindow ),
+        #( "minimize",   window_command.command_MinimizeWindow ),
+        #( "maximize",   window_command.command_MaximizeWindow ),
+        #( "restore",    window_command.command_RestoreWindow ),
+    #]
+
+    # --------------------------------------------------------------------
+    # misc.py
+    #import misc
+    #reload(misc)
+
+    # cls コマンドを登録する
+    #window.launcher.command_list += [ ( "cls", misc.command_ClearConsole ) ]
+
+    # Google コマンドを g で使えるようにする
+    #misc.addAlias( window, "Google", "g" )
+
+    # --------------------------------------------------------------------
+    # F1 キーでヘルプファイルを起動する
+    def command_Help():
+        print( "Helpを起動 :" )
+        help_path = os.path.join( getAppExePath(), 'doc\\index.html' )
+        shellExecute( None, help_path, "", "" )
+        print( "Done.\n" )
+
+    window.cmd_keymap[ "F1" ] = command_Help
+
+    # --------------------------------------------------------------------
+    # Ctrl-E で、入力中のファイルパスを編集する
+    window.cmd_keymap[ "C-E" ] = window.command_Edit
+
+    # --------------------------------------------------------------------
+    # Alt-Space で、自動補完を一時的にOn/Offする
+    window.keymap[ "A-Space" ] = window.command_AutoCompleteToggle
+
+    # --------------------------------------------------------------------
+    # テキストエディタを設定する
+    if 1: # プログラムのファイルパスを設定 (単純な使用方法)
+        window.editor = window.mypath['path_text_editor']
+
+    # --------------------------------------------------------------------
+    # ファイルタイプごとの動作設定
+    window.association_list += [
+        ( "*.mpg *.mpeg *.avi *.wmv", window.command_ShellExecute( None, "wmplayer.exe", "/prefetch:7 /Play %param%", "" ) ),
+    ]
+
+    # --------------------------------------------------------------------
+    # 非アクティブ時の時計の形式
+    if 1:
+        # 年と秒を省略した短い形式
+        window.clock_format = "%m/%d(%a) %H:%M"
+    else:
+        # 年月日(曜日) 時分秒 の全てを表示する
+        window.clock_format = "%Y/%m/%d(%a) %H:%M:%S"
+
+    # --------------------------------------------------------------------
+    # 空欄コマンド
+    #   コマンド名なしでEnterを押したときに実行されるコマンドです。
+    #   この例では、ほかのアプリケーションをフォアグラウンド化するために使います。
+    def command_QuickActivate( args, mod ):
+
+        def callback( wnd, arg ):
+            process_name, class_name = arg[0], arg[1]
+            if (process_name==None or wnd.getProcessName()==process_name) and (class_name==None or wnd.getClassName()==class_name):
+                wnd = wnd.getLastActivePopup()
+                wnd.setForeground(True)
+                return False
+            return True
+
+        if mod==MODKEY_SHIFT:
+            pyauto.Window.enum( callback, ["cfiler.exe",None] )
+        elif mod==MODKEY_CTRL:
+            pyauto.Window.enum( callback, ["notepad.exe","Notepad"] )
+        elif mod==MODKEY_SHIFT|MODKEY_CTRL:
+            pyauto.Window.enum( callback, ["mintty.exe","MinTTY"] )
+
+    window.launcher.command_list += [ ( "", command_QuickActivate ) ]
+
+    # --------------------------------------------------------------------
+    # "NetDrive" コマンド
+    #   ネットワークドライブを割り当てるか解除を行います。
+    #    NetDrive;L;\\server\share : \\machine\public を Lドライブに割り当てます
+    #    NetDrive;L                : Lドライブの割り当てを解除します
+    def command_NetDrive(args):
+
+        if len(args)>=1:
+            drive_letter = args[0]
+            if len(args)>=2:
+                path = args[1]
+                checkNetConnection(path)
+                if window.subProcessCall( [ "net", "use", drive_letter+":", os.path.normpath(path), "/yes" ], cwd=None, env=None, enable_cancel=False )==0:
+                    print( "%s に %sドライブを割り当てました。" % ( path, drive_letter ) )
+            else:
+                if window.subProcessCall( [ "net", "use", drive_letter+":", "/D" ], cwd=None, env=None, enable_cancel=False )==0:
+                    print( "%sドライブの割り当てを解除しました。" % ( drive_letter ) )
+        else:
+            print( "ドライブの割り当て : NetDrive;<ドライブ名>;<パス>" )
+            print( "ドライブの解除     : NetDrive;<ドライブ名>" )
+
+    # --------------------------------------------------------------------
+    # コマンドを登録する
+    window.launcher.command_list += [
+        ( "NetDrive",  command_NetDrive ),
+        #( "Cfiler",    window.command_ShellExecute( None, "C:/Applications/cfiler/cfiler.exe", "", "" ) ),
+        ( "cmd",       window.command_ShellExecute( None, "C:/Applications/cmd/cmd.exe.lnk", "", "" ) ),
+        ( "Peggy",     window.command_ShellExecute( None, "C:/ols/anchor/peggy/peggypro.exe", "", "" ) ),
+        ( "Becky",     window.command_ShellExecute( None, "C:/ols/becky/B2.exe", "", "" ) ),
+        #( "FireFox",   window.command_ShellExecute( None, "C:/Program Files (x86)/Mozilla Firefox/firefox.exe", "", "C:/Program Files/Mozilla Firefox" ) ),
+        ( "Google",    window.command_URL( "http://www.google.com/search?ie=utf8&q=%param%", encoding="utf8" ) ),
+        ( "Eijiro",    window.command_URL( "http://eow.alc.co.jp/%param%/UTF-8/", encoding="utf8" ) ),
+        ( "chrome",    FGorExecute( r"C:\Documents and Settings\1134250023130\Local Settings\Application Data\Google\Chrome\Application\chrome.exe") ),
+        ( "Cfiler",    FGorExecute( r"C:\Applications\cfiler\cfiler.exe", "", "", 3) ),
+        ( "gvim",      FGorExecute( r"C:\Program Files\vim\gvim.exe") ),
+        #( "mintty",    FGorExecute( r"C:\cygwin\bin\mintty.exe /bin/zsh") ),
+        ( "thunderbird",    FGorExecute( r"C:\Program Files\Mozilla Thunderbird\thunderbird.exe") ),
+        ( "iexplore",    FGorExecute( r"C:\Program Files\Internet Explorer\iexplore.exe") ),
+        ( "firefox",    FGorExecute("C:/Program Files/Mozilla Firefox/firefox.exe") ),
+        ( "EXCEL",    FGorExecute( r"C:\Program Files\Microsoft Office\Office14\EXCEL.EXE") ),
+        ( "WORD",    FGorExecute( r"C:\Program Files\Microsoft Office\Office14\WINWORD.EXE") ),
+        ( "mstsc",    FGorExecute( r"C:\WINDOWS\system32\mstsc.exe") ),
+        ( "sakura",    FGorExecute( r"C:\Applications\sakura\sakura.exe") ),
+        ( "cmd",    FGorExecute( r"C:\WINDOWS\system32\cmd.exe") ),
+        ( "AdobeReader",    FGorExecute( r"C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe") ),
+        ( "PowerPoint",    FGorExecute( r"C:\Program Files\Microsoft Office\Office14\POWERPNT.EXE") ),
+        ( "LREdit",    FGorExecute( r"C:\Applications\lredit\lredit.exe") ),
+        ( "JASMINE",    FGorExecute( r"\\192.168.1.4\プロジェクト\行動予定\JASMINE.EXE", r"\\192.168.1.4\プロジェクト\行動予定\G-データ連携\IMAGAWA 今川", r"\\192.168.1.4\プロジェクト\行動予定", 3) ),
+
+        ( "WinMerge",    FGorExecute( r"C:\Program Files\WinMerge\WinMergeU.exe") ),
+        ( "Outlook",    FGorExecute( r"C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE") ),
+    ]
+
+
+# リストウインドウの設定処理
+def configure_ListWindow(window):
+
+    # --------------------------------------------------------------------
+    # F1 キーでヘルプファイルを表示する
+
+    def command_Help():
+        print( "Helpを起動 :" )
+        help_path = os.path.join( getAppExePath(), 'doc\\index.html' )
+        shellExecute( None, help_path, "", "" )
+        print( "Done.\n" )
+
+    window.keymap[ "F1" ] = command_Help
+
+    # Down Cursor
+    window.keymap[ "J" ] = window.command_CursorDown
+    # Up Cursor
+    window.keymap[ "K" ] = window.command_CursorUp
+    # Cancel
+    window.keymap[ "C-OpenBracket" ] = window.cancel
+    # Search
+    window.keymap[ "Slash" ] = window.command_IncrementalSearch
+
diff --git a/zsh/.zshenv b/zsh/.zshenv
new file mode 100755
index 0000000..c319804
--- /dev/null
+++ b/zsh/.zshenv
@@ -0,0 +1,249 @@
+#######################################################################################################
+#{{{ 環境設定
+# if not running interactively, don't do anything
+[ -z "$PS1" ] && return
+
+# SHELL
+export SHELL=zsh
+
+# パスの設定
+## 重複したパスを登録しない。
+typeset -U path
+## (N-/): 存在しないディレクトリは登録しない。
+## パス(...): ...という条件にマッチするパスのみ残す。
+## N: NULL_GLOBオプションを設定。
+## globがマッチしなかったり存在しないパスを無視する。
+## -: シンボリックリンク先のパスを評価。
+## /: ディレクトリのみ残す。
+# brew コマンドと使うために最初に追加
+path=(/usr/local/bin(N-/))
+path=(
+    # windows python
+    /cygdrive/c/Python27(N-/)
+    /cygdrive/c/Python27/Scripts(N-/)
+    /cygdrive/c/work/winscripts/sh(N-/)
+    # homebrew
+    /usr/local/bin(N-/)
+    /opt/boxen/homebrew(N-/)
+    # coreutils
+    /usr/local/opt/coreutils/libexec/gnubin(N-/)
+    /opt/boxen/homebrew/opt/coreutils/libexec/gnubin(N-/)
+    # システム用
+    /bin(N-/)
+    /sbin(N-/)
+    /usr/sbin(N-/)
+    # ~/bin/
+    $HOME/bin(N-/)
+    $HOME/bin/scripts(N-/)
+    # nodebrew
+    $HOME/.nodebrew/current/bin(N-/)
+    /cygdrive/c/Program\ Files/nodejs(N-/) # for Cygwin
+    # 自分用（--prefix=$HOME/localでインストールしたもの）
+    $HOME/local/bin(N-/)
+    # 自分用（gem install --user-installでインストールしたもの）
+    ## 2012-01-07
+    $HOME/.gem/ruby/*/bin(N-/)
+    # Debian GNU/Linux用
+    /var/lib/gems/*/bin(N-/)
+    # MacPorts用
+    /opt/local/bin(N-/)
+    # Solaris用
+    /opt/csw/bin(N-/)
+    /usr/sfw/bin(N-/)
+    /usr/ccs/bin(N-/)
+    # Cygwin用
+    /cygdrive/c/meadow/bin(N-/)
+    # システム用
+    /usr/local/bin(N-/)
+    /usr/bin(N-/)
+    /usr/games(N-/)
+    # pip
+    /usr/local/share/python(N-/)
+    # cabal
+    $HOME/.cabal/bin(N-/)
+    # go
+    $GOROOT/bin(N-/)
+    $GOPATH/bin(N-/)
+    # java for cygwin
+    /cygdrive/c/Program\ Files/Java/jdk1.7.0_21/bin(N-/)
+)
+# for Cygwin
+if which cygpath > /dev/null; then
+    export PATH=$PATH:$(/bin/cygpath $APPDATA)/npm/
+fi
+# sudo時のパスの設定
+## -x: export SUDO_PATHも一緒に行う。
+## -T: SUDO_PATHとsudo_pathを連動する。
+typeset -xT SUDO_PATH sudo_path
+## 重複したパスを登録しない。
+typeset -U sudo_path
+## (N-/): 存在しないディレクトリは登録しない。
+## パス(...): ...という条件にマッチするパスのみ残す。
+## N: NULL_GLOBオプションを設定。
+## globがマッチしなかったり存在しないパスを無視する。
+## -: シンボリックリンク先のパスを評価。
+## /: ディレクトリのみ残す。
+sudo_path=({,/usr/pkg,/usr/local,/usr}/sbin(N-/))
+
+# man用パスの設定
+## 重複したパスを登録しない。
+typeset -U manpath
+## (N-/) 存在しないディレクトリは登録しない。
+## パス(...): ...という条件にマッチするパスのみ残す。
+## N: NULL_GLOBオプションを設定。
+## globがマッチしなかったり存在しないパスを無視する。
+## -: シンボリックリンク先のパスを評価。
+## /: ディレクトリのみ残す。
+manpath=(
+    # 自分用
+    $HOME/local/share/man(N-/)
+    # MacPorts用
+    /opt/local/share/man(N-/)
+    # Homebrewy用
+    /usr/local/opt/coreutils/libexec/gnuman(N-/)
+    /opt/boxen/homebrew/opt/coreutils/libexec/gnuman(N-/)
+    # Solaris用
+    /opt/csw/share/man(N-/)
+    /usr/sfw/share/man(N-/)
+    # システム用
+    /usr/local/share/man(N-/)
+    /usr/share/man(N-/)
+)
+
+# ページャの設定
+if type lv > /dev/null 2>&1; then
+    ## lvを優先する。
+    export PAGER="lv"
+else
+    ## lvがなかったらlessを使う。
+    export PAGER="less"
+fi
+
+# lvの設定
+## -c: ANSIエスケープシーケンスの色付けなどを有効にする。
+## -l: 1行が長くと折り返されていても1行として扱う。
+## （コピーしたときに余計な改行を入れない。）
+export LV="-c -l"
+
+if [ "$PAGER" != "lv" ]; then
+    ## lvがなくてもlvでページャーを起動する。
+    alias lv="$PAGER"
+fi
+
+# lessの設定
+## -R: ANSIエスケープシーケンスのみ素通しする。
+## 2012-09-04
+export LESS="-R"
+
+# EDITOR
+if [ -f "/Applications/MacVim.app/Contents/MacOS/Vim" ]; then
+    export EDITOR="/Applications/MacVim.app/Contents/MacOS/Vim"
+else
+    export EDITOR=vim
+fi
+
+# bashmarks.sh
+[ -e "$HOME/.local/bin/bashmarks.sh" ] && source ~/.local/bin/bashmarks.sh
+
+# This loads RVM into a shell session.
+[ -s "${HOME}/.rvm/scripts/rvm" ] && source "${HOME}/.rvm/scripts/rvm"
+
+# Haxe
+if which brew > /dev/null; then
+    [ -d "$(brew --prefix)/share/haxe/std" ] && export HAXE_LIBRARY_PATH="$(brew --prefix)/share/haxe/std"
+fi
+
+# rvm default use
+#rvm use 1.9.2-head > /dev/null
+
+# rbenv
+[ ! -d $HOME/.rbenv ] && git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
+if [ -d $HOME/.rbenv ]; then
+    export RBENV_ROOT="$HOME/.rbenv"
+    [ ! -d $RBENV_ROOT/plugins/ruby-build ] && git clone https://github.com/sstephenson/ruby-build.git $RBENV_ROOT/plugins/ruby-build
+    [ -d "$RBENV_ROOT/completions" ] && source $RBENV_ROOT/completions/rbenv.zsh
+    export PATH=$RBENV_ROOT/bin:$PATH
+    eval "$(rbenv init -)"
+    alias rgem='rbenv exec gem'
+    alias bruby='bundle exec ruby'
+    alias brake='bundle exec rake'
+fi
+
+# pythonbrew
+if [ -s "$HOME/.pythonbrew/etc/bashrc" ]; then
+    source "$HOME/.pythonbrew/etc/bashrc"
+    # exec command like virtualenvwrapper
+    alias mkvirtualenv="pythonbrew venv create"
+    alias rmvirtualenv="pythonbrew venv delete"
+    alias workon="pythonbrew venv use"
+fi
+# pythonz
+if [ -s $HOME/.pythonz/etc/bashrc ]; then
+    source $HOME/.pythonz/etc/bashrc
+    # use python 3.3.0
+    if [ -d "$HOME/.pythonz/pythons/CPython-3.3.0/bin" ]; then
+        export PATH=$HOME/.pythonz/pythons/CPython-3.3.0/bin:$PATH
+        export VIRTUALENVWRAPPER_PYTHON=$HOME/.pythonz/pythons/CPython-3.3.0/bin/python
+        export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.pythonz/pythons/CPython-3.3.0/bin/virtualenv
+        export WORKON_HOME=$HOME/.virtualenvs
+        source $HOME/.pythonz/pythons/CPython-3.3.0/bin/virtualenvwrapper.sh
+    fi
+fi
+#if [ $OSTYPE = cygwin ]; then
+#    export VIRTUALENVWRAPPER_PYTHON=/bin/python
+#    export VIRTUALENVWRAPPER_VIRTUALENV=/bin/virtualenv
+#    export WORKON_HOME=$HOME/.virtualenvs
+#    source /bin/virtualenvwrapper.sh
+#fi
+
+# pyenv
+[ ! -d $HOME/.pyenv ] && git clone git://github.com/yyuu/pyenv.git ~/.pyenv
+if [ -d $HOME/.pyenv ]; then
+    export PYENV_ROOT="$HOME/.pyenv"
+    [ ! -d $PYENV_ROOT/plugins/pyenv-virtualenv ] && git clone git://github.com/yyuu/pyenv-virtualenv.git $PYENV_ROOT/plugins/pyenv-virtualenv
+    export PATH=$PYENV_ROOT/bin:$PATH
+    eval "$(pyenv init -)"
+fi
+
+# lein
+[ ! -s $HOME/bin/lein ] && curl https://raw.github.com/technomancy/leiningen/stable/bin/lein -o ~/bin/lein && chmod +x ~/bin/lein
+export LEIN_JVM_OPTS="-Djline.terminal=jline.UnixTerminal"
+
+# screeninator
+#[ -s "$HOME/.rbenv/shims/screeninator" ] && source "$HOME/.rbenv/shims/screeninator"
+
+# tmuxinator
+[ -s $HOME/.tmuxinator/scripts/tmuxinator ] && source $HOME/.tmuxinator/scripts/tmuxinator
+
+
+# autojump
+# http://blog.glidenote.com/blog/2012/02/29/autojump-zsh/
+#[ -s `brew --prefix`/etc/autojump.sh ] && . `brew --prefix`/etc/autojump.sh
+
+# CLASSPATHの中で重複するものを削除
+typeset -U CLASSPATH
+# mac環境
+if [ `uname` = "Darwin" ]; then
+    # JAVA_HOME
+    export JAVA_HOME=$(/usr/libexec/java_home)
+    # CATALINA_HOME
+    export CATALINA_HOME="/usr/local/Cellar/tomcat/7.0.14/libexec"
+    # Java クラスパス
+    #export CLASSPATH="$CLASSPATH:$JAVA_HOME:$JAVA_HOME/lib:$JAVA_HOME/lib/ext"
+fi
+
+# Javaの文字化け対策
+export JAVA_OPTS='-Dfile.encoding=UTF-8'
+
+# fpathの中で重複するものを削除
+typeset -U fpath
+fpath=(/usr/local/share/zsh-completions(N-/) $fpath)
+
+# boxen
+[ -f /opt/boxen/env.sh ] && source /opt/boxen/env.sh
+
+# go
+export GOPATH=$HOME/.go
+[ ! -d $HOME/.go ] && mkdir $HOME/.go
+#}}}
+#######################################################################################################