在 .vimrc 中执行映射命令后,vim 不会暂停

vim does not pause after executing mapped command in .vimrc

本文关键字:vim 暂停 命令 vimrc 执行 映射      更新时间:2023-10-16

我正在映射 F8 键.vimrc以便它构建 + 执行.cpp文件。我使用的命令是

map <F8> :w <CR> :!g++ -std=c++11 % -o %< && ./%< <CR> 

问题是,在我按 F8 后,输出出现,但在显示"按 ENTER 继续"后vim没有等待 ENTER(所以基本上程序的输出短暂出现然后立即消失)。如果我从上面删除<CR>,那么我必须在按 F8 后手动按 ENTER。有没有办法在执行上面的映射命令后vim等待按 ENTER 键?

映射中<CR>后,您似乎有一个尾随空格。这将确认命中输入提示。


您可以使用像我的 ShowTrailingWhitespace 插件这样的插件来检测和 DeleteTrailingWhitespace 插件来(自动)删除尾随空格。(插件页面包含指向替代插件的链接。


PS:你应该使用:noremap;它使映射不受重新映射和递归的影响。