環境構築と書いてげんじつとうひと読む
ビムゥ……
僕はエディタとしてVimを愛用してる。
んでもって、標準のキーバインドはなるべくいじらない主義だったわけなんだが、いい加減気になる部分もふえてきたのでごく控えめに弄ることにした。
" ======== Key Mapping ======== {{{ " ---- nomal mode ----{{{ "<NOP> means to set no command nnoremap q: <NOP> nnoremap ; : nnoremap <Backspace> :%s/ "move cursor nmap 1 ^ nmap 9 $ "}}} " ---- insert mode ---- {{{ "emacs like key-bind in insert mode inoremap <C-a> <Home> inoremap <C-e> <End> inoremap <C-f> <Right> inoremap <C-b> <Left> inoremap <C-p> <Up> inoremap <C-n> <Down> inoremap <C-h> <Backspace> inoremap <C-d> <Del> inoremap <C-k> <C-d>D inoremap <C-u> <C-o>d0 inoremap <C-y> <C-o>P "command mode inoremap <Backspace> <C-o>: inoremap $ <C-o>:%s/
こんな感じで、ようはInsert modeの時のキー移動をEmacs風にしただけというありがちなアレw
んで、ついでに、BSを封印して一気にcommand modeへ移動出来るようにした。
あとUS配列だと:の入力がだるいので;でも受け付けるようにする。あと置換は多用するので、一発で待機にもっていけるように。
この程度なら標準で備わってそうだけど……とりあえずは満足。作業効率も三倍は軽い。
ズシュゥ……
右プロンプトの表示が、VCS_info周りで実際おかしいだったので調整。
その時にいくつかわかったことがあるのでメモ。
# --------- show vcs's branch -------------------- # :=> %s:vcs's name, %b: branch's name, %a: action name autoload -Uz vcs_info zstyle ':vcs_info:*' formats '[%b]' #_default_ '(%s)-[%b]' zstyle ':vcs_info:*' actionformats '[%b|%a]' #'(%s)-[%b|%a]' if is-at-least 4.3.7; then local br_name="%F{yellow}%b%f" local stgd="%F{green}%c%f" local unst="%F{red}%u%f" zstyle ':vcs_info:git:*' check-for-changes true zstyle ':vcs_info:git:*' stagedstr '+' zstyle ':vcs_info:git:*' unstagedstr '-' zstyle ':vcs_info:git:*' formats "($br_name) [$stgd/$unst]" zstyle ':vcs_info:git:*' actionformats "[$br_name|%F{red}%a%f] [$stgd/$unst]" fi #psvarの中身は%1vとかの形で参照できる precmd () { psvar=() LANG=en_US.UTF-8 vcs_info psvar[1]=$vcs_info_msg_0_ } # %1vとして指定すると、カラー指定が反映されなくなるので直接参照 RPROMPT='%F{cyan}[%~]%f %1(v|$psvar[1]|)'
- 色の指定
%F{色名} 文字 %f
これで囲うとその範囲だけ色を変えられる。
- psvar
psvar[\d]に値を格納して、%v\dで参照してたわけなんだけど、なんだか色指定のエスケープ的なのが効かなくなってた。
これはpsvarを直接参照することで回避。
後者はこれはバグなのかなー。人によっては出来てたりすんだよね。