看完Damian Conway的优秀Instantly Better Vim之后,我决定改变Vim的冒号和分号:
nnoremap ; :
nnoremap : ;
这一切都很精彩,除了一件小事。当我输入;ls
时,我得到缓冲区列表(如预期的那样),标准消息为“按ENTER或键入命令继续”。通常我想要做的是键入类似:bd 2 4 9
的内容来删除一些缓冲区。
然而,使用新的映射,键入分号不起作用(它退出到新的空白命令行),但也没有键入冒号(就我所知,它可以充当任何其他按键)!有没有办法解决这个问题?我确实倾向于使用默认的分号功能,所以我希望尽可能保留该映射。如果我删除nnoremap : ;
以使默认冒号仍然有效,则问题会自行解决。
答案 0 :(得分:3)
我会说这是执行hit-enter提示的一个不幸后果。是否清除输出的逻辑似乎没有考虑映射。你应该在vim_dev mailing list上提出这个问题。也许有人实现了一个补丁,因为这个交换习惯用法很常见。