利用tmux和nvim的方式远程开发
把 tmux、nvim、SSH 和命令面板组合成一个可恢复的终端远程开发工作流。
#type / synthesis
#status / evergreen
#tech / dev
#resource / tmux
[!info] related notes
利用tmux和nvim的方式远程开发
为什么要把这几个工具一起理解
SSH负责把你接入远端机器tmux负责在远端保留会话与进程nvim负责在终端里直接编辑代码- 额外窗格可以放日志、服务、Git 命令或 AI 助手
这几个工具单独看都不复杂,但组合起来会形成一个很稳定的“断线可恢复、键盘优先、低带宽也能工作”的开发环境。
最小工作流
- 用
ssh连接到远端机器或 WSL 环境 - 进入 tmux:
- 没有会话就
tmux - 已有会话就
tmux attach
- 没有会话就
- 把左侧主窗格给
nvim - 右侧或下方窗格分别给服务、日志、Git 命令、AI 助手
- 离开时
detach,下次再接回原会话
为什么 tmux 是核心
如果只有 SSH 和编辑器,那么断线、关终端、切设备时,当前现场很容易丢。
tmux 提供的是中间那层“工作空间管理”:
- 编辑器和服务都留在服务器上
- 本地终端只是一个入口
- 网络中断不会直接结束你的工作现场
这也是它适合远程开发的原因。
布局恢复有三条路
- 只要当前 tmux server 不退出,直接
attach回去即可 - 想恢复上一次现场,用 tmux 中保持布局 里的
tmux-resurrect - 想固定生成项目布局,用脚本或 tmuxinator
适合的场景
- 远程 Linux 服务器开发
- WSL 内长期运行服务
- 网络不太稳定,但又希望工作环境不中断
- 喜欢键盘优先、TUI 工具链的开发方式
边界
- 如果你更依赖 GUI 调试器、图形化文件树、IDE 插件生态,VS Code Remote 这类方案通常更直接
- 如果只是偶尔改一个远端文件,没有必要把工作流复杂化到 tmux + nvim 全套