在notepad++中,我可以使用Ctrl + Shift + Up / Down来上下移动当前行。在Vim中有类似的命令吗?我翻遍了无数的指南,但一无所获。
如果没有,我如何将动作绑定到该键组合?
编辑:Mykola的答案适用于所有行,除了缓冲区的开头和结尾。向上移动第一行或向下移动一行会删除该行,当向上移动一行时,它最初会跳跃两个空格,就像棋子一样!谁能提供一些改进吗?
在notepad++中,我可以使用Ctrl + Shift + Up / Down来上下移动当前行。在Vim中有类似的命令吗?我翻遍了无数的指南,但一无所获。
如果没有,我如何将动作绑定到该键组合?
编辑:Mykola的答案适用于所有行,除了缓冲区的开头和结尾。向上移动第一行或向下移动一行会删除该行,当向上移动一行时,它最初会跳跃两个空格,就像棋子一样!谁能提供一些改进吗?
当前回答
我在.vimrc文件的末尾放了以下内容:
noremap H ddkkp
noremap N ddp
现在H和N分别上下移动电流线。
其他回答
如果我想与上面的一行交换一行,我通常会这样做
ddkP
解释
Dd将删除该行并将其添加到默认寄存器中。 K向上移动一行(j向下移动一行) P会粘贴到当前行的上方
一个简单的解决方案是在你的.vimrc中加入这些行:
nmap <C-UP> :m-2<CR>
nmap <C-DOWN> :m+1<CR>
向上移动一行:ddkP
向下移动一行:ddp
如果你想在匹配特定搜索的多行上执行此操作:
向上::g/您的查询/正常ddp或:g/您的查询/ m -1 向下:g/您的查询/正常ddp或:g/您的查询/ m +1
我在.vimrc文件的末尾放了以下内容:
noremap H ddkkp
noremap N ddp
现在H和N分别上下移动电流线。