シェルスクリプトごりごり書いた(˘ω˘)
##概要(できるようになること)
シェル(zsh)上で alt + c
を押すと上のような画面が表示されて今までのクリップボードの履歴が表示される
↓
検索して行を選びEnter
を押すとその行が再びクリップボードに入って再利用できる
##導入(3ステップ)
###①インストール
- zsh
- percol(参考: percol 入れて zsh と組み合わせたら超便利)
- ClipMenu (macの クリップボードの履歴を管理するアプリ)
###②ClipMenuの設定のGeneral(日本語環境だったら文言違うかも)で
・max clipboard history size
を 10000
に変更 (適宜変更可)
・Autosaving clipboard history
を Every minute
に変更
###③.zshrcに追加
.zshrc
#percolでクリップボード検索
function searchClipBoard() {
clipMenuPath='$HOME/Library/Application Support/ClipMenu'
plutil -convert xml1 $HOME/Library/Application\ Support/ClipMenu/clips.data -o - |\
awk '/<string>/,/<\/string>/'|\
sed -e 's/<string>//g' -e 's/<\/string>//g' -e 's/</</g' -e 's/>/>/g' |\
head -5015 |tail -5000 |\
sed '/^$/d'|cat -n |sort -k 2|uniq -f1 |sort -k 1 |\
sed -e 's/^ *[0-9]*//g' |\
awk '{for(i=1;i<NF;i++){printf("%s%s",$i,OFS=" ")}print $NF}' |\
percol |sed -e "s/\ /\\\ /g" |\
sed -e 's/\\ / /g' |ruby -pe 'chomp' |pbcopy
zle reset-prompt
};
zle -N searchClipBoard
bindkey '^[c' searchClipBoard
これで .zshrcを読み直す($ source .zshrc
)
快適ヾ(:3ノシヾ)ノシ
##補足
・ショートカットは変更可能
・shellscriptの head -5015 |tail -5000
のところで要らない15件を排除して5000件取ってくるようにしてるので、500件だけとりたかったら
head -515 |tail -500
に変える
・他のクリップボード管理系のアプリでも履歴一覧さえ取ってこればできる