【发布时间】:2012-02-06 16:30:19
【问题描述】:
在 Vim 中,我设置了一个映射,以在每次按下 _ 时移动一行
nnoremap _ ddkP
在我的实验中,当我到达 Vim 文件的顶部时,如果我继续按住 _,所有行都会被吃掉
有什么问题吗?我在 Mac 上,但使用的是控制台 Vim,而不是 MacVim。
【问题讨论】:
标签: vim keymapping
在 Vim 中,我设置了一个映射,以在每次按下 _ 时移动一行
nnoremap _ ddkP
在我的实验中,当我到达 Vim 文件的顶部时,如果我继续按住 _,所有行都会被吃掉
有什么问题吗?我在 Mac 上,但使用的是控制台 Vim,而不是 MacVim。
【问题讨论】:
标签: vim keymapping
k(上移一行)在文件顶部时失败。我怀疑这会导致映射键的执行停止,只剩下dd(删除当前行)。要解决此问题,您需要less destructive 方式来移动线路。
【讨论】:
Kristo's explanation 在我看来是合乎逻辑的。
我建议您改用此映射,它会执行 :move 而不删除任何行:
:nnoremap _ :move .-2<CR>
您也可以自动撤消此操作。
【讨论】: