Vim 擴展性極強,但網路上讓 Vim 執行 C/C++ 的設定往往過於複雜或失效。本文提供極簡方案:兩支 Python 腳本 + .vimrc 映射,即可實現 Ctrl+C 執行 C、Ctrl+G 執行 C++。
/python/c.py、/python/c++.pygcc/g++ -Wall -g 編譯 → 成功則執行輸出檔。#!/usr/bin/python
import sys, os
arg = ''.join(sys.argv[1:])
if not arg:
print("file not exists")
sys.exit(1)
# 編譯指令:gcc -Wall -g 檔案.c -o 檔案
cmd = 'gcc -Wall -g ' + arg + ' -o ' + arg[:-2]
if os.system(cmd) == 0:
os.system('./' + arg[:-2])
將 gcc 改為 g++ 即可,其餘邏輯相同。
編輯 /etc/vimrc(或 ~/.vimrc),在底部加入:
vim.command('map <C-C> :!/python/c.py %<cr>')
vim.command('map <C-G> :!/python/c++.py %<cr>')
% 代表目前編輯檔案路徑。#include <stdio.h>
int main(void) {
printf("Hello C 's World.\n");
return 0;
}
按 Ctrl+C → 輸出:Hello C 's World.
#include <iostream>
using namespace std;
int main() {
cout << "Hello C++ World!" << endl;
char response; cin >> response;
return 0;
}
按 Ctrl+G → 輸出:Hello C++ World! 並等待輸入。
-std=c++17、-O2、自動偵測專案建置系統等。本文整理自「Newbie's World」博客,原文出處:https://skyson.blog.51cto.com/2497647/638943