如何创建单个 vim 正则表达式映射以在 windows 中编译和 运行 c++ 程序
How can I Create single vim regular expression map to compile and run c++ program in windows
在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>
但其中 none 似乎给出了预期的结果。了解 vim 脚本的人能否更好地帮助我解决这个问题。我也尝试过其他组合,但似乎没有任何效果。我可能会问
而不是赌博更多的想法
所以我最终采用的解决方案是不放置任何前面的反斜杠。
看到这个想法是 运行 一个命令终端命令,如 .\hello
用于名为 hello 的程序,我假设它的 linux 等同于任何可执行文件的 ./hello
。结果是编译时会创建一个 hello.exe
文件,因此解决方案是通过在终端
中键入 hello
来调用 hello.exe
因此我的最终命令完全没有斜线
autocmd FileType cpp nmap <buffer> <F5> :w<bar>!g++ -o %:r % && %:r<CR>
至于创建先前所需结果的正则表达式。这对我来说仍然是个谜。干杯
在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>
但其中 none 似乎给出了预期的结果。了解 vim 脚本的人能否更好地帮助我解决这个问题。我也尝试过其他组合,但似乎没有任何效果。我可能会问
而不是赌博更多的想法所以我最终采用的解决方案是不放置任何前面的反斜杠。
看到这个想法是 运行 一个命令终端命令,如 .\hello
用于名为 hello 的程序,我假设它的 linux 等同于任何可执行文件的 ./hello
。结果是编译时会创建一个 hello.exe
文件,因此解决方案是通过在终端
hello
来调用 hello.exe
因此我的最终命令完全没有斜线
autocmd FileType cpp nmap <buffer> <F5> :w<bar>!g++ -o %:r % && %:r<CR>
至于创建先前所需结果的正则表达式。这对我来说仍然是个谜。干杯