将分号重新映射到vim中的冒号中断';:ls';

将分号重新映射到vim中的冒号中断';:ls';,vim,vi,Vim,Vi,在看了Damian Conway的精彩表演后,我决定切换Vim的冒号和分号: nnoremap ; : nnoremap : ; 除了一件小事之外,这一切都非常有效。当我输入时;ls,我得到了缓冲区列表(正如预期的那样),其中的标准消息是“按ENTER键或键入命令继续”。通常我要做的是键入类似于:bd 2 4 9的内容来删除一些缓冲区 然而,在新的映射中,键入分号不起作用(它退出到一个新的空白命令行),但键入冒号也不起作用(据我所知,它充当任何其他按键)!有没有办法绕过这个问题?我确实倾向于相

在看了Damian Conway的精彩表演后,我决定切换Vim的冒号和分号:

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


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

我认为这是实现点击输入提示的一个不幸结果。是否清除输出的逻辑似乎没有考虑映射。你应该在网上提出这个问题;可能有人实现了一个补丁,因为这种交换习惯用法非常常见。

没有解决方案,但让我给你这个映射:
nnoremap gb:ls:b