臨時進遠端主機改設定,最常卡住的是「怎麼離開 Vim」與「SSH 斷線工作就停」。這頁把基本編輯與 tmux 工作階段放在一起,但正式設定仍應回到版本控制與可重現部署。
動手前:編輯正式設定前先備份、確認權限與跑 config test。tmux 只保留遠端程序,不是備份;主機重開或 session 被殺仍會消失。
Vim 基本操作
進入插入模式Vim 鍵盤
i在目前游標前開始輸入;按 Esc 回 Normal mode。
儲存Vim 命令模式
:w按 Esc 後輸入。
儲存並離開Vim 命令模式
:wq也可用 ZZ,但 :wq 較直觀。
不儲存離開Vim 命令模式
:q!未儲存修改會消失。
顯示行號Vim 命令模式
:set number只對目前 session 生效。
搜尋下一個Vim Normal mode
/timeoutEnter 後用 n 下一筆、N 上一筆。
全檔取代前逐筆確認Vim 命令模式
:%s/old-value/new-value/gcc 會逐筆詢問,避免一次改錯。
復原Vim Normal mode
u可重複按;Ctrl+r 是重做。
跳到指定行Vim 命令模式
:120直接移到第 120 行。
開啟水平分割Vim 命令模式
:split another.confCtrl+w 後按方向鍵切換視窗。
比較兩個檔案shell
vimdiff config.conf config.conf.bak顏色與操作依 Vim 設定。
Nano 基本操作
開啟並顯示行號GNU nano
nano -l config.conf-l 顯示行號,適合對照錯誤訊息。
搜尋文字Nano 鍵盤
Ctrl+W輸入關鍵字後 Enter。
再次搜尋Nano 鍵盤
Alt+W跳到下一筆相同結果。
儲存檔案Nano 鍵盤
Ctrl+O確認檔名後按 Enter。
離開Nano 鍵盤
Ctrl+X有修改時會詢問是否儲存。
剪下目前行Nano 鍵盤
Ctrl+K可連續剪多行。
貼上剪下內容Nano 鍵盤
Ctrl+U貼到目前游標位置。
跳到行號Nano 鍵盤
Alt+G輸入行號與欄位。
tmux 工作階段
建立具名 sessiontmux
tmux new -s maintenance名稱要能看出用途。
列出 sessiontmux
tmux lsno server running 代表目前沒有 tmux server。
離開但保留工作tmux 鍵盤
Ctrl+b d這叫 detach,程序繼續跑。
重新接回 sessiontmux
tmux attach -t maintenance若已被其他 client 使用,可先看 ls。
建立新 windowtmux 鍵盤
Ctrl+b cwindow 之間可獨立跑程序。
切到下一個 windowtmux 鍵盤
Ctrl+b nCtrl+b p 回上一個。
列出並選 windowtmux 鍵盤
Ctrl+b w從清單選擇。
垂直分割 panetmux 鍵盤
Ctrl+b %百分比鍵建立左右分割。
水平分割 panetmux 鍵盤
Ctrl+b "雙引號鍵建立上下分割。
切換 panetmux 鍵盤
Ctrl+b 方向鍵在 pane 間移動。
進入捲動模式tmux 鍵盤
Ctrl+b [用方向鍵或 PageUp 查看,q 離開。
重新命名 windowtmux 鍵盤
Ctrl+b ,用服務或工作名稱較好辨認。
結束指定 sessiontmux
tmux kill-session -t maintenance會終止該 session 內的程序,先確認工作已完成。
怎麼確認有做對
- 編輯後先 diff 備份,再跑應用自己的語法檢查。
- tmux detach 後用 tmux ls 確認 session 還在。
- 長時間工作將輸出寫 log,不只留在 scrollback。
常見錯誤
- 把 :q! 當儲存離開。
- 直接全檔取代而沒有 c 確認。
- 以為 tmux 能跨主機重開保存工作。
- 只在正式主機手改,沒有同步回版本庫。
版本與官方文件
參數會隨工具版本與作業系統實作改變。正式環境先用 --help、-h 或系統內建說明確認,再以當版官方文件為準。