gpt4 book ai didi

c++ - Vim [编译和]运行快捷方式

转载 作者:IT老高 更新时间:2023-10-28 20:26:57 26 4
gpt4 key购买 nike

基本上我想要的是 vim 中的键盘快捷键,它可以让我[编译和]运行当前正在编辑的 C、C++ 或 Python 程序。在伪代码中:

when a shortcut key is pressed:
if current_extension == 'c' then
shell: gcc this_filename.c -o this_filename_without_extension
if retcode == 0 then shell: ./this_filename_without_extension
else if current_extension == 'cpp' then
shell: g++ this_filename.cpp -o this_filename_without_extension
if retcode == 0 then shell: ./this_filename_without_extension
else if current_extension == 'py' then
shell: python this_filename.py
end if
end key

我知道我可能要求的有点多,但如果可以的话我会很高兴的!

最佳答案

这样的事情会奏效。只需创建映射 <F4> 的文件类型 autocmd或任何你想保存、编译和运行程序的东西。它使用 exec 构建字符串并使用 shellescape 转义文件名。

autocmd filetype python nnoremap <F4> :w <bar> exec '!python '.shellescape('%')<CR>
autocmd filetype c nnoremap <F4> :w <bar> exec '!gcc '.shellescape('%').' -o '.shellescape('%:r').' && ./'.shellescape('%:r')<CR>
autocmd filetype cpp nnoremap <F4> :w <bar> exec '!g++ '.shellescape('%').' -o '.shellescape('%:r').' && ./'.shellescape('%:r')<CR>

%是当前缓冲区文件名。 %:r是没有扩展名的缓冲区文件名

关于c++ - Vim [编译和]运行快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18296192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com