map the _ key to move the line up

8 views
Skip to first unread message

cyboman

unread,
Nov 17, 2012, 9:31:23 AM11/17/12
to vim...@googlegroups.com
I have a - key mapped to move the line down. Here it is
map - ddp

I want to have a command opposite to it, _ to move the line up.
I tried map _ ddkP but it doesn't work. If I'm on the last line of text it will move the text two lines up and if I'm on the first line it simply deletes the lines, which makes sense why.

I know this is a simple task for most of you, but I have never fiddled with Vim mappings. I would appreciate if anyone could help me out.

Thanks.

Tony Mechelynck

unread,
Nov 17, 2012, 9:57:55 AM11/17/12
to vim...@googlegroups.com, cyboman
Try kddp instead. This should work correctly even on the last line. On
the first line it will beep, and it may (or it may not) move the line
down instead. I haven't checked, but I think that on the first line it
will do nothing, which makes sense (you can't move the first line up,
can you?)


Best regards,
Tony.
--
ROBIN: The what?
ARTHUR: The Holy Hand Grenade of Antioch. 'Tis one of the sacred relics
Brother Maynard always carries with him.
ALL: Yes. Of course.
ARTHUR: (shouting) Bring up the Holy Hand Grenade!
"Monty Python and the Holy Grail" PYTHON (MONTY)
PICTURES LTD

rail shafigulin

unread,
Nov 17, 2012, 11:35:20 AM11/17/12
to Tony Mechelynck, vim...@googlegroups.com
Thanks Tony it worked, but I also added a k to the command so I could move one line up.

nnoremap _ kddpk

Paul

unread,
Nov 17, 2012, 3:34:41 PM11/17/12
to vim...@googlegroups.com
Try fiddling with searching the list. If you had read a recent thread titled “move a range of text to address”, you'd see that this is [probably] the preferred solution:

nnoremap _ :m-2<cr>
nnoremap - :m+<cr>

--

.
Reply all
Reply to author
Forward
0 new messages