zsh入門 パート2at UNIX
zsh入門 パート2 - 暇つぶし2ch816:名無しさん@お腹いっぱい。
03/11/20 17:54
screen のスレを読んでいて、以前 >>486 を書いたものの結局使わなかったなと思いつつ、
よく考えたら screen 内で動いている zsh を前提にすれば話が簡単だということに気付いた。
こんな感じでどうでしょう。

#
# $ZDOTDIR/.zsh/dabbrev
#
HARDCOPYFILE=$HOME/tmp/screen-hardcopy
touch $HARDCOPYFILE

dabbrev-complete () {
local reply lines=100

# screen -X eval "hardcopy -h $HARDCOPYFILE" # scrollback buffer の内容も含む場合
screen -X eval "hardcopy $HARDCOPYFILE"
reply=($(sed '/^$/d' $HARDCOPYFILE | sed '$ d' | tail -$lines))
compadd - "${reply[@]%[*/=@|]}"
}

zle -C dabbrev-complete menu-complete dabbrev-complete
bindkey '^[/' dabbrev-complete
bindkey '^[^_' reverse-menu-complete

あとは .zshrc に例えばこんな風に書いておけばいいか。
if [[ -n $WINDOW ]]; then
source $ZDOTDIR/.zsh/dabbrev
fi

scrollback buffer の内容も利用する場合は、適当に行数を増やした方がいいでしょうね


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch