本文原本是这篇文章中的一段,后来越写越长,就独立出来。
需要注意的是,本文的大环境是蓝牙键盘。
Termux 环境不是一个完整的Linux环境,
它所有的文件是透明地放在/data/data/com.termux/files下面的,cd ~之后再pwd就看到了。
相当一部分(实际上是默认情况下几乎全部).bashrc一类的文件是放在~/../usr/etc这里的,
可能原因是这玩意儿没有root权限控制,很多自动脚本蹭一下发现/usr/etc可以写就放进去了。
所以,排查一些.bashrc相关的问题的时候要小心。
这个问题其实不大但很烦,就是输入~时的行为始终不太正常,
并且貌似是跨主环境和proot-distro环境的,并且是一个间歇性问题。
具体表现为:
zsh下键入~/的时候,会弹出很多之前cd过的以~开头的路径;cd ~的时候需要按两次回车,第一次无任何反馈,让你怀疑键盘坏了;再按一次回车,有一定概率光标下沉一行进入看似无响应状态,但实际上时需要再按一次回车;echo ~的时候,输出两行,第一行看起来时空行,第二行才是home路径这三个问题很可能是同一个,就是~路径的前面可能被插入了一个特殊字符,很可能是换行符。
一开始以为是 Termux
主环境下有个不正常的.bashrc脚本的问题,但删除后依然时有发生。
将Arch环境的终端换成fish之后,fish下是正常了, 但 Termux
主环境仍然间歇出现需要两次回车的问题。
如果有人遇到过,或者有想法,请联系解惑。
关于中文输入,Termux
其实是有支持的,就是在屏幕底端的软键盘条左滑,底部会出现一个输入区。
这个地方理论上是一个普通文本框,可以输入任意文字,回车上屏。
可以通过手指点击,选择输入焦点在上面还是下面。
据我测试,激活系统输入法并且输入几个文字之后,完全可以把焦点转到上面的主屏幕区,
这时候输入中文依然有效,甚至可以把屏幕底端的输入条再滑回去换成软键盘,
都不影响中文输入和上屏。
但是!
以上都是对无键盘手机而言。
如果是带键盘的平板甚至有蓝牙键盘的手机(根据网上讨论),点击输入框是无法激活输入法的。
包括键盘上的输入法切换快捷键,都不管用,系统将一直保持在英文输入状态。
这个问题我一度认为无解,并引起了我的一番折腾,产出了这个带字体支持的ttyd。
直到第二天我去搜索如何切换 Termux 的多个 Session,
发现可以从屏幕左侧边缘中间右滑打开一个 Session 操作面板。
如果你的机器开了手势导航,注意滑动的起始点接近屏幕边缘,但不要从屏幕外开始滑,
那就是导航手势了。这个起始点的操作和选择非常微妙,需要练习手感。
这也是不容易发现这个操作的一个原因。幸好是不太常用。
在写完本文之后的某一天,我发现上一段写的方法,其实有一个等效的快捷键:
Alt + 左/右箭头,一个是打开面板,一个是关闭面板。
这个面板的底端,有两个按钮,一个是KEYBOARD,可以在外界键盘状态下激活输入法
(还是需要首先手动把文字输入框滑出来),另外一个是NEW SESSION,新建另一个
Session 的。
进入中文输入状态并且输入几个文字之后,中文输入法将保持激活状态,直到切出
Termux。 这个就不是问题了,现在的输入法都是可以用 Shift
键内部切换到英文输入状态的。
ddd
斜体字符在 Termux 环境下有时会被截掉最右边那个字符的尾巴。
不是每一个,是一串字符的最后一个,例如上面三个d,就最后一个d的尾巴不见了,
变成小圈圈。这个只能解释为是 Termux 的渲染问题。
官方的 issue 里面有人询问,但最终没有结论,
只说有时候切换字体再换回来问题就好了。
这个似乎也与环境有关,比如有时候终端环境下都正常,但vim环境下的斜体有问题。
这个太底层了,没啥好办法。能凑合就凑合,
忍不了的话可以看看我修改的带字体支持的ttyd,
在 Termux 里面开一个ttyd进程,然后用浏览器访问。
这个方案效果是最好的,也解决了浏览器和 Termux
两边工作的问题,但是需要额外折腾一下。
不要觉得字符界面就省资源。neovim在有些配置下很吃资源。
测试了nvchad和nvimdots两套配置,
结论是nvimdots明显更吃资源(当然默认的高亮等也更激进一些)。
并且有一个很神奇的问题是,nvimdots不打开欢迎屏幕的话则明显流畅的多,
也就是说nvim 文件名比之nvim然后使用NerdTree去打开文件,消耗的CPU少得多。原因没去深究。
但即使是在比较快的方法下,nvimdots也明显比nvchad更慢。
平板的arm CPU,还是省着点用吧。测试环境是 Matepad Air 高通 888 12G 内存版。
有一些工具可以配置,但实际上非常简单。
就是直接用你喜欢的字体的ttf文件去覆盖主环境的.termux/font.ttf文件。
没有测如果卸载掉termux styling软件的话,这个方法还好用不。但考虑到还有颜色主题的需求,就装着吧。
neovim是自带与 Termux 的剪贴板接口的,使用的话需要:
termux-clipboard-set和termux-clipboard-getneovim,应该已经能够自动同步了proot-distro环境下使用,则不能使用--isolated命令行选项,还是由于没有真正的root权限,proot-distro模拟出来的系统只有有限的权限管理。
具体表现是,proot-distro子系统中的根文件系统是不需要root权限就可以写入的。
但比如运行pacman这样的命令,是需要sudo的,有时候删除一些文件也需要。
细节没去深究。
总之不会有真正的系统那么严密,小心着用吧。
应该是由于要兼容Emacs的原因,termux中左右Alt键的行为是不一致的。
左边的是正常的按键,右边则被映射成了一个奇怪的键。
似乎也不是Emacs的按键。我这边的表现是,
右Alt加任何字母键的效果都是termux快捷菜单闪现再消失。
看不出来有啥用。
用左边的呗。