在notepad++中,我可以使用Ctrl + Shift + Up / Down来上下移动当前行。在Vim中有类似的命令吗?我翻遍了无数的指南,但一无所获。
如果没有,我如何将动作绑定到该键组合?
编辑:Mykola的答案适用于所有行,除了缓冲区的开头和结尾。向上移动第一行或向下移动一行会删除该行,当向上移动一行时,它最初会跳跃两个空格,就像棋子一样!谁能提供一些改进吗?
在notepad++中,我可以使用Ctrl + Shift + Up / Down来上下移动当前行。在Vim中有类似的命令吗?我翻遍了无数的指南,但一无所获。
如果没有,我如何将动作绑定到该键组合?
编辑:Mykola的答案适用于所有行,除了缓冲区的开头和结尾。向上移动第一行或向下移动一行会删除该行,当向上移动一行时,它最初会跳跃两个空格,就像棋子一样!谁能提供一些改进吗?
当前回答
假设光标在您想要移动的行上。
上下移动: :m表示移动
:m +1 -向下移动一行
:m -2 -向上移动1行
(注意,你可以用任何数字替换+1,这取决于你想要向上或向下移动多少行,即+2将向下移动2行,-3将向上移动2行)
移动到特定的线上
:set number -显示数字线(更容易看到你移动到哪里)
:m 3 -在第三行之后移动行(将3替换为任何你想要的行)
移动多行:
V(即Shift-V),并上下移动courser在VIM中选择多条行
一旦选中,点击:并运行上面的命令,m +1等
其他回答
向上移动一行:ddkP
向下移动一行:ddp
将以下内容添加到~/。Vimrc文件(确保你没有映射n,m)
nmap n :m +1<CR>
nmap m :m -2<CR>
现在按n键将向下移动一行,m键将向上移动一行。
Vim插件未受损。Vim [e]e
在命令模式下,将光标定位在要向下移动的行上,然后
ddp
解释: Dd将当前行删除到常规缓冲区 p将它放回游标位置之后,如果是整行,则放回下一行。
在许多文档中,关于命令p和p有一些混淆。 实际上p粘贴AFTER游标,p粘贴AT游标。
对我来说,是ddkkp(而不是用大写P的ddkP,这也可以)。