經同事 P 分享這篇, 才知道解法。實測後發覺註解掉 /.ipython/ipythonrc 的 readline_parse_and_bind "\M-i": " " 即可。問題出在 unicode "\u9???" 的文字, 也就是 utf-8 的 "\xe9\x??\x??"。我在 Ubuntu 上試著按 Atl+i, 發覺出來的是兩個字元: 先 ESC 後 i。不懂為什麼這會和 \xe9 沖到。
觀察 ipython 的原始碼, 發覺用到 Python的 readline, 但這個模組是由 C 實作的, 就沒再追下去了。還沒弄清楚怎麼修改並重編 C 相關函式庫, 改天有類似需求時再來試試。
沒有留言:
張貼留言