首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

自製 Python 腳本讓 Vim 一鍵編譯執行 C/C++

     編輯:關於C語言

動機

Vim 擴展性極強,但網路上讓 Vim 執行 C/C++ 的設定往往過於複雜或失效。本文提供極簡方案:兩支 Python 腳本 + .vimrc 映射,即可實現 Ctrl+C 執行 C、Ctrl+G 執行 C++。

腳本架構

  • 儲存路徑:/python/c.py、/python/c++.py
  • 功能:接收檔案路徑 → gcc/g++ -Wall -g 編譯 → 成功則執行輸出檔。

核心代碼

c.py(C 語言版)

#!/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])

c++.py(C++ 版)

將 gcc 改為 g++ 即可,其餘邏輯相同。

Vim 設定

編輯 /etc/vimrc(或 ~/.vimrc),在底部加入:

vim.command('map <C-C> :!/python/c.py %<cr>')
vim.command('map <C-G> :!/python/c++.py %<cr>')
  • % 代表目前編輯檔案路徑。
  • Ctrl+C → 編譯執行 C;Ctrl+G → 編譯執行 C++。

驗證測試

C 程式測試

#include <stdio.h>
int main(void) {
    printf("Hello C 's World.\n");
    return 0;
}

按 Ctrl+C → 輸出:Hello C 's World.

C++ 程式測試

#include <iostream>
using namespace std;
int main() {
    cout << "Hello C++ World!" << endl;
    char response; cin >> response;
    return 0;
}

按 Ctrl+G → 輸出:Hello C++ World! 並等待輸入。

優勢總結

  1. 零外掛依賴,純 Python + Vim 內建指令。
  2. 跨平台(Linux/macOS/WSL 均適用)。
  3. 易於擴展:可加入 -std=c++17、-O2、自動偵測專案建置系統等。

本文整理自「Newbie's World」博客,原文出處:https://skyson.blog.51cto.com/2497647/638943

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved