已停止維護:codenv 改成「AI 工作台」這個 App,新版在 olilllioli287/codenv。這裡保留舊版(vim + tmux 的終端機環境)給還在用的人,之後不再更新。
macOS 上寫 C++ / Python 作業用的終端機環境。輸入 codenv 選好檔案,畫面會切成兩格或三格(第一次使用時選,之後可以用 codenv layout 換):
- F9 存檔並檢查有沒有打錯,F10 編譯並執行,結果顯示在旁邊的執行結果那格
- 錯的地方在 vim 裡畫紅色底線,錯誤訊息開頭直接寫「第 幾 行」
- Windows 寫的程式(Dev-C++ 等)也能跑:
#include <bits/stdc++.h>、conio.h的getch()、system("pause")、system("cls"),Big5 編碼的中文也不會變亂碼 - 操作習慣跟 Windows 上的 C++ 編輯器一樣:Ctrl+S 存檔、Ctrl+Z 復原、滑鼠或 Shift+方向鍵選取、Ctrl+C / Ctrl+V 複製貼上、Tab 整塊縮排
- 打
(["自動補上另一半,{再按 Enter 自動補上};貼上程式碼縮排不會亂 - 執行檔放在旁邊的
bin資料夾,跟程式碼分開
圖文版網站:https://olilllioli287.github.io/codenv_old/ (純文字版給 AI 讀:docs/guide.md) 純文字版(可以下載離線看):說明.txt
打開 Mac 內建的「終端機」(按 Cmd+空白鍵,輸入「終端機」,按 Enter),貼上這一行,按 Enter:
zsh -c "$(curl -fsSL https://raw.githubusercontent.com/olilllioli287/codenv_old/main/get.sh)"
它會檢查並自動安裝缺少的東西,已經裝過的會跳過:
| 順序 | 自動裝 | 做什麼用 |
|---|---|---|
| 1 | Homebrew | 用一行指令安裝軟體的工具;沒有編譯器的話會順便裝 |
| 2 | 編譯器(Command Line Tools) | 把 C++ 翻譯成電腦能執行的程式 |
| 3 | tmux | 把一個視窗切成兩格或三格 |
| 4 | iTerm2 | 之後寫程式用的終端機 App |
| 5 | codenv 設定 | vim、tmux 的設定和 codenv 指令 |
- 出現
Password:時輸入開機密碼按 Enter(打字時畫面不會出現任何字,這是正常的)。只要輸入這一次。 - 第一次大約 15~40 分鐘,大部分時間在下載。電腦接上電源、連上穩定的 Wi-Fi,跑的時候不要打其他字。
- 最後出現「完成」,iTerm 會自動打開(問「確定要打開嗎」就按「打開」)。之後都用 iTerm。
- 中途停下來或出錯,再執行一次同一行,會從沒裝好的地方接著做。還是不行,照下面的「手動安裝」一步一步補。
原本就有的 ~/.vimrc、~/.tmux.conf 會先備份成 檔名.bak-日期時間。
程式要放在哪個資料夾: 第一次安裝時會問,直接按 Enter 就是 ~/programming_language。也可以在指令前面加上資料夾一次指定好:
CODENV_ROOT=~/Documents/C++作業 zsh -c "$(curl -fsSL https://raw.githubusercontent.com/olilllioli287/codenv_old/main/get.sh)"
之後想換,輸入 codenv root。
MacBook 最上排預設是亮度、音量,直接按 F10 是「靜音」。二選一:
- 每次一起按住
fn,例如 fn + F10。 - 系統設定 → 鍵盤 → 鍵盤快速鍵… → 功能鍵 → 打開「將 F1、F2 等鍵作為標準功能鍵使用」。
上面那一行會自動做下面這五步。它中途失敗、或想自己一步一步來,就照順序做。一次只貼一行指令,等出現新的一行 % 再貼下一行。
它負責把 C++ 翻譯成電腦能執行的程式。下一步的 Homebrew 沒有它就裝不起來。
- 按 ⌘Cmd + 空白鍵,輸入「終端機」,按 Enter。
- 執行下面這行,跳出小視窗後按「安裝」→「同意」,等到出現「已安裝軟體」按「完成」:
xcode-select --install - 確認:執行
clang++ --version,看到Apple clang version ...就成功了。出現already installed代表本來就裝過,直接做下一步。
用一行指令安裝軟體的工具,後面的 tmux、iTerm2 都要靠它。
- 執行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 出現
Password:輸入開機密碼;出現Press RETURN/ENTER to continue按 Enter;之後什麼都不要按,等到Installation successful!。 - 最重要,很多人漏掉: 成功訊息下面的
Next steps:有兩三行指令,要複製貼上執行。M 系列晶片通常是這三行(以畫面為準):echo >> ~/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv zsh)" - 確認:執行
brew --version,看到Homebrew 4.x.x就成功了。出現command not found: brew代表第 3 點還沒做。
負責把視窗切成兩格或三格。
brew install tmux
確認:tmux -V 看到 tmux 3.x。
比較好用的終端機 App,codenv 的按鍵是照它設計的。
brew install --cask iterm2
到「應用程式」資料夾打開 iTerm(問「確定要打開嗎」就按「打開」)。之後都用 iTerm,不用內建的「終端機」。
在 iTerm 裡執行:
zsh -c "$(curl -fsSL https://raw.githubusercontent.com/olilllioli287/codenv_old/main/get.sh)"
看到 已安裝 ~/.vimrc、已安裝 ~/.tmux.conf、已安裝 ~/.codenv.zsh 和最後的 完成 就成功了。按 Cmd+Q 完全關掉 iTerm 再打開。
原本就有的 ~/.vimrc、~/.tmux.conf 會先備份成 檔名.bak-日期時間。中途出現「沒有裝成」的話,看畫面寫哪一樣,回去補裝那一步,再執行一次這行。
- 在 iTerm 輸入
codenv按 Enter。第一次會先問畫面要幾格:輸入2(左邊寫程式、右邊看結果)或3(多一格放 AI 或終端機)。選完會記住,之後不會再問。 - 按
n新增資料夾(例如cpp),再輸入它前面的數字選進去。 - 按
n新增檔案,輸入hello.cpp。畫面會照你選的格數切好,vim 已經打開。 - 按
i開始打字,打完按Esc。按 F9 檢查、F10 執行。在執行結果那格按Esc跳回 vim。
程式放在 ~/programming_language 底下。
| 按鍵 | 在哪裡 | 做什麼 |
|---|---|---|
i / Esc |
vim | 開始打字 / 停止打字 |
| F9 | vim | 存檔+檢查錯誤 |
| F10 | vim | 存檔+編譯+執行 |
| Ctrl+S | vim | 存檔 |
| Ctrl+Z / Ctrl+Y | vim | 復原 / 重做 |
| 滑鼠拖曳、雙擊,或 Shift+方向鍵 | vim | 選取文字;選取後直接打字會取代它,Backspace 刪掉 |
| Ctrl+C / Ctrl+X / Ctrl+V | vim | 複製 / 剪下 / 貼上(跟 Mac 共用剪貼簿,Cmd+V 也能貼上) |
| Tab / Shift+Tab | vim | 選取多行時整塊增加 / 減少縮排;打字時 Shift+Tab 減少這行縮排 |
| Ctrl+F | vim | 搜尋,按 Enter 跳過去,再按 n 找下一個 |
:q / :q! |
vim | 關掉 / 不存檔直接關掉 |
Esc |
執行結果那格 | 跳回 vim |
| Ctrl+C | 執行結果那格 | 停止跑不完的程式 |
Ctrl+A 放開再按 | / - |
tmux | 左右 / 上下切格 |
Ctrl+A 放開再按 h j k l 或方向鍵 |
tmux | 移到左 / 下 / 上 / 右那格 |
開著注音等中文輸入法時也能直接用 Ctrl+A:按下 Ctrl+A 的瞬間會自動切成英文,指令做完再切回原本的輸入法(由安裝時編譯的小程式 ~/.codenv-ime 負責)。按完 Ctrl+A 稍等一下再按下一個鍵比較保險;萬一沒裝成,按 Ctrl+A 之前先切成英文。
滑鼠可以點選格子、滾輪捲動、拖曳分隔線。vim 以外的格子(例如執行結果)要反白複製文字時,按住 Option 再拖曳,再按 Cmd+C。
- tmux-kit(另外裝的小工具包): Ctrl+A 連按兩次的中文選單、在 iTerm 裡按 Cmd+Ctrl+A 用滑鼠排列格子、Claude Code 回完分頁反白。第一次輸入
codenv時會介紹一次,也可以隨時執行zsh -c "$(curl -fsSL https://raw.githubusercontent.com/olilllioli287/tmux-kit/main/get.sh)"安裝,見 tmux-kit。 - 換程式資料夾: 輸入
codenv root,或直接輸入codenv root ~/Documents/作業。原本資料夾裡的程式不會搬過去。 - 換畫面格數: 輸入
codenv layout重新選,或直接輸入codenv layout 2(兩格)、codenv layout 3(三格)。下次開codenv就會用新的排法。 - 三格時左邊自動開 AI: 執行
open -e ~/.codenv.zsh,把CODENV_AI=''改成例如CODENV_AI='claude',存檔後重開 iTerm。 - 一樣的配色: iTerm → Settings → Profiles → Other Actions → Import JSON Profiles,在選檔視窗按 ⌘Cmd + Shift + G,輸入
~/.codenv-kit/iterm-profile.json。匯入後選中codenv,再按 Other Actions → Set as Default。
在 iTerm 再執行一次安裝的那一行。原本的設定會自動備份,~/.codenv.zsh 裡設定過的資料夾和 AI 指令會保留。做完把開著的 vim 關掉再打開。
想換回舊版:ls ~/.vimrc.bak-* 找到想要的備份,用 cp ~/.vimrc.bak-日期時間 ~/.vimrc 複製回來。
zsh -c "$(curl -fsSL https://raw.githubusercontent.com/olilllioli287/codenv_old/main/uninstall.sh)"
codenv 的檔案會移到 ~/codenv-removed-日期時間(不直接刪),~/.zshrc 裡載入 codenv 的那行會拿掉,裝 codenv 之前原本的 ~/.vimrc、~/.tmux.conf 會放回去。你寫的程式、Homebrew、編譯器、tmux、iTerm2 都不會動。想恢復就再執行一次安裝的那一行。
F9、F10 沒反應:先在 iTerm 輸入 codenv doctor,它會檢查編譯器、tmux、vim 設定和鍵盤設定,再請你按一下 F10 測試。
到 Issues 按 New issue,寫下你做了什麼、看到什麼,可以直接貼上截圖(需要 GitHub 帳號)。
