469,951 Members | 2,432 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,951 developers. It's quick & easy.

readline vi mode in python interactive shell

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.

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.

Is there any way to tell readline to put the cursor at the end of the
command line when browsing them?

Thx for any light you can shinte,
Tim

Nov 22 '05 #1
4 2714
On Nov 16, tn****@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 <>< md*@micah.elliott.name
" " """
Nov 22 '05 #2
On Nov 16, tn****@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 <>< md*@micah.elliott.name
" " """
Nov 22 '05 #3
Well, I subsequently found this:

http://groups.google.com/group/gnu.b...0f81b86161b271

to explain it.

Bummer ...

Nov 22 '05 #4
Well, I subsequently found this:

http://groups.google.com/group/gnu.b...0f81b86161b271

to explain it.

Bummer ...

Nov 22 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by Tom Locke | last post: by
reply views Thread by Pedro Werneck | last post: by
reply views Thread by Brano Zarnovican | last post: by
reply views Thread by tnoell | last post: by
reply views Thread by Berend van Berkum | last post: by
7 posts views Thread by Michele Simionato | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.