shellの変更とscreenの設定
仕事の合間にcygwinなどで使っているshellをbashからzshへ変更。たいした設定はしていないので、キーバインドの設定を変えるぐらいで完了。promptはデフォルトでいいかな。
# キーバインドをvi風に bindkey -v # historyサーチを追加 bindkey '^P' history-beginning-search-backward bindkey '^N' history-beginning-search-forward bindkey '^R' history-incremental-search-backward # historyの設定 HISTFILE="$HOME/.zhistory" HISTSIZE=100000 SAVEHIST=100000 # history option setopt share_history setopt hist_reduce_blanks setopt hist_ignore_all_dups
こんだけ。少ない。これでscreenで履歴の共有が出来るようになったので少しラクになったかな。zshは機能豊富でmanも読み応えがありますな。
なんとなくついでにcygwinで使っているscreenのcopy modeでbufferに入れた内容を、Windowsのクリップボードに渡せないかな、と思って試す。
.screenrcに
bind y eval writebuf "exec '/usr/bin/putclip < /tmp/screen-exchange'"
と書いてみて、C-a yを押すと/usr/bin/putclipというコマンド無いよ、とか言われてしまって動作せず。Windowsのpathなどにしてみたけれども駄目。わからん。
.bashrcに以下のように書いたら動いた。
# screenのcopy modeでコピーした内容をクリップボードへ copy-screen-copy-mode-to-clipboard () { screen -X writebuf cat /tmp/screen-exchange | putclip } zle -N copy-screen-copy-mode-to-clipboard # ^Y bindkey '^Y' copy-screen-copy-mode-to-clipboard
とりあえずはこれで妥協。後で.screenrcの方も調べてみよう。
理想としてはscreenのcopy modeでcopyした時点でWindowsのクリップボードに入るのが理想かもしれない。これはscreenのプログラム自体に手を入れると出来そう。やらないけれど。