是否可以在CPython 2.7或3.3中更改readline
的字边界?
我希望backward-kill-word
(绑定到舒适C-w
)和backward-word
与forward-word
和forward-kill-word
具有完全相同的字边界。目前C-w
删除了一半的行,忽略了语法,点等,并延伸到M-DEL
以进行更明智的向后删除太麻烦了。我现在也不想使用IPython。
只需将C-w
重新配置为M-DEL
即可(将其设置为backward-kill-word
不会执行任何操作,因为M-DEL
函数可能被称为其他内容。)
更新:它变得陌生!
>>> import readline
>>> readline.parse_and_bind('"C-k": backward-kill-word')
(press up, press C-k a lot, witness it working)
>>> readline.parse_and_bind('"\\C-w": backward-kill-word')
(press up, press C-w, and see that its function did not change, it wasn't re-bound!)
答案 0 :(得分:3)
回答我自己的问题,因为我在这里找到了答案:
https://superuser.com/questions/212446/binding-backward-kill-word-to-ctrlw
简短回答是:除了添加
import readline
readline.parse_and_bind('"\\C-w": backward-kill-word')
到~/.pythonrc.py
,执行以下命令:
stty werase undef
在同一终端中运行Python之前的某个时间。这将从终端控制C-w
。
如果有人在Python交互式上下文中遇到问题,请不要删除问题。
答案 1 :(得分:1)
基于@ mischa-arefiev的回答,我现在在System.out.print(textfile.charAt(j));
文件中有以下内容,该文件适用于ipython2和ipython3:
PYTHONSTARTUP
我在Linux上使用它,我不确定它是否也适用于Mac。