遅ればせながら bpython 入れた

最近は ipython より bpython らしいので遅ればせながら導入してみた

インストール

$ pip install bpython

このまんまでも使えるけど、諸々気になるところがあっていろいろいじった

キーバインド変えたい

F2のソースコード参照が動いてくれなかったので、変更したくなった

設定ファイルをいじった

.bpython/config でも読み込むけど、bpython/config.py にあんま使ってほしくない的なことが書いてあったので、.config/bpython/config の方に書いた

$ vim ~/.config/bpython/config

F2からCtrl-xに変更

[keyboard]
shor_source=C-x

Ctrl-hが効かない

以下の環境だと Ctrl-h 押すと改行されてしまってとてもつらい状態になった

直接パッチを当てた

http://blog.shironoo.org/2012/04/03/216

どうやら作者の都合でC-Backspaceを改行するようになっているっぽい。
それにCtrl-hも反応しちゃう(?)ので、そこを除外。

diff --git a/cli.py b/cli.py
index 26a9ba6..9aed92f 100644
--- a/cli.py
+++ b/cli.py
@@ -828,15 +828,10 @@ class CLIRepl(repl.Repl):
             C_BACK = chr(8)
             BACKSP = chr(127)

-        if key == C_BACK:  # C-Backspace (on my computer anyway!)
-            self.clrtobol()
-            key = '\n'
-            # Don't return; let it get handled
-
         if key == chr(27): #Escape Key
             return ''

-        if key in (BACKSP, 'KEY_BACKSPACE'):
+        if key in (BACKSP, C_BACK, 'KEY_BACKSPACE'):
             self.bs()
             self.complete()
             return ''

補完結果が崩れる

会社の Windows 環境で tmux とあわせて使っているとどうも補完結果の罫線とかが崩れてしかたがない

puttyの設定なおした

http://ptan.info/archives/384

どうやら putty の設定が間違ってたらしい

  1. 文字コードの設定を「UTF-8 (Non-CJK)」に
  2. CJK用の文字幅を使用する にチェック
  3. Unicodeライン描画コードポイントを使う にチェック

(1)の文字コードの設定が「UTF-8(CJK)」になっていたので変更したら直った

ついでにずっと気持ち悪いと思いながらも放置してきた「tigでスクロールしたときに残像が残って文字が読み難くなってしまう問題」もいくらか緩和されたような気がする

おわり

これでそれなりに使えるようになった。
ただ、ipython の ? 的な使いかたができないのがちょっとつらい、気がする