[{"data":1,"prerenderedAt":1452},["ShallowReactive",2],{"search-dialog-posts":3,"post-\u002Fposts\u002Fclaude-code-codex-cli-command-cheatsheet":316,"post-surround-\u002Fposts\u002Fclaude-code-codex-cli-command-cheatsheet":1448},[4,12,21,29,37,47,57,67,77,85,96,104,112,121,129,137,147,155,164,173,181,188,195,207,215,224,236,241,247,254,260,266,272,279,286,291,298,304,310],{"path":5,"title":6,"description":7,"category":8,"tags":9},"\u002Fposts\u002Fgit-commands-cheatsheet","Git 常用指令與終端機筆記","2018 年整理的 Git 學習筆記，包含基本終端機指令、Git 操作、分支、reset、SourceTree、Vim 與一些常用設定。","notes",[10,11],"Git","版本控制",{"path":13,"title":14,"description":15,"category":16,"tags":17},"\u002Fposts\u002Fjs-prototype-inheritance","JavaScript 物件導向：建構函式、prototype 與繼承三步驟","整理 ES5 時代用建構函式加 prototype 手刻物件導向的完整流程——封裝屬性與方法、共用函式為什麼要掛在 prototype 上、以及繼承的三個步驟（call 借用母類別建構子、Object.create 接上原型鏈、修正 constructor 指向），並附上物件縮寫與計算屬性這兩個順便學到的 ES6 寫法。","frontend",[18,19,20],"JavaScript","物件導向","prototype",{"path":22,"title":23,"description":24,"category":16,"tags":25},"\u002Fposts\u002Fflexbox-notes","Flexbox 對齊與彈性尺寸筆記","記錄 Flexbox 的主軸與交錯軸對齊、flex-direction、flex-wrap，以及 flex-grow、flex-shrink、flex-basis 等常用屬性。",[26,27,28],"CSS","Flexbox","版面",{"path":30,"title":31,"description":32,"category":16,"tags":33},"\u002Fposts\u002Fscreen-orientation-api","screen.orientation：現在判斷與鎖定螢幕方向的做法","整理現在 JavaScript 判斷螢幕方向的方式，包括 screen.orientation、change 事件與 lock()，並說明 RWD 使用 matchMedia 或 CSS orientation 會更適合。",[18,34,35,36],"RWD","螢幕方向","PWA",{"path":38,"title":39,"description":40,"category":16,"tags":41},"\u002Fposts\u002Fpinia-vuex-state-management","Pinia \u002F Vuex 狀態管理及差異","紀錄 Vuex、Pinia 的狀態管理概念、差異與用法。",[42,43,44,45,46],"Pinia","Vuex","Vue3","狀態管理","Nuxt",{"path":48,"title":49,"description":50,"category":8,"tags":51},"\u002Fposts\u002Fpyenv-python-version-management","Python 多版本管理 pyenv","紀錄 macOS 與 Windows 使用 pyenv 管理 Python 版本的方式。",[52,53,54,55,56],"Python","pyenv","macOS","Windows","版本管理",{"path":58,"title":59,"description":60,"category":8,"tags":61},"\u002Fposts\u002Fnpm-publish-vue2-component","npm 發布流程","紀錄 Vue 2 元件的 npm 發布、dist-tag 與打包流程。",[62,63,64,65,66],"npm","Vue2","Vue CLI","套件發布","MIT",{"path":68,"title":69,"description":70,"category":8,"tags":71},"\u002Fposts\u002Fmobile-debugging-today","現在怎麼 debug 手機網頁：從裝一堆工具到幾乎不用裝","對照 2022 年那套 scoop、iTunes、remotedebug-ios-webkit-adapter 的繁瑣設定，整理現在偵錯手機網頁的做法：Android 無線偵錯、iOS 的實際選項、on-device console、Playwright 裝置模擬，以及本機 HTTPS 的處理。",[72,73,74,75,76],"debug","iOS","Android","Chrome DevTools","Playwright",{"path":78,"title":79,"description":80,"category":16,"tags":81},"\u002Fposts\u002Fplaywright-vs-cypress","E2E 測試現在選什麼：Playwright 與 Cypress 的實際差異","對照幾年前用 Cypress 的做法，說明 Playwright 為什麼變成多數新專案的預設選擇：真正的多瀏覽器支援、免費的平行執行、trace viewer 除錯，以及兩者在架構上的根本差異與各自仍然適合的場景。",[76,82,83,84],"Cypress","E2E","測試",{"path":86,"title":87,"description":88,"category":89,"tags":90},"\u002Fposts\u002Fjs-encoding-today","現在處理編碼：TextEncoder、Uint8Array 的 Base64 方法與 URLSearchParams","整理 JavaScript 現代編碼方式，使用 TextEncoder、TextDecoder 與 Uint8Array 處理 UTF-8 與 Base64，並說明 Base64URL、URLSearchParams 與 encodeURIComponent 的差異。","research",[91,92,93,94,95,18],"編碼","TextEncoder","Base64","URLSearchParams","Uint8Array",{"path":97,"title":98,"description":99,"category":16,"tags":100},"\u002Fposts\u002Fdart-sass-migration","Dart Sass 遷移筆記：node-sass 之後怎麼裝 Sass","node-sass 與 LibSass 已停止維護，現在改用 Dart Sass。整理 webpack 與 Vite 的安裝方式，以及為什麼不再像 node-sass 一樣容易遇到 Node.js 版本與原生編譯問題。",[101,102,103],"Sass","Webpack","Vite",{"path":105,"title":106,"description":107,"category":16,"tags":108},"\u002Fposts\u002Fdayjs-vue3-computed","day.js 搭配 Vue 3 的日期格式化","整理 Vue 3 日期格式化的常見做法，使用 day.js 取代舊專案常見的 moment.js，並以 method 或 computed 取代 Vue 2 filter，也補充原生 Intl.DateTimeFormat 的使用方式。",[44,109,110,111],"day.js","日期","Intl",{"path":113,"title":114,"description":115,"category":16,"tags":116},"\u002Fposts\u002Fes-modules-today","ES Module 現在的樣子：Node ESM、exports 與 import maps","整理現代 JavaScript ES Module 的常見用法，包括 Node.js 原生 ESM、package.json exports、瀏覽器 import maps、JSON import attributes，以及 Vite 動態載入的注意事項。",[117,118,119,120,103,18],"ES Module","Node.js","import maps","exports",{"path":122,"title":123,"description":124,"category":89,"tags":125},"\u002Fposts\u002Fstructured-clone","structuredClone()：終於有內建的深層拷貝","整理 JavaScript structuredClone() 的深層拷貝用法，說明 Date、Map、Set、循環參考的處理方式，以及 Function、class 與 Vue reactive Proxy 的注意事項。",[18,126,127,128],"structuredClone","深拷貝","Vue",{"path":130,"title":131,"description":132,"category":16,"tags":133},"\u002Fposts\u002Fdynamic-import","JavaScript 動態載入：import() 與 Vue 非同步元件","整理靜態 import、動態 import() 與 Vue defineAsyncComponent 的使用方式，並簡單補充 Vite import.meta.glob 的用途。",[18,134,135,103,136],"ES Modules","Vue 3","Code Splitting",{"path":138,"title":139,"description":140,"category":16,"tags":141},"\u002Fposts\u002Fscreen-wake-lock-api","Screen Wake Lock API：不用套件也能讓頁面保持亮著","整理 Screen Wake Lock API 的基本用法，說明 HTTPS、頁面可見性、切換分頁後重新取得 wake lock，以及 Vue／Nuxt 計時器使用時的注意事項。",[142,128,143,144,145,146],"Wake Lock","Nuxt4","行動裝置","計時器","Web API",{"path":148,"title":149,"description":150,"category":16,"tags":151},"\u002Fposts\u002Fhtml-meta-boilerplate-today","現在的 HTML meta 標籤怎麼寫","整理現在一個新頁面該有的 meta 標籤骨架——viewport 補上 viewport-fit=cover 因應瀏海與圓角螢幕、color-scheme 讓表單控制項跟著深色模式換色、theme-color 決定行動瀏覽器工具列顏色，以及基本的 SEO 與 Open Graph 標籤。",[152,153,154],"HTML","meta","SEO",{"path":156,"title":157,"description":158,"category":8,"tags":159},"\u002Fposts\u002Fdocker-node-postgres","把 Node + PostgreSQL 的 backend 裝進 Docker：Dockerfile、.dockerignore 與 compose","從「本機裝了就跑」到打包成容器的通用做法——Dockerfile 每一行的理由與 layer cache 為什麼決定了指令順序、.dockerignore 漏掉 node_modules 對原生模組是災難級的問題、容器之間為什麼不能用 localhost 互相找到對方，以及怎麼驗證資料真的寫進了 volume。",[160,161,118,162,163],"Docker","Docker Compose","PostgreSQL","Express",{"path":165,"title":166,"description":167,"category":16,"tags":168},"\u002Fposts\u002Fnuxt-server-proxy","Nuxt 3 \u002F 4 用 Server API 做代理與轉發","整理 Nuxt 3 與 Nuxt 4 使用 server\u002Fapi 轉發第三方 API 的方式，可以避免瀏覽器 CORS 問題、隱藏 API Key，也能在伺服器端加入快取。",[169,143,170,171,172],"Nuxt3","CORS","Nitro","API",{"path":174,"title":175,"description":176,"category":16,"tags":177},"\u002Fposts\u002Fnuxt4-project-setup","Nuxt 4 建立專案：和 Nuxt 3 有哪些不同","整理 Nuxt 4 建立專案的基本流程與目錄結構，並對照 Nuxt 3 的差異，包括 app\u002F 目錄、路徑別名、TypeScript，以及目前常用的 ESLint 與 Tailwind CSS 4 設定。",[143,44,178,179,180],"TypeScript","ESLint","Tailwind CSS 4",{"path":182,"title":183,"description":184,"category":16,"tags":185},"\u002Fposts\u002Fnuxt3-route-middleware","Nuxt 3 \u002F 4 的 Route Middleware：進頁面前先做判斷","整理 Nuxt 3 與 Nuxt 4 的 Route Middleware，用 defineNuxtRouteMiddleware 在進入頁面前檢查登入狀態，搭配 navigateTo 重新導向，並說明一般 middleware、global middleware 與 definePageMeta 的用法。",[169,143,186,187],"Middleware","驗證",{"path":189,"title":190,"description":191,"category":16,"tags":192},"\u002Fposts\u002Fnuxt-route-rules-redirect","Nuxt 3 \u002F 4 的 routeRules：重新導向與頁面設定","整理 Nuxt 3 與 Nuxt 4 的 routeRules 用法，可以依照不同網址設定重新導向、預渲染、SSR 與快取，並簡單對照 Nuxt 2 的舊做法。",[169,143,193,194],"routeRules","重新導向",{"path":196,"title":197,"description":198,"category":16,"tags":199},"\u002Fposts\u002Fios-iframe-google-login-blank-page","iOS iframe 串接 Google 登入出現空白頁：Popup 與頁面回收問題排查紀錄","記錄 iframe 內串接 Google 第三方登入時，部分 iOS 裝置因背景頁面遭到回收並重新載入，導致 Popup 登入流程中斷，以及最後透過 Redirect 分流與登入狀態接回機制處理的過程。",[73,200,201,202,203,204,205,206],"Safari","iframe","Google Login","GIS","OAuth","Popup","Redirect",{"path":208,"title":209,"description":210,"category":16,"tags":211},"\u002Fposts\u002Fios-login-tab-return-behavior","iOS 第三方登入後回不到原頁？分頁開啟關係與回頁行為實測","記錄 iOS Safari 與 Chrome 在多分頁第三方登入流程中，登入頁關閉後不一定回到原頁的實測，以及分頁開啟關係、window.close 與 window.focus 的限制。",[73,200,212,202,204,201,213,214],"Chrome","window.close","window.focus",{"path":216,"title":217,"description":218,"category":16,"tags":219},"\u002Fposts\u002Fgoogle-app-about-blank-placeholder","Google App 內建瀏覽器：about:blank 佔位頁被關閉的排查紀錄","記錄 iOS Google App 內建瀏覽器在非同步開啟外部頁面時，about:blank 佔位分頁被自動關閉，導致第三方登入或外部導轉失敗的排查與解法。",[73,220,221,222,204,223],"Google App","window.open","about:blank","WebView",{"path":225,"title":226,"description":227,"category":228,"tags":229},"\u002Fposts\u002Fclaude-code-codex-cli-init-basics","AI 相關紀錄 v1｜Claude Code \u002F Codex CLI 初始化與基本概念","從 Claude Code 與 Codex CLI 開始，整理 CLI、Coding Agent、Context、\u002Finit 與 CLAUDE.md／AGENTS.md 這幾個一開始最容易搞混的概念，以及在既有專案中的安裝與啟動方式。","ai",[230,231,232,233,234,235],"AI","Claude Code","Codex CLI","Coding Agent","CLAUDE.md","AGENTS.md",{"path":237,"title":238,"description":239,"category":228,"tags":240},"\u002Fposts\u002Fclaude-agents-md-project-guidelines","AI 相關紀錄 v2｜CLAUDE.md \u002F AGENTS.md 怎麼寫？專案規範與實際範例","整理 CLAUDE.md 與 AGENTS.md 的用途、適合記錄的專案規範，以及可直接參考的設定範例。",[230,231,232,234,235],{"path":242,"title":243,"description":244,"category":228,"tags":245},"\u002Fposts\u002Fclaude-codex-config-locations","AI 相關紀錄 v3｜Claude Code `.claude\u002F` \u002F Codex CLI 設定位置：全域與專案設定基本概要介紹","整理 Claude Code 與 Codex CLI 的使用者層級、專案層級設定位置，以及 rules、skills、agents 等目錄的用途。",[230,231,232,246],"設定檔",{"path":248,"title":249,"description":250,"category":228,"tags":251},"\u002Fposts\u002Fclaude-settings-codex-config","AI 相關紀錄 v4｜Claude Code settings \u002F Codex config 基本設定","整理 Claude Code settings.json 與 Codex config.toml 的設定層級、權限控制和常見基本設定。",[230,231,232,252,253],"settings.json","config.toml",{"path":255,"title":256,"description":257,"category":228,"tags":258},"\u002Fposts\u002Fclaude-codex-rules-structure","AI 相關紀錄 v5｜Rules：專案規則多了之後怎麼拆？","整理 Claude Code Rules 與 Codex AGENTS.md 的拆分方式，說明何時該拆、怎麼依目錄管理專案規則。",[230,231,232,259,235],"Rules",{"path":261,"title":262,"description":263,"category":228,"tags":264},"\u002Fposts\u002Fclaude-codex-slash-commands","AI 相關紀錄 v6｜Commands \u002F Slash Commands：CLI 裡的 `\u002F` 指令是什麼？","介紹 Claude Code 與 Codex CLI 的 Slash Commands，整理常用內建指令、自訂指令與 Skills 的差異。",[230,231,232,265],"Slash Commands",{"path":267,"title":268,"description":269,"category":228,"tags":270},"\u002Fposts\u002Fclaude-codex-skills","AI 相關紀錄 v7｜Skills：把重複工作流程整理起來","介紹 Claude Code 與 Codex Skills，整理適合保存成 Skill 的重複流程、基本結構與使用方式。",[230,231,232,271],"Skills",{"path":273,"title":274,"description":275,"category":228,"tags":276},"\u002Fposts\u002Fclaude-codex-agents-subagents","AI 相關紀錄 v8｜Agent \u002F Subagent：什麼時候真的需要分工？","整理 Agent、Subagent 與 Custom Agent 的用途，說明何時適合分工，以及它們和 Rules、Skills 的差異。",[230,231,232,277,278],"Agent","Subagent",{"path":280,"title":281,"description":282,"category":228,"tags":283},"\u002Fposts\u002Fmcp-basics","AI 相關紀錄 v9｜MCP：讓 AI 使用其他工具與資料","介紹 MCP 如何讓 AI 使用外部工具與資料，並以 Pencil MCP 說明實際用途、權限風險及與 Skill 的差異。",[230,284,231,232,285],"MCP","Pencil",{"path":287,"title":288,"description":289,"category":228,"tags":290},"\u002Fposts\u002Fai-coding-agent-concepts-summary","AI 相關紀錄 v10｜基本概念小結論","用一篇快速整理 CLAUDE.md、AGENTS.md、設定檔、Rules、Commands、Skills、Agent 與 MCP 的角色和差異。",[230,231,232,284,271,277],{"path":292,"title":293,"description":294,"category":228,"tags":295},"\u002Fposts\u002Fclaude-code-codex-model-selection","Claude Code 與 Codex：不同模型怎麼選？","比較 Claude Code 與 Codex 不同模型的速度、能力與成本取捨，依工作難度整理實用的選擇方向。",[230,231,296,297],"Codex","模型選擇",{"path":299,"title":300,"description":301,"category":228,"tags":302},"\u002Fposts\u002Fclaude-model-selection","Claude 模型簡單怎麼選？","整理 Claude 各模型在速度、能力與使用情境上的差異，提供從輕量工作到複雜任務的選擇方向。",[230,231,303,297],"Claude",{"path":305,"title":306,"description":307,"category":228,"tags":308},"\u002Fposts\u002Fcodex-model-selection","Codex 模型簡單怎麼選？","整理 Codex 各模型在速度、能力與使用情境上的差異，提供從簡單修改到大型端到端任務的選擇方向。",[230,296,309,297],"OpenAI",{"path":311,"title":312,"description":313,"category":228,"tags":314},"\u002Fposts\u002Fclaude-code-codex-cli-command-cheatsheet","Claude Code \u002F Codex CLI 常用指令速查表","整理 Claude Code 與 Codex CLI 的常用斜線指令、快捷操作與進階功能，方便需要時快速查找。",[230,231,232,265,315],"速查表",{"id":317,"title":312,"body":318,"category":228,"description":313,"draft":1437,"extension":1438,"image":1439,"meta":1440,"navigation":1441,"path":311,"publishedAt":1442,"relatedExperiments":1443,"seo":1444,"stem":1445,"tags":1446,"updatedAt":1439,"__hash__":1447},"posts\u002Fposts\u002F20260914.claude-code-codex-cli-command-cheatsheet.md",{"type":319,"value":320,"toc":1399},"minimark",[321,325,336,339,342,345,348,353,356,551,568,570,577,580,586,589,592,598,601,607,610,612,621,624,630,636,641,647,650,656,659,665,678,680,686,689,695,698,700,706,709,715,718,720,727,730,736,742,745,750,756,761,764,770,772,776,783,851,853,859,862,868,871,873,878,881,883,889,892,895,901,906,908,912,915,921,924,930,933,939,942,945,948,951,953,958,961,967,970,973,975,979,982,985,1138,1156,1158,1166,1169,1175,1178,1184,1187,1193,1196,1198,1203,1206,1212,1215,1221,1224,1229,1232,1235,1241,1244,1246,1251,1254,1260,1263,1269,1275,1278,1280,1285,1288,1294,1297,1303,1306,1309,1312,1317,1320,1322,1328,1331,1336,1339,1342,1344,1347,1350,1353,1359,1362,1368,1371,1377,1380,1383,1388,1391],[322,323,324],"p",{},"Claude Code 和 Codex CLI 都可以在對話中輸入：",[326,327,333],"pre",{"className":328,"code":330,"language":331,"meta":332},[329],"language-text","\u002F\n","text","",[334,335,330],"code",{"__ignoreMap":332},[322,337,338],{},"查看目前可以使用的指令。",[322,340,341],{},"兩邊雖然有不少同名指令，但實際功能不一定完全相同，所以我會分開整理。",[322,343,344],{},"另外這類 CLI 更新速度很快，實際可用指令仍然以目前安裝版本顯示的清單為準。",[346,347],"hr",{},[349,350,352],"h2",{"id":351},"claude-code-常用指令","Claude Code 常用指令",[322,354,355],{},"我目前比較常需要知道的是這些：",[357,358,359,372],"table",{},[360,361,362],"thead",{},[363,364,365,369],"tr",{},[366,367,368],"th",{},"指令",[366,370,371],{},"用途",[373,374,375,386,396,406,416,426,436,449,459,469,479,489,499,511,521,531,541],"tbody",{},[363,376,377,383],{},[378,379,380],"td",{},[334,381,382],{},"\u002Fhelp",[378,384,385],{},"查看目前可用的指令",[363,387,388,393],{},[378,389,390],{},[334,391,392],{},"\u002Fmodel",[378,394,395],{},"切換模型",[363,397,398,403],{},[378,399,400],{},[334,401,402],{},"\u002Fusage",[378,404,405],{},"查看使用量、方案額度與統計",[363,407,408,413],{},[378,409,410],{},[334,411,412],{},"\u002Fstatus",[378,414,415],{},"查看目前模型、版本、帳號與連線狀態",[363,417,418,423],{},[378,419,420],{},[334,421,422],{},"\u002Fplan",[378,424,425],{},"進入 Plan Mode，先規劃再修改",[363,427,428,433],{},[378,429,430],{},[334,431,432],{},"\u002Fpermissions",[378,434,435],{},"查看與調整工具權限",[363,437,438,443],{},[378,439,440],{},[334,441,442],{},"\u002Fmemory",[378,444,445,446,448],{},"查看或編輯 ",[334,447,234],{}," 等記憶設定",[363,450,451,456],{},[378,452,453],{},[334,454,455],{},"\u002Fskills",[378,457,458],{},"查看目前可用的 Skills",[363,460,461,466],{},[378,462,463],{},[334,464,465],{},"\u002Fmcp",[378,467,468],{},"查看與管理 MCP Server",[363,470,471,476],{},[378,472,473],{},[334,474,475],{},"\u002Fcompact",[378,477,478],{},"壓縮目前對話 Context",[363,480,481,486],{},[378,482,483],{},[334,484,485],{},"\u002Fclear",[378,487,488],{},"開始新的對話 Context",[363,490,491,496],{},[378,492,493],{},[334,494,495],{},"\u002Freview",[378,497,498],{},"Review 目前修改內容",[363,500,501,506],{},[378,502,503],{},[334,504,505],{},"\u002Finit",[378,507,508,509],{},"分析專案並建立基本 ",[334,510,234],{},[363,512,513,518],{},[378,514,515],{},[334,516,517],{},"\u002Fcd",[378,519,520],{},"切換目前工作目錄",[363,522,523,528],{},[378,524,525],{},[334,526,527],{},"\u002Fconfig",[378,529,530],{},"開啟 Claude Code 設定",[363,532,533,538],{},[378,534,535],{},[334,536,537],{},"\u002Fplugin",[378,539,540],{},"查看與管理 Plugins",[363,542,543,548],{},[378,544,545],{},[334,546,547],{},"\u002Freload-plugins",[378,549,550],{},"Plugin 有變動後重新載入",[322,552,553,554,556,557,556,559,556,561,556,563,556,565,567],{},"Claude Code 官方目前也把 ",[334,555,392],{},"、",[334,558,432],{},[334,560,475],{},[334,562,442],{},[334,564,465],{},[334,566,505],{}," 等列為內建指令。",[346,569],{},[571,572,574,576],"h3",{"id":573},"model切換模型",[334,575,392],{},"：切換模型",[322,578,579],{},"例如：",[326,581,584],{"className":582,"code":583,"language":331,"meta":332},[329],"\u002Fmodel\n",[334,585,583],{"__ignoreMap":332},[322,587,588],{},"會開啟模型選擇。",[322,590,591],{},"也可以直接指定：",[326,593,596],{"className":594,"code":595,"language":331,"meta":332},[329],"\u002Fmodel sonnet\n",[334,597,595],{"__ignoreMap":332},[322,599,600],{},"適合在：",[326,602,605],{"className":603,"code":604,"language":331,"meta":332},[329],"簡單工作\n↓\n較快模型\n\n複雜工作\n↓\n較強模型\n",[334,606,604],{"__ignoreMap":332},[322,608,609],{},"之間切換。",[346,611],{},[571,613,615,617,618,620],{"id":614},"usage-和-status-不太一樣",[334,616,402],{}," 和 ",[334,619,412],{}," 不太一樣",[322,622,623],{},"這兩個我覺得很容易搞混。",[326,625,628],{"className":626,"code":627,"language":331,"meta":332},[329],"\u002Fusage\n↓\n看使用量 \u002F 額度 \u002F 統計\n",[334,629,627],{"__ignoreMap":332},[326,631,634],{"className":632,"code":633,"language":331,"meta":332},[329],"\u002Fstatus\n↓\n看目前 Claude Code 狀態\n",[334,635,633],{"__ignoreMap":332},[322,637,638,640],{},[334,639,412],{}," 主要包含：",[326,642,645],{"className":643,"code":644,"language":331,"meta":332},[329],"Claude Code 版本\n目前模型\n帳號\n連線狀態\n",[334,646,644],{"__ignoreMap":332},[322,648,649],{},"如果是想知道：",[651,652,653],"blockquote",{},[322,654,655],{},"我還剩多少使用量？",[322,657,658],{},"比較應該看：",[326,660,663],{"className":661,"code":662,"language":331,"meta":332},[329],"\u002Fusage\n",[334,664,662],{"__ignoreMap":332},[322,666,667,668,556,671,674,675,677],{},"Claude Code 目前也提供 ",[334,669,670],{},"\u002Fcost",[334,672,673],{},"\u002Fstats"," 作為 ",[334,676,402],{}," 的相關入口。",[346,679],{},[571,681,683,685],{"id":682},"plan大型修改前先規劃",[334,684,422],{},"：大型修改前先規劃",[322,687,688],{},"如果要做比較大的功能，可以先：",[326,690,693],{"className":691,"code":692,"language":331,"meta":332},[329],"\u002Fplan\n",[334,694,692],{"__ignoreMap":332},[322,696,697],{},"進入 Plan Mode。",[322,699,579],{},[326,701,704],{"className":702,"code":703,"language":331,"meta":332},[329],"\u002Fplan 幫我規劃會員登入功能\n",[334,705,703],{"__ignoreMap":332},[322,707,708],{},"這時可以先讓 Claude：",[326,710,713],{"className":711,"code":712,"language":331,"meta":332},[329],"分析專案\n↓\n提出修改方式\n↓\n確認計畫\n↓\n再開始實作\n",[334,714,712],{"__ignoreMap":332},[322,716,717],{},"比直接叫 AI 大範圍修改比較容易控制。",[346,719],{},[571,721,723,617,725],{"id":722},"compact-和-clear",[334,724,475],{},[334,726,485],{},[322,728,729],{},"這兩個也很容易混在一起。",[731,732,734],"h4",{"id":733},"compact",[334,735,475],{},[326,737,740],{"className":738,"code":739,"language":331,"meta":332},[329],"目前對話很長\n↓\n\u002Fcompact\n↓\n整理前面的內容\n↓\n繼續同一個工作\n",[334,741,739],{"__ignoreMap":332},[322,743,744],{},"它會把前面的對話整理成摘要，釋放 Context 空間。",[731,746,748],{"id":747},"clear",[334,749,485],{},[326,751,754],{"className":752,"code":753,"language":331,"meta":332},[329],"目前任務完成\n↓\n\u002Fclear\n↓\n開始新的對話\n",[334,755,753],{"__ignoreMap":332},[322,757,758,760],{},[334,759,485],{}," 會建立新的空白 Conversation Context。",[322,762,763],{},"所以可以先記：",[326,765,768],{"className":766,"code":767,"language":331,"meta":332},[329],"還在做同一件事\n↓\n\u002Fcompact\n\n\n準備換另一件事\n↓\n\u002Fclear\n",[334,769,767],{"__ignoreMap":332},[346,771],{},[349,773,775],{"id":774},"claude-code-常用快捷操作","Claude Code 常用快捷操作",[322,777,778,779,782],{},"除了 ",[334,780,781],{},"\u002Fxxx"," 指令之外，Claude Code 還有一些我覺得很實用的快捷操作。",[357,784,785,794],{},[360,786,787],{},[363,788,789,792],{},[366,790,791],{},"操作",[366,793,371],{},[373,795,796,807,817,827,837],{},[363,797,798,804],{},[378,799,800,803],{},[334,801,802],{},"!"," 開頭",[378,805,806],{},"直接執行 Shell 指令",[363,808,809,814],{},[378,810,811],{},[334,812,813],{},"Esc",[378,815,816],{},"中斷目前 Claude 的動作",[363,818,819,824],{},[378,820,821,823],{},[334,822,813],{}," 連按兩次",[378,825,826],{},"開啟 Rewind，可以回到之前的對話 \u002F 程式狀態",[363,828,829,834],{},[378,830,831],{},[334,832,833],{},"Shift + Tab",[378,835,836],{},"切換 Permission Mode",[363,838,839,848],{},[378,840,841,844,845],{},[334,842,843],{},"Alt + P"," \u002F ",[334,846,847],{},"Option + P",[378,849,850],{},"快速切換模型",[322,852,579],{},[326,854,857],{"className":855,"code":856,"language":331,"meta":332},[329],"! git status\n",[334,858,856],{"__ignoreMap":332},[322,860,861],{},"或：",[326,863,866],{"className":864,"code":865,"language":331,"meta":332},[329],"! npm test\n",[334,867,865],{"__ignoreMap":332},[322,869,870],{},"Claude Code 會直接執行 Shell Command，並把結果加入目前對話 Context。",[346,872],{},[571,874,876],{"id":875},"shift-tab",[334,877,833],{},[322,879,880],{},"可以循環切換目前的 Permission Mode。",[322,882,579],{},[326,884,887],{"className":885,"code":886,"language":331,"meta":332},[329],"Manual\n↓\nAccept Edits\n↓\nPlan\n",[334,888,886],{"__ignoreMap":332},[322,890,891],{},"如果另外啟用了 Auto 等模式，也可能一起出現在循環中。",[322,893,894],{},"大型功能開始之前，如果想先討論、不讓 Claude 直接修改程式，就可以切到：",[326,896,899],{"className":897,"code":898,"language":331,"meta":332},[329],"Plan Mode\n",[334,900,898],{"__ignoreMap":332},[322,902,553,903,905],{},[334,904,833],{}," 列為 Permission Mode 的快速切換方式。",[346,907],{},[349,909,911],{"id":910},"比較進階需要時再用","比較進階、需要時再用",[322,913,914],{},"下面這些我覺得不用一開始全部記。",[731,916,918],{"id":917},"fewer-permission-prompts",[334,919,920],{},"\u002Ffewer-permission-prompts",[322,922,923],{},"如果使用 Claude Code 時一直遇到：",[326,925,928],{"className":926,"code":927,"language":331,"meta":332},[329],"這個可以執行嗎？\n那個可以執行嗎？\n",[334,929,927],{"__ignoreMap":332},[322,931,932],{},"可以使用：",[326,934,937],{"className":935,"code":936,"language":331,"meta":332},[329],"\u002Ffewer-permission-prompts\n",[334,938,936],{"__ignoreMap":332},[322,940,941],{},"讓 Claude 分析過去常用的唯讀 Bash \u002F MCP 操作，再提出 Allowlist 建議。",[322,943,944],{},"它目前其實是一個內建 Skill，而不是一般基礎指令。",[322,946,947],{},"所以我不會把它列成「每個專案初始化後一定要執行」。",[322,949,950],{},"真的覺得 Permission Prompt 太多，再使用即可。",[346,952],{},[731,954,956],{"id":955},"reload-plugins",[334,957,547],{},[322,959,960],{},"如果安裝、啟用或修改 Plugin 後需要重新載入：",[326,962,965],{"className":963,"code":964,"language":331,"meta":332},[329],"\u002Freload-plugins\n",[334,966,964],{"__ignoreMap":332},[322,968,969],{},"可以在不用重開 Claude Code 的情況下重新載入 Plugin。",[322,971,972],{},"如果平常根本沒有使用 Plugin，也不用特別記這個指令。",[346,974],{},[349,976,978],{"id":977},"codex-cli-常用指令","Codex CLI 常用指令",[322,980,981],{},"Codex 也有自己的 Slash Commands。",[322,983,984],{},"目前比較實用的可以先記：",[357,986,987,995],{},[360,988,989],{},[363,990,991,993],{},[366,992,368],{},[366,994,371],{},[373,996,997,1006,1015,1024,1033,1042,1051,1060,1069,1079,1090,1099,1108,1118,1128],{},[363,998,999,1003],{},[378,1000,1001],{},[334,1002,392],{},[378,1004,1005],{},"切換模型與可用的 Reasoning 設定",[363,1007,1008,1012],{},[378,1009,1010],{},[334,1011,412],{},[378,1013,1014],{},"查看目前模型、Permission、Context 等 Session 狀態",[363,1016,1017,1021],{},[378,1018,1019],{},[334,1020,402],{},[378,1022,1023],{},"查看帳號使用量",[363,1025,1026,1030],{},[378,1027,1028],{},[334,1029,432],{},[378,1031,1032],{},"調整 Codex 可以自動執行到什麼程度",[363,1034,1035,1039],{},[378,1036,1037],{},[334,1038,422],{},[378,1040,1041],{},"進入 Plan Mode",[363,1043,1044,1048],{},[378,1045,1046],{},[334,1047,475],{},[378,1049,1050],{},"壓縮目前 Context",[363,1052,1053,1057],{},[378,1054,1055],{},[334,1056,485],{},[378,1058,1059],{},"清空目前畫面並開始新的 Chat",[363,1061,1062,1066],{},[378,1063,1064],{},[334,1065,495],{},[378,1067,1068],{},"Review 目前 Working Tree",[363,1070,1071,1076],{},[378,1072,1073],{},[334,1074,1075],{},"\u002Fdiff",[378,1077,1078],{},"查看目前 Git 修改內容",[363,1080,1081,1085],{},[378,1082,1083],{},[334,1084,505],{},[378,1086,1087,1088],{},"建立基本 ",[334,1089,235],{},[363,1091,1092,1096],{},[378,1093,1094],{},[334,1095,455],{},[378,1097,1098],{},"查看及選擇 Skill",[363,1100,1101,1105],{},[378,1102,1103],{},[334,1104,465],{},[378,1106,1107],{},"查看目前 MCP Tools",[363,1109,1110,1115],{},[378,1111,1112],{},[334,1113,1114],{},"\u002Fagent",[378,1116,1117],{},"查看或切換 Subagent Thread",[363,1119,1120,1125],{},[378,1121,1122],{},[334,1123,1124],{},"\u002Fresume",[378,1126,1127],{},"繼續之前儲存的 Session",[363,1129,1130,1135],{},[378,1131,1132],{},[334,1133,1134],{},"\u002Fimport",[378,1136,1137],{},"匯入 Claude Code 等外部 Agent 的部分設定與資料",[322,1139,1140,1141,556,1143,556,1145,556,1147,556,1149,556,1151,556,1153,1155],{},"Codex 官方目前把 ",[334,1142,392],{},[334,1144,432],{},[334,1146,422],{},[334,1148,475],{},[334,1150,495],{},[334,1152,412],{},[334,1154,402],{}," 等都列為 CLI 內建 Slash Commands。",[346,1157],{},[571,1159,1161,1162,617,1164],{"id":1160},"codex-的-status-和-usage","Codex 的 ",[334,1163,412],{},[334,1165,402],{},[322,1167,1168],{},"Codex 也把兩個分開。",[326,1170,1173],{"className":1171,"code":1172,"language":331,"meta":332},[329],"\u002Fstatus\n↓\n目前 Session 狀態\n",[334,1174,1172],{"__ignoreMap":332},[322,1176,1177],{},"會看到像：",[326,1179,1182],{"className":1180,"code":1181,"language":331,"meta":332},[329],"目前 Model\nApproval Policy\nWritable Roots\nContext \u002F Token 使用狀況\n",[334,1183,1181],{"__ignoreMap":332},[322,1185,1186],{},"而：",[326,1188,1191],{"className":1189,"code":1190,"language":331,"meta":332},[329],"\u002Fusage\n↓\n帳號使用量\n",[334,1192,1190],{"__ignoreMap":332},[322,1194,1195],{},"比較偏帳號本身的 Daily \u002F Weekly \u002F Cumulative Usage。",[346,1197],{},[571,1199,1201],{"id":1200},"diff",[334,1202,1075],{},[322,1204,1205],{},"Codex 有一個我覺得滿實用的：",[326,1207,1210],{"className":1208,"code":1209,"language":331,"meta":332},[329],"\u002Fdiff\n",[334,1211,1209],{"__ignoreMap":332},[322,1213,1214],{},"可以直接查看目前：",[326,1216,1219],{"className":1217,"code":1218,"language":331,"meta":332},[329],"已修改檔案\n尚未 Stage 的修改\n新增檔案\n",[334,1220,1218],{"__ignoreMap":332},[322,1222,1223],{},"所以 AI 做完一輪修改後，可以先：",[326,1225,1227],{"className":1226,"code":1209,"language":331,"meta":332},[329],[334,1228,1209],{"__ignoreMap":332},[322,1230,1231],{},"看看它到底改了哪些東西。",[322,1233,1234],{},"再搭配：",[326,1236,1239],{"className":1237,"code":1238,"language":331,"meta":332},[329],"\u002Freview\n",[334,1240,1238],{"__ignoreMap":332},[322,1242,1243],{},"讓 Codex 檢查目前 Working Tree。",[346,1245],{},[571,1247,1249],{"id":1248},"init",[334,1250,505],{},[322,1252,1253],{},"Claude Code 和 Codex 都有：",[326,1255,1258],{"className":1256,"code":1257,"language":331,"meta":332},[329],"\u002Finit\n",[334,1259,1257],{"__ignoreMap":332},[322,1261,1262],{},"但建立的東西不一樣。",[326,1264,1267],{"className":1265,"code":1266,"language":331,"meta":332},[329],"Claude Code\n\n\u002Finit\n↓\nCLAUDE.md\n",[334,1268,1266],{"__ignoreMap":332},[326,1270,1273],{"className":1271,"code":1272,"language":331,"meta":332},[329],"Codex\n\n\u002Finit\n↓\nAGENTS.md\n",[334,1274,1272],{"__ignoreMap":332},[322,1276,1277],{},"Codex 官方也建議產生後再依照自己的專案規範調整，而不是把自動產生的內容當成不能修改的固定設定。",[346,1279],{},[571,1281,1283],{"id":1282},"import",[334,1284,1134],{},[322,1286,1287],{},"Codex 現在還有一個跟 Claude Code 使用者很有關係的功能：",[326,1289,1292],{"className":1290,"code":1291,"language":331,"meta":332},[329],"\u002Fimport\n",[334,1293,1291],{"__ignoreMap":332},[322,1295,1296],{},"目前可以選擇：",[326,1298,1301],{"className":1299,"code":1300,"language":331,"meta":332},[329],"\u002Fimport\n↓\nClaude Code\n",[334,1302,1300],{"__ignoreMap":332},[322,1304,1305],{},"再匯入支援的設定、專案檔案或近期 Session 資訊。",[322,1307,1308],{},"如果本來就在 Claude Code 與 Codex 之間切換，這個功能可以知道一下。",[322,1310,1311],{},"不過它不是代表：",[651,1313,1314],{},[322,1315,1316],{},"Claude Code 和 Codex 的所有 Session Context 都會自動同步。",[322,1318,1319],{},"兩個工具仍然是各自的 Agent \u002F Session。",[346,1321],{},[349,1323,1325,1326],{"id":1324},"codex-也支援","Codex 也支援 ",[334,1327,802],{},[322,1329,1330],{},"Codex CLI 也可以使用：",[326,1332,1334],{"className":1333,"code":856,"language":331,"meta":332},[329],[334,1335,856],{"__ignoreMap":332},[322,1337,1338],{},"這種方式直接執行本機 Shell Command。",[322,1340,1341],{},"Codex 會按照目前的 Approval 與 Sandbox 設定處理這些指令。",[346,1343],{},[349,1345,1346],{"id":1346},"最常用的其實不用背很多",[322,1348,1349],{},"如果只是一般開發，我目前覺得先記這幾個就夠了。",[731,1351,231],{"id":1352},"claude-code",[326,1354,1357],{"className":1355,"code":1356,"language":331,"meta":332},[329],"\u002Fmodel\n\u002Fusage\n\u002Fplan\n\u002Fcompact\n\u002Fclear\n\u002Fpermissions\n",[334,1358,1356],{"__ignoreMap":332},[731,1360,296],{"id":1361},"codex",[326,1363,1366],{"className":1364,"code":1365,"language":331,"meta":332},[329],"\u002Fmodel\n\u002Fstatus\n\u002Fusage\n\u002Fplan\n\u002Fcompact\n\u002Fdiff\n",[334,1367,1365],{"__ignoreMap":332},[322,1369,1370],{},"其他：",[326,1372,1375],{"className":1373,"code":1374,"language":331,"meta":332},[329],"MCP\nSkills\nPlugins\nAgents\nHooks\n...\n",[334,1376,1374],{"__ignoreMap":332},[322,1378,1379],{},"等真的用到再查即可。",[322,1381,1382],{},"而且如果忘記指令：",[326,1384,1386],{"className":1385,"code":330,"language":331,"meta":332},[329],[334,1387,330],{"__ignoreMap":332},[322,1389,1390],{},"直接打開目前 CLI 的 Command List，通常比背整張表更實際。",[651,1392,1393],{},[322,1394,1395],{},[1396,1397,1398],"strong",{},"速查表的目的不是把所有指令背起來，而是知道「遇到這個需求時，大概有什麼指令可以用」。",{"title":332,"searchDepth":1400,"depth":1400,"links":1401},3,[1402,1417,1420,1424,1431,1433],{"id":351,"depth":1403,"text":352,"children":1404},2,[1405,1407,1409,1411],{"id":573,"depth":1400,"text":1406},"\u002Fmodel：切換模型",{"id":614,"depth":1400,"text":1408},"\u002Fusage 和 \u002Fstatus 不太一樣",{"id":682,"depth":1400,"text":1410},"\u002Fplan：大型修改前先規劃",{"id":722,"depth":1400,"text":1412,"children":1413},"\u002Fcompact 和 \u002Fclear",[1414,1416],{"id":733,"depth":1415,"text":475},4,{"id":747,"depth":1415,"text":485},{"id":774,"depth":1403,"text":775,"children":1418},[1419],{"id":875,"depth":1400,"text":833},{"id":910,"depth":1403,"text":911,"children":1421},[1422,1423],{"id":917,"depth":1415,"text":920},{"id":955,"depth":1415,"text":547},{"id":977,"depth":1403,"text":978,"children":1425},[1426,1428,1429,1430],{"id":1160,"depth":1400,"text":1427},"Codex 的 \u002Fstatus 和 \u002Fusage",{"id":1200,"depth":1400,"text":1075},{"id":1248,"depth":1400,"text":505},{"id":1282,"depth":1400,"text":1134},{"id":1324,"depth":1403,"text":1432},"Codex 也支援 !",{"id":1346,"depth":1403,"text":1346,"children":1434},[1435,1436],{"id":1352,"depth":1415,"text":231},{"id":1361,"depth":1415,"text":296},false,"md",null,{},true,"2026-09-14",[],{"title":312,"description":313},"posts\u002F20260914.claude-code-codex-cli-command-cheatsheet",[230,231,232,265,315],"x47QGbNLi0XMBY6mRRYyzhgc2XjTdzWcbC-jeukdWAA",[1439,1449],{"title":306,"path":305,"stem":1450,"description":307,"category":228,"publishedAt":1451,"children":-1},"posts\u002F20260913.codex-model-selection","2026-09-13",1791786900343]