-
Notifications
You must be signed in to change notification settings - Fork 3
terminal_settings.zh TW
zago 的 M+... 快捷鍵需要終端機把 Alt(macOS 上通常稱為 Option)送成
Meta 輸入。最相容的格式是 ESC prefix:例如 Alt+V 會送出 ESC 再
送出 v(\x1bv)。一般不要選擇舊式的 high-bit Meta 模式。
在 Ghostty 設定檔加入:
macos-option-as-alt = truemacOS 常見設定檔位置是:
~/Library/Application Support/com.mitchellh.ghostty/config.ghostty
也可以使用 ~/.config/ghostty/config.ghostty。修改後重新載入設定或重新
開啟 Ghostty。
參考:Ghostty 設定、
macos-option-as-alt。
若使用 cmux TUI 設定,請啟用 macOS Option-as-Alt 與 Alt 快捷鍵:
keys.macos_option_as_alt = true
keys.alt_shortcuts = true
如果 Option 被 macOS 當成特殊字元輸入,而沒有送到 zago,請先檢查
macos_option_as_alt。
參考:cmux TUI 設定。
- 開啟 Settings / Preferences → Profiles → Keys。
- 將 Left Option key 設為 Esc+。
- 如果右側 Option 也要作為 Meta,將 Right Option key 一併設為 Esc+。
Esc+ 會在字元前送出 ESC。一般不要選擇舊式的 high-bit Meta 模式。
Windows Terminal 通常會直接將 Alt 當成終端機修飾鍵,不需要額外設定。如果 某個快捷鍵沒有傳到 zago:
- 開啟 Settings → Actions。
- 搜尋該組合鍵,例如
Alt+Left、Alt+Right或Alt+Up。 - 移除或修改會攔截該快捷鍵的 Windows Terminal action。
- 開啟新的終端分頁後重新測試。
重點是讓 Windows Terminal 將 Alt 序列轉送給終端程式,而不是自己拿去執行 分頁或視窗操作。
GNOME Terminal、Konsole、xterm,以及大多數 X11/Wayland 終端模擬器,預設 通常已經會把 Alt/Meta 送成 ESC prefix。如果終端機提供 Meta sends Escape、Alt sends Escape 或類似選項,請將它開啟。
xterm 可以使用:
xterm -xrm 'XTerm*metaSendsEscape: true'Konsole 則可到 Settings → Edit Current Profile → Keyboard 檢查,確定自訂 快捷鍵沒有攔截 zago 的 Alt 組合鍵。
參考:xterm Meta Sends Escape、 Konsole key bindings。
Linux virtual console,例如 Ctrl+Alt+F1,是最可能需要手動設定的環境;
它可能預設使用 high-bit Meta,而不是 ESC prefix。先查詢目前設定:
setmetamode切換成 ESC prefix:
setmetamode escprefix這個設定是每個 virtual terminal 各自獨立的;如果需要,可以在啟動腳本中對
使用的 /dev/ttyN 套用設定。
參考:setmetamode(1)。
tmux、screen 和 SSH 通常只會轉送外層終端機收到的位元組,不會自動修正 Alt/Meta。請先確認最外層終端機能送出 ESC prefix,再檢查 tmux 或 screen 是否有自訂設定攔截 Alt 快捷鍵。
Zellij 預設使用 Ctrl + <key> 進入各操作模式(例如 Ctrl+S 進入 Scroll 模式、Ctrl+O 進入 Session 模式、Ctrl+P 進入 Pane 模式、Ctrl+N 進入 Resize 模式、Ctrl+Q 退出等),並且使用 Alt + <key> 進行快速切換(例如 Alt+N/Alt+P 切換窗格、Alt+F 浮動視窗)。這會與 zago 的 Nano 相容鍵位(如 Ctrl+S 存檔、Ctrl+O 寫入、Ctrl+P/Ctrl+N 游標移動、Alt+N/Alt+P 搜尋跳轉)產生嚴重衝突。
在 Zellij 中搭配 zago 使用,有以下幾種解決方案:
-
使用 Locked 模式(推薦):
-
手動切換:在 Zellij 中按下
Ctrl+G即可進入 Locked Mode。在鎖定模式下,除了Ctrl+G(解鎖)之外,所有Ctrl與Alt快捷鍵都會直接透通送給 zago。 -
預設啟動為 Locked 模式:在 Zellij 設定檔(
~/.config/zellij/config.kdl)中加入:default_mode "locked"
-
提示:在 zago 中若要取消選取或取消 Prompt 對話框,請使用
Esc鍵,避免使用Ctrl+G導致觸發 Zellij 解鎖。
-
手動切換:在 Zellij 中按下
-
使用 tmux 鍵位模式(Prefix 模式):
- Zellij 支援 tmux 模式,將所有視窗與分頁操作統一改由前綴鍵(Prefix,例如
Ctrl+B)觸發,徹底釋放日常的Ctrl與Alt鍵。 - 可在 Zellij 設定檔中解除衝突快捷鍵的綁定或套用 tmux 鍵位配置。
- Zellij 支援 tmux 模式,將所有視窗與分頁操作統一改由前綴鍵(Prefix,例如
-
改用 Function Keys(功能鍵):
- zago 支援與 Nano 相同的 F1~F12 功能鍵,例如
F2(存檔並離開)、F3(寫入檔案)、F6(搜尋)、F7(表格模式)、F8(Canvas 模式)、F9/F10(剪下/貼上),這些按鍵不會被 Zellij 預設鍵位攔截。
- zago 支援與 Nano 相同的 F1~F12 功能鍵,例如
執行:
cat -v按下 Alt+V,應該看到類似:
^[v
其中 ^[ 代表 ESC。按下 Ctrl+C 結束 cat,接著可以直接在 zago 測試
M+V 或 M+W。