🤖 AI 声明:本文内容由 AI 助理根据博主真实的配置操作日志整理而成,旨在分享 Termux + Windows 远程开发的配置细节与最佳实践。
前言:从“记录”到“行动”
在上一篇文章《手机重构计划》中,我把杂乱的安卓手机重构为了一个清爽的 数字生命终端。我们把应用分为了“三屏”,并利用 Markor 实现了灵感的毫秒级捕获。
但这还不够。
Markor 很好,但它只能处理纯文本(Markdown)。作为一名全栈开发者,我的 Project Universe 里不仅仅有笔记,还有几十个 G 的代码仓库。
当我在被窝里刷着手机,突然想到白天写的代码有一个逻辑漏洞;或者服务器报警,需要紧急修改一行配置。此时,Markor 束手无策。难道我必须爬起来打开台式机吗?
不。既然我的手机已经是“终端”了,那就让它更硬核一点。
今天,我们将补全“数字生命体”交互的最后一块拼图:利用 Termux 将手机变成一把远程手术刀,直接插入 Windows 台式机的核心,进行代码级的外科手术。
一、 架构思路:瘦客户端 (Thin Client)
很多人在 Termux 里安装 Node.js、Python,试图把手机变成服务器。结果是:手机发烫、续航崩盘、操作反人类。
我的思路相反:手机只做 IO(输入输出),电脑负责 Compute(计算)。
- 本地 (手机):只运行 SSH 客户端。负责接收触摸和键盘指令,渲染字符画面。
- 远程 (电脑):运行 PowerShell 7、Neovim (LSP)、Lazygit。负责所有的语法分析、编译和 Git 运算。
二、 打通任督二脉:Windows SSH 调优
Windows 自带的 OpenSSH Server 很方便,但默认配置极其难用。为了达到“秒连”的体验,我做了三个关键手术。
1. 权限清洗(解决免密登录失败)
这是最大的坑。Windows 默认策略下,管理员账号无法使用用户目录下的 .ssh/authorized_keys,导致配置了公钥还得输密码。
- 手术:修改
sshd_config,注释掉Match Group Administrators。 - 排异:对
.ssh文件夹进行 ACL 权限清洗,只保留 SYSTEM 和 我 的权限。
2. 更换大脑(PowerShell 7)
默认 SSH 进去是 CMD,功能简陋。我将 termux 的入口添加 -t pwsh, 也就是 PowerShell 7 (pwsh)。这不仅仅是为了好看,更为了能运行我编写的自动化脚本。
3. 编写导航脚本 p
连上电脑后,面对 projects 下的几十个项目,手动 cd 是不可能的。
我在 PowerShell 的 $PROFILE 里注入了一个名为 p 的函数:
- 它是一个无限循环的菜单。
- 输入
p,列出所有项目。 - 智能识别:如果选中的是 Git 仓库,自动启动 Lazygit;如果是普通目录,则进入子目录继续选。
三、 武器库:Lazygit + Neovim 联动
这是在手机小屏幕上高效写代码的核心。我不需要鼠标,不需要复杂的 IDE 界面,只需要两个工具的 “双向奔赴”。
1. 宏观指挥:Lazygit
在手机上敲 Git 命令是低效的。Lazygit 提供了完美的 TUI(终端图形界面)。
- 操作:用音量键或手指触摸翻页,空格键暂存文件,
c键提交。 - 配置:我在
config.yml里设置了editCommand: 'nvim'。 - 场景:浏览 Diff 时,发现一行代码写错了?直接按
e,瞬间跳转到编辑器。
2. 微观手术:Neovim (现代化配置)
为了适配手机操作,我抛弃了老旧的 Vim 配置,基于 Lazy.nvim 重写了 init.lua。
触控优化 (核心):
vim.opt.mouse = 'a' -- 开启全模式鼠标支持这一行配置改变了一切。想改哪里?手指直接点哪里。 光标瞬间定位,体验堪比原生 App。
剪贴板打通:
vim.opt.clipboard = 'unnamedplus' ``` 手机复制报错信息 -> 电脑 Neovim 粘贴;电脑代码复制 -> 手机微信发送。无缝衔接。LSP 智能补全: 通过
Mason.nvim(v2.0),我让 Neovim 拥有了 VS Code 级别的代码理解能力。虽然是在手机上看,但背后是台式机 i5 处理器的算力在支撑。
四、 终端体验优化
为了让 Termux 这个“显示器”更好用,还需要一些微调。
1. 视觉:Nerd Fonts
为了让 Lazygit 的文件图标、Git 分支图标正常显示,我给 Termux 挂载了 JetBrainsMono Nerd Font。没有乱码,只有赏心悦目的界面。
2. 触觉:定制键盘栏
手机输入法没有 ESC、Ctrl、Tab 键,写代码很痛苦。
我在 ~/.termux/termux.properties 里定制了一排专用的 Coding Bar:
extra-keys = [ \
['ESC','|','/','HOME','UP','END','PGUP'], \
['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN'], \
[':','-','_','"',"'",'(',')'] \
]
特别把 : (冒号) 放在了第一层。现在保存文件只需要:点击屏幕上方 -> 点 : -> 点 w。行云流水。
五、 最终形态
现在,我的 Project Universe 拥有了最完整的交互层级:
浅层交互 (Markor):
- 场景:排队、走路、灵感闪现。
- 动作:掏出手机 -> 打开 Markor -> 语音转文字/打字 -> 同步到 Obsidian Inbox。
深层交互 (Termux + Neovim):
- 场景:被窝、沙发、突发 Bug 修复、代码审查。
- 动作:打开 Termux -> 输入
pc连回家 -> 输入p选项目 -> Lazygit 检视 -> Neovim 修改 -> 提交推送。
手机不再是消耗注意力的玩具,它变成了我连接数字大脑的 Neural Link (神经接口)。
无论身在何处,只要有网络,我就能掌控我的整个数字宇宙。
本文是「数字生命体」构建系列的第四篇。