readline vi mode in python interactive shell
Micah Elliott
mde at micah.elliott.name
Wed Nov 16 16:15:34 EST 2005
On Nov 16, tnoell at gmail.com wrote:
> Hi comp.lang.python:
> New to the group and new to python, so don't tear me up too much ...
> I installed the GNU readline support in python2.4, and it is working,
> but there is one annoying behaviour that I am hoping to squash ...
>
> Namely, when I hit <esc> to go to edit mode, then hit 'k' to go up
> in the command history, the prompt is put at the start of the line.
Amazing that you brought this up right now; I was just thinking about
whether or not to bother posting my own annoyance (invisible last
history command) with readline 4.3-5 (default with Fedora Core 3) and
Python 2.4.2. Since you brought it up, here's my test case:
My ~/.inputrc simply contains "set editing-mode vi". When I start
python I type "print 'a'". Then "<Esc>k" to recall the last
command -- but the line is invisible! If I start editing the
blank/invisible line the text magically appears. Or if I press
"k" twice I have visible history again. So now I have in muscle
memory "<Esc>kkj" to get my last command :-(
This is not a problem on the same machine with older versions of python
that are installed. Is this worth filing a bug against python? I
didn't find anything reported on sf.net/projects/python.
> Other places I use vi mode command line editing (e.g., zsh), the
> cursor is at the end of the previous command. More often than not, I
> am wanting to edit the latter part of the previous command, not the
> start.
In bash "<Esc>k" puts me at the *beginning* of the line. Of course $
puts you where you want to be then, but I'm not sure how to affect the
behavior you're asking for; "help bind" might be useful, and "bind -P"
shows some mappings.
--
_ _ ___
|V|icah |- lliott <>< mde at micah.elliott.name
" " """
More information about the Python-list
mailing list