2014年8月5日火曜日

Cygwin上でpercolをインストールして使ってみた

pipからインストールする方法を紹介します
pipが使えるようになるまでが大変でした

■環境
Windows7 64bit
Cygwin 1.7.30
pt-cyg 0.59
Python 2.7.5
easy_install 0.6.34
pip 1.4.1

■インストール
Cygwin, apt-cyg のインストールまでは済ませておいてください

apt-cyg install python python-setuptools
easy_install https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz
pip install percol
mkdir ~/.percol.d
touch ~/.percol.d/rc.py
emacs ~/.percol.d/rc.py

percol.view.PROMPT  = ur"Let's percol > %q"

# Emacs like
percol.import_keymap({
    "C-h" : lambda percol: percol.command.delete_backward_char(),
    "C-d" : lambda percol: percol.command.delete_forward_char(),
    "C-k" : lambda percol: percol.command.kill_end_of_line(),
    "C-y" : lambda percol: percol.command.yank(),
    "C-t" : lambda percol: percol.command.transpose_chars(),
    "C-a" : lambda percol: percol.command.beginning_of_line(),
    "C-e" : lambda percol: percol.command.end_of_line(),
    "C-b" : lambda percol: percol.command.backward_char(),
    "C-f" : lambda percol: percol.command.forward_char(),
    "M-f" : lambda percol: percol.command.forward_word(),
    "M-b" : lambda percol: percol.command.backward_word(),
    "M-d" : lambda percol: percol.command.delete_forward_word(),
    "M-h" : lambda percol: percol.command.delete_backward_word(),
    "C-n" : lambda percol: percol.command.select_next(),
    "C-p" : lambda percol: percol.command.select_previous(),
    "C-v" : lambda percol: percol.command.select_next_page(),
    "M-v" : lambda percol: percol.command.select_previous_page(),
    "M-<" : lambda percol: percol.command.select_top(),
    "M->" : lambda percol: percol.command.select_bottom(),
    "C-m" : lambda percol: percol.finish(),
    "C-j" : lambda percol: percol.finish(),
    "C-g" : lambda percol: percol.cancel(),
})

ポイントはpipが1.4.1でないとインストールできない点でした
理由はわかりませんが、1.5.6の2014/08/01時点での最新版はインストールに失敗します

あとはpercolでgrep中のキーバインドをemacs風にする設定とプロンプトの表示をカスタマイズしています
キーバインドとプロンプトのカスタマイズはお好みで実施してください

0 件のコメント:

コメントを投稿