跳至主要内容

介面和互動方式

Claude Code採用命令列介面(CLI),看起來不如圖形介面直觀,但提供了更高效、更靈活的互動方式。今天講解介面組成、各種互動方式,以及如何高效使用終端進行AI程式設計。

CLI介面詳解

啟動介面

啟動Claude Code時,會看到歡迎介面:

╔════════════════════════════════════════════╗
║ ║
║ Welcome to Claude Code (Beta) ║
║ ║
║ Your AI-powered coding assistant ║
║ ║
╚════════════════════════════════════════════╝

Connected to: claude-3-7-sonnet-20250219
Working directory: /Users/username/my-project
Session ID: abc123def456

How can I help you code today?
>

介面包含:

  1. 歡迎資訊:確認工具已成功啟動
  2. 模型版本:當前使用的Claude模型
  3. 工作目錄:Claude Code的操作範圍
  4. 會話ID:用於追蹤和除錯
  5. 輸入提示符> 表示準備接收你的指令

主要介面元素

1. 輸入提示符

>                    # 等待用户输入
> _ # 光标闪烁,可以输入

提示符的不同狀態:

  • > - 空閒,等待輸入
  • - 處理中
  • - 完成
  • - 出錯

2. 輸出區域

Claude的回覆會清晰地顯示在終端中:

I'll help you create that function.

📝 Creating: utils/helper.js
───────────────────────────────────────────

✓ File created successfully

Would you like me to add tests for this function?
>

3. 工具呼叫顯示

Claude使用工具時,會實時顯示:

🔍 Reading: src/components/Header.js
🔍 Reading: src/components/Footer.js
✏️ Editing: src/components/Header.js
✓ Edit completed

Updated the Header component with the new logo.
>

4. 進度指示器

耗時操作會顯示進度:

⟳ Analyzing codebase...
⟳ Found 143 files
⟳ Searching for references...
⟳ Processing...

✓ Analysis complete (3.2s)
>

介面配置

Claude Code支援介面自定義:

# 启用详细模式(显示更多调试信息)
claude --verbose

# 紧凑模式(减少输出)
claude --compact

# 禁用颜色输出
claude --no-color

# 禁用Unicode字符(如果终端不支持)
claude --no-unicode

~/.claude/config.json 中儲存配置:

{
"ui": {
"verbose": false,
"compact": false,
"colors": true,
"unicode": true,
"showToolCalls": true,
"animatedSpinner": true
}
}

基礎互動方式

1. 自然語言對話

Claude Code最大的優勢就是可以用自然語言互動:

> 创建一个React组件,用于显示用户信息

I'll create a React component for displaying user information.

📝 Creating: src/components/UserInfo.jsx
...

技巧:

  • 像和人對話一樣自然表達
  • 可以使用中文或英文
  • 可以隨時追問或補充

2. 命令式指令

明確的操作,可以使用命令式語言:

> 读取package.json文件
> 修改README.md,添加安装说明
> 运行npm test
> 格式化所有JavaScript文件

3. 多行輸入

複雜需求,可以使用多行輸入:

Shift + Enter 換行,輸入完成後按 Enter 傳送:

> 请帮我重构这个函数:
1. 提取重复代码
2. 添加错误处理
3. 改进变量命名
4. 添加JSDoc注释

代码在 src/utils/data.js 的 processData 函数

4. 引用程式碼

可以直接貼上程式碼讓Claude分析:

> 帮我优化这段代码:

```javascript
function getData(id) {
fetch('/api/users/' + id)
.then(res => res.json())
.then(data => console.log(data))
}

What improvements would you suggest?


### 5. 上下文引用

Claude會記住對話歷史,可以直接引用:

创建一个User类

✓ Created User class in models/User.js

给它添加一个验证email的方法

✓ Added validateEmail method to User class

再添加一个静态方法用于从数据库查找用户

✓ Added static findById method


## 快捷鍵和命令

### 終端快捷鍵

在Claude Code中可以使用標準終端快捷鍵:

**編輯快捷鍵:**
- `Ctrl + A` - 移到行首
- `Ctrl + E` - 移到行尾
- `Ctrl + U` - 刪除游標前的所有內容
- `Ctrl + K` - 刪除游標後的所有內容
- `Ctrl + W` - 刪除前一個單詞
- `Ctrl + L` - 清屏

**導航快捷鍵:**
- `↑` / `↓` - 瀏覽歷史命令
- `Ctrl + R` - 搜尋歷史命令
- `Tab` - 自動補全(如果支援)

**控制快捷鍵:**
- `Ctrl + C` - 中斷當前操作
- `Ctrl + D` - 退出Claude Code
- `Ctrl + Z` - 暫停(後臺執行)

### Slash命令

Claude Code內建了Slash命令系統,輸入 `/` 檢視所有命令:

/help

Available Commands: ───────────────────────────────────────── /help - Show this help message /history - View conversation history /clear - Clear current conversation /save - Save conversation to file /load - Load conversation from file /status - Show session status /model - Switch AI model /think - Enable extended thinking /exit - Exit Claude Code ─────────────────────────────────────────

Type /command for more details


#### 常用Slash命令詳解

**1. /history - 檢視對話歷史**

/history

Session History (15 messages) ─────────────────────────────────────────

  1. You: 创建一个Express服务器
  2. Claude: Created server.js with Express setup
  3. You: 添加用户认证
  4. Claude: Added JWT authentication ... ─────────────────────────────────────────

Use /history [n] to see details of message n


**2. /clear - 清空對話**

/clear

⚠️ This will clear the conversation history. Continue? (y/n): y

✓ Conversation cleared ✓ Starting fresh session


**3. /save - 儲存對話**

/save conversation-20250219.json

✓ Conversation saved to: ~/my-project/.claude/conversation-20250219.json

Contains:

  • 24 messages
  • 3 file edits
  • 5 tool calls

**4. /load - 載入對話**

/load conversation-20250219.json

✓ Conversation loaded (24 messages) ✓ Context restored

You can continue from where you left off.


**5. /status - 檢視狀態**

/status

Session Status ───────────────────────────────────────── Session ID: abc123def456 Model: claude-3-7-sonnet-20250219 Working Dir: /Users/username/my-project Messages: 24 Tokens Used: ~12,500 / 200,000 Files Modified: 7 Uptime: 1h 23m ─────────────────────────────────────────


**6. /model - 切換模型**

/model

Available Models: ───────────────────────────────────────── • claude-3-7-sonnet-20250219 (Current) Fast, balanced, recommended

• claude-opus-4-5-20251101 Most capable, slower, higher cost

• claude-3-5-haiku-20241022 Fastest, good for simple tasks ─────────────────────────────────────────

Switch to: opus

✓ Switched to claude-opus-4-5-20251101


**7. /think - 啟用深度思考**

/think

Extended thinking mode enabled.

Claude will now: ✓ Show reasoning process ✓ Take more time to analyze ✓ Provide more detailed responses

Use /think off to disable.


## 輸出結果解讀

### 結果格式

Claude的輸出遵循清晰的格式:

```text
[文字说明]

[工具调用]
📝 Creating: file.js
🔍 Reading: file.js
✏️ Editing: file.js
🔨 Running: npm test

[结果展示]
✓ Success message
✗ Error message
⚠️ Warning message
ℹ️ Info message

[代码块]
───────────────────────────────────────────
function example() {
return "code here";
}
───────────────────────────────────────────

[后续问题/建议]
>

圖示含義

Claude Code使用圖示增強可讀性:

操作圖示:

  • 📝 Creating - 建立檔案
  • 🔍 Reading - 讀取檔案
  • ✏️ Editing - 編輯檔案
  • 🗑️ Deleting - 刪除檔案
  • 🔨 Running - 執行命令
  • 📊 Analyzing - 分析程式碼

狀態圖示:

  • ✓ Success - 成功
  • ✗ Error - 錯誤
  • ⚠️ Warning - 警告
  • ℹ️ Info - 資訊
  • ⟳ Processing - 處理中
  • 🔍 Searching - 搜尋中

功能圖示:

  • 💡 Tip - 提示
  • 📚 Reference - 參考
  • 🎯 Target - 目標
  • 🔧 Config - 配置
  • 📦 Package - 包/模組

理解工具呼叫

當Claude執行操作時,會顯示工具呼叫:

> 帮我重构这个函数

Let me analyze the code first.

🔍 Reading: src/utils/parser.js [1/1]
───────────────────────────────────────────

I can see the function. Let me refactor it.

✏️ Editing: src/utils/parser.js [1/1]
───────────────────────────────────────────

✓ Refactoring complete

Changes made:
• Extracted helper function
• Added error handling
• Improved naming
• Added type hints

>

進度指示: [1/1] 表示當前操作和總運算元

錯誤資訊處理

Claude會清晰地報告錯誤:

> 运行测试

🔨 Running: npm test
───────────────────────────────────────────

✗ Command failed (exit code 1)

Error output:
FAIL tests/api.test.js
✓ GET /users (32ms)
✗ POST /users (15ms)

Expected: 201
Received: 500

───────────────────────────────────────────

I found the issue. The test is failing because...

Would you like me to fix this?
>

高效使用技巧

1. 善用Tab補全

終端支援的話,可以使用Tab補全:

> /his[Tab]     → /history
> /mod[Tab] → /model

2. 歷史命令複用

使用 鍵瀏覽之前的輸入:

> 创建一个API端点
> [上箭头] → 看到之前的命令
> [编辑] 创建一个API端点用于获取用户列表

3. 快速清屏

保持介面整潔:

> [Ctrl + L]    # 清除屏幕但保留对话
> /clear # 清除对话历史

4. 中斷長響應

Claude的回覆太長或方向不對:

> [Ctrl + C]    # 中断当前响应

Operation cancelled.
>

5. 分屏工作

建議使用終端分屏:

# 使用tmux
tmux new -s coding
# Ctrl+B 然后 " 分割屏幕
# 上面运行Claude Code
# 下面运行测试或查看文件

# 或使用iTerm2/Windows Terminal的分屏功能

6. 結合其他終端工具

Claude Code和其他工具配合:

# 终端1: Claude Code
claude

# 终端2: 观察文件变化
watch -n 1 ls -la

# 终端3: 实时运行
npm run dev

# 终端4: Git操作
git status

多輪對話管理

對話策略

漸進式構建:

第一轮:
> 创建一个博客系统的数据模型

第二轮:
> 添加文章分类功能

第三轮:
> 添加标签系统

第四轮:
> 实现文章和标签的多对多关系

上下文維持:

Claude會記住之前的內容:

> 创建一个User类
✓ Created

> 给它添加密码加密
✓ Added encryption

> 使用bcrypt库
✓ Updated to use bcrypt

> 添加密码验证方法
✓ Added comparePassword method

會話管理

長會話管理:

> /status
Tokens Used: 150,000 / 200,000

当接近限制时:

> /save important-work.json
✓ Saved

> /clear
✓ Cleared

> /load important-work.json
✓ Loaded (保留重要上下文)

定期儲存:

# 每完成一个重要功能就保存
> /save feature-auth-complete.json
> /save feature-api-complete.json
> /save feature-frontend-complete.json

分主題對話

為不同任務建立不同會話:

# 会话1:后端开发
cd backend && claude

# 会话2:前端开发
cd frontend && claude

# 会话3:测试
cd tests && claude

終端配置最佳化

推薦終端

macOS:

  • iTerm2(推薦)
  • Warp
  • Hyper
  • 系統自帶Terminal

Windows:

  • Windows Terminal(推薦)
  • ConEmu
  • Cmder

Linux:

  • Terminator
  • Tilix
  • Alacritty
  • GNOME Terminal

終端美化

1. 配置Shell

使用現代Shell提升體驗:

# 安装oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 推荐主题
ZSH_THEME="powerlevel10k/powerlevel10k"

# 推荐插件
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
history-substring-search
)

2. 字型配置

使用等寬字型以獲得最佳顯示:

推薦字型:

  • Fira Code
  • JetBrains Mono
  • Cascadia Code
  • Monaco

3. 顏色主題

選擇護眼的顏色主題:

  • Solarized Dark
  • Dracula
  • Nord
  • One Dark

Claude Code專用配置

建立別名簡化操作:

# 添加到 ~/.zshrc 或 ~/.bashrc

# 快速启动
alias c="claude"

# 在特定目录启动
alias cwork="cd ~/work && claude"
alias cproj="cd ~/projects && claude"

# 启用深度思考
alias cthink="claude --think"

# 详细模式
alias cv="claude --verbose"

實戰案例

案例1:專案初始化

完整的專案設定對話:

> 初始化一个Express + TypeScript项目

I'll set up an Express TypeScript project for you.

📝 Creating: package.json
📝 Creating: tsconfig.json
📝 Creating: src/index.ts
📝 Creating: .gitignore
📝 Creating: .env.example

✓ Project structure created

> 安装依赖

🔨 Running: npm install express typescript @types/express @types/node ts-node

✓ Dependencies installed

> 添加开发脚本

✏️ Editing: package.json

✓ Added scripts:
- npm run dev: Development server
- npm run build: Production build
- npm start: Run built files

> 创建一个健康检查路由

📝 Creating: src/routes/health.ts
✏️ Editing: src/index.ts

✓ Health check route added
GET /health returns {status: "ok"}

> 添加环境变量支持

🔨 Running: npm install dotenv
📝 Creating: src/config/env.ts
✏️ Editing: src/index.ts

✓ Environment configuration added

Project is ready! Run: npm run dev
>

案例2:除錯會話

問題排查和修復:

> 运行测试报错了

🔨 Running: npm test

✗ Error: Cannot find module 'utils/helper'

Let me investigate...

🔍 Reading: tests/api.test.js
🔍 Reading: src/utils/
🔍 Searching: import.*helper

Found the issue:
- Test imports from 'utils/helper'
- But file is at 'src/utils/helper'
- Import path is incorrect

> 修复它

✏️ Editing: tests/api.test.js

✓ Fixed import path

🔨 Running: npm test

✓ All tests passed (12/12)

>

案例3:程式碼審查

請求程式碼審查和改進:

> 审查 src/auth/login.js 并提供改进建议

🔍 Reading: src/auth/login.js

📊 Code Review Report
───────────────────────────────────────────

✓ Strengths:
• Good error handling
• Proper password hashing
• Token generation works

⚠️ Issues Found:

1. Security Issue (High)
Line 23: Password comparison not timing-safe
Risk: Timing attacks possible

2. Missing Validation (Medium)
Line 15: No email format validation
Risk: Invalid emails could be processed

3. Code Smell (Low)
Line 30-45: Duplicated error handling
Suggestion: Extract to helper function

───────────────────────────────────────────

Would you like me to fix these issues?

> 是的,请修复

✏️ Editing: src/auth/login.js

✓ Security issue fixed
• Using crypto.timingSafeEqual

✓ Added email validation
• Using validator.isEmail

✓ Refactored error handling
• Extracted handleAuthError helper

All issues resolved!
>

常見問題解答

Q1: 終端不支援Unicode字元怎麼辦?

# 使用ASCII模式
claude --no-unicode

# 或在配置文件中设置
{
"ui": {
"unicode": false
}
}

Q2: 如何檢視完整的工具呼叫細節?

# 启用详细模式
claude --verbose

# 或在对话中
> /verbose on

Q3: 輸出太多,如何精簡?

# 紧凑模式
claude --compact

# 或禁用工具调用显示
{
"ui": {
"showToolCalls": false
}
}

Q4: 可以自定義提示符嗎?

{
"ui": {
"prompt": "claude> ",
"thinkingPrompt": "🤔 ",
"successPrompt": "✓ "
}
}

Q5: 如何在Claude回覆時暫停?

使用 Ctrl + S 暫停輸出,Ctrl + Q 繼續(部分終端支援)

Q6: 支援滑鼠操作嗎?

現代終端(如iTerm2、Windows Terminal)支援滑鼠:

  • 選擇文字複製
  • 滾動檢視歷史
  • 點選連結(如果有)

Q7: 如何處理很長的輸出?

# 方法1: 使用less分页器
claude | less

# 方法2: 保存到文件
> /save-output result.txt

# 方法3: 要求Claude精简
> 请用简洁的方式总结

介面高階技巧

1. 輸出重定向

# 保存对话到文件
claude > session.log

# 只保存错误
claude 2> errors.log

# 保存所有输出
claude &> all.log

2. 管道配合

# 从文件读取指令
cat instructions.txt | claude

# 处理输出
claude | grep "Error" | wc -l

3. 指令碼自動化

#!/bin/bash
# auto-review.sh

echo "分析项目结构" | claude
echo "检查代码质量" | claude
echo "生成改进报告" | claude

4. 會話錄製

# 使用script命令录制
script -a session.log
claude
# ... 进行操作 ...
exit # 退出script

# 回放
scriptreplay session.log

最佳實踐總結

介面使用建議

  1. 保持整潔

    • 定期使用 /clear 清理不需要的對話
    • 使用 Ctrl+L 清屏保持視野清晰
  2. 善用歷史

    • / 快速重用命令
    • /history 回顧對話上下文
  3. 及時儲存

    • 重要會話使用 /save 儲存
    • 為儲存檔案使用描述性名稱
  4. 合理分屏

    • Claude Code在一個視窗
    • 程式碼編輯器在另一個視窗
    • 測試/日誌在第三個視窗
  5. 配置最佳化

    • 選擇合適的終端和字型
    • 調整顏色主題護眼
    • 配置快捷鍵提高效率

互動技巧總結

  1. 清晰表達

    • 描述要做什麼,而不僅是怎麼做
    • 提供必要的上下文
    • 一次專注一個任務
  2. 漸進式對話

    • 從簡單開始,逐步完善
    • 每一步驗證結果
    • 及時反饋和調整
  3. 利用上下文

    • Claude記住對話歷史
    • 可以引用之前的內容
    • "它"、"那個檔案"等都能理解
  4. 主動引導

    • 遇到問題及時說明
    • 不滿意就要求重做
    • 提出具體的改進要求

參考資源

下一步

掌握了介面和互動方式後:

  1. 學習 Slash命令系統
  2. 探索 檔案操作功能
  3. 瞭解 Agent模式
  4. 檢視 實戰案例

熟練使用Claude Code的介面和互動方式,將讓你的AI程式設計效率倍增!