为什么这个命令会打h?

时间:2020-07-29 18:40:59

标签: vim

我有以下过滤器命令:

vnoremap    <silent> <leader>C   :w! !pbcopy<CR><CR>

但是,当我运行它时,会出现短暂的“打cup”,如以下视频中所示:https://gyazo.com/ca78c5adfcf4b3b7a6a9f885acb5c8bc。为什么会发生这种情况?似乎是在“无形”地输入命令(例如,通常在输入命令或echom之后出现的额外命令行)。

1 个答案:

答案 0 :(得分:1)

如果您以手工方式运行命令,您会看到在第一个<CR>之后(第一次按Enter时,命令执行时),vim会放大状态栏,显示命令的输出。命令和一条消息,内容为:

Press ENTER or type command to continue

然后再次按Enter(重新映射中的第二个<CR>),状态栏再次缩小。我认为“打cup”是由于此状态栏快速“放大和缩小”而导致屏幕重绘,这也是您在重映射中需要双<CR>的原因。