在vim中重新分号到冒号':ls'

时间:2013-10-22 13:40:48

标签: vim vi

看完Damian Conway的优秀Instantly Better Vim之后,我决定改变Vim的冒号和分号:

nnoremap ; :
nnoremap : ;

这一切都很精彩,除了一件小事。当我输入;ls时,我得到缓冲区列表(如预期的那样),标准消息为“按ENTER或键入命令继续”。通常我想要做的是键入类似:bd 2 4 9的内容来删除一些缓冲区。

然而,使用新的映射,键入分号不起作用(它退出到新的空白命令行),但也没有键入冒号(就我所知,它可以充当任何其他按键)!有没有办法解决这个问题?我确实倾向于使用默认的分号功能,所以我希望尽可能保留该映射。如果我删除nnoremap : ;以使默认冒号仍然有效,则问题会自行解决。

1 个答案:

答案 0 :(得分:3)

我会说这是执行hit-enter提示的一个不幸后果。是否清除输出的逻辑似乎没有考虑映射。你应该在vim_dev mailing list上提出这个问题。也许有人实现了一个补丁,因为这个交换习惯用法很常见。