如何创建单个vim正则表达式映射以在Windows中编译和运行C ++程序

问题描述

在Linux中,我使用了类似的

autocmd FileType cpp nmap <buffer> <F5> :w<bar>!g++ -o %:r % && ./%:r<CR>

但是由于Windows使用反斜杠,我想我应该尝试类似的

autocmd FileType cpp nmap <buffer> <F5> :w<bar>!g++ -o %:r % && .\\%:r<CR>

autocmd FileType cpp nmap <buffer> <F5> :w<bar>!g++ -o %:r % && ./\%:r<CR>

但是它们似乎都没有得到期望的结果。能理解vim脚本的人可以更好地帮助我解决这个问题吗?我还尝试了其他组合,但似乎无济于事。除了赌博之外,我还想问更多的想法

解决方法

所以我最终要解决的解决方案是不要放置任何前面的反斜杠。 看到的想法是为名为hello的程序运行诸如.\hello之类的命令终端命令,我假定它对任何可执行文件的Linux等同于./hello。事实证明,在编译时会创建一个hello.exe文件,因此解决方案是仅通过在终端中键入hello.exe来调用hello

因此,我的最终命令根本没有斜杠

autocmd FileType cpp nmap <buffer> <F5> :w<bar>!g++ -o %:r % && %:r<CR>

对于创建先前所需结果的正则表达式。那对我来说还是个谜。欢呼

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...