这次趁着双11买了个小米平板5pro,才发现不过是大号手机而已,系统是基于Android 11的MIUI 13。除了WPS,bilibili、浏览器都不过兼容桌面模式而已,然而却又失去了移动设备的便利性:touch事件不能精确响应,于是卸掉重新安装的普通版。终于体会到了雪球不明真相群众的那句话:平板上的东西已经在手机上进化完了。想想这个平板除了刷视频、看书、画画,还能干点啥?看代码应该也有优势,毕竟分辨率还不错。Android上并没有什么好用的代码App,虽然可以安装Github查看代码,但还是看不了几行,也不如IDE来的方便。幸好还有Termux,极大的拓展了Android的可用性,增加了超过1万个cli应用,比如比应用市场上任何服务器连接App都好用的ssh,强大的编程开发工具LunarVim。
Termux是一个Android终端(terminal)模拟软件并提供Linux环境,可以安装许多Linux下常见软件,比如ssh、git、curl,和各种开发软件,比如nodejs、python、rust、golang等等。Termux既可以从GitHub上下载安装,也可以使用F-Droid安装。使用F-Droid的好处在于可以自动更新,和管理其他的扩展,比如Termux:Styling、Termux:API。安装完成后记得给予联网权限,如果安装了其他的扩展,记得在安全中心-联网管理中找到对应的扩展App也给予联网权限,否则Termux就上不了网。 安装完成后打开Termux,这里注意Termux重置了目录,所有目录都是在data/data/com.termux/files/下面,并提供了两个快捷访问$HOME: data/data/com.termux/files/home和$PREFIX: /data/data/com.termux/files/usr。运行下面的命令设置一下存储和文件夹软链接,这样方便Termux与外部目录(比如Downloads)互相复制粘贴
termux-setup-storage
也可以更改一些配置,比如软键盘快捷键之类的
vim ~/.termux/termux.properties #重新加载配置 termux-reload-settings #更改使用的源仓库,默认使用多仓库,可以改为使用单一仓库,比如清华源 termux-change-repo
然后安装一些基础软件
pkg install openssh git curl wget vim bat croc
然后安装oh-my-zsh和自动补全插件,其他插件的安装与正常安装无差别
pkg install zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
然后编辑~/.zshrc,更改主题和插件
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes #ZSH_THEME="robbyrussell" ZSH_THEME="agnoster" # Which plugins would you like to load? # Standard plugins can be found in $ZSH/plugins/ # Custom plugins may be added to $ZSH_CUSTOM/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=(git zsh-autosuggestions)
如果zsh显示乱码的话,可以按住屏幕在弹出的more菜单里面更改nerd font字体,比如ubuntu。
现在可以开始安装LunarVim的依赖
pkg install neovim build-essential python vim-python nodejs rust fd ripgrep
安装完成完成后neovim, make,npm,pip,cargo也都安装好了。这时候就可以使用nvim来编辑了,可以参考:help nvim/:Tutor进行学习。这里顺便安装了pyhon vim的交互包,等下可以跳过python依赖的安装。还安装了两个rust写的神器:文件查找fd和文件内容搜索ripgrep,等下也可以跳过rust依赖安装。,
LunarVim是一个基于Neovim开发的IDE,打包了文件搜索、内容查找、代码补全,语法高亮等许多功能,这个可比简单vim强多了,更多功能、特点可以在官网视频学习。官方提供的安装脚本并不包含Termux的,我们下载下来看一下是否都已经安装好依赖、做一些改动
curl https://raw.githubusercontent.com/lunarvim/lunarvim/master/utils/installer/install.sh > install.sh
这里稍微改一下,匹配不到OS就使用pkg安装
function detect_platform() { case "$OS" in Linux) if [ -f "/etc/arch-release" ] || [ -f "/etc/artix-release" ]; then RECOMMEND_INSTALL="sudo pacman -S" elif [ -f "/etc/fedora-release" ] || [ -f "/etc/redhat-release" ]; then RECOMMEND_INSTALL="sudo dnf install -y" elif [ -f "/etc/gentoo-release" ]; then RECOMMEND_INSTALL="emerge -tv" else # it's termux RECOMMEND_INSTALL="pkg install -y" fi ;;
然后开始安装LunarVim
chmod +x install.sh export LV_BRANCH='release-1.2/neovim-0.8' ./install.sh 88\ 88\ 88 | \__| 88 |88\ 88\ 888888$\ 888888\ 888888\ 88\ 88\ 88\ 888888\8888\ 88 |88 | 88 |88 __88\ \____88\ 88 __88\\88\ 88 |88 |88 _88 _88\ 88 |88 | 88 |88 | 88 | 888888$ |88 | \__|\88\88 / 88 |88 / 88 / 88 | 88 |88 | 88 |88 | 88 |88 __88 |88 | \88$ / 88 |88 | 88 | 88 | 88 |\888888 |88 | 88 |\888888$ |88 | \$ / 88 |88 | 88 | 88 | \__| \______/ \__| \__| \_______|\__| \_/ \__|\__| \__| \__| -------------------------------------------------------------------------------- Detecting platform for managing any additional neovim dependencies -------------------------------------------------------------------------------- Would you like to install LunarVim's NodeJS dependencies? [y]es or [n]o (default: no) : y Installing node modules with npm.. All NodeJS dependencies are successfully installed -------------------------------------------------------------------------------- Would you like to install LunarVim's Python dependencies? [y]es or [n]o (default: no) : y Verifying that pip is available.. /usr/bin/python3: No module named ensurepip Installing with pip.. Requirement already satisfied: pynvim in /usr/lib/python3/dist-packages (0.4.2) All Python dependencies are successfully installed -------------------------------------------------------------------------------- Would you like to install LunarVim's Rust dependencies? [y]es or [n]o (default: no) : y All Rust dependencies are successfully installed
这里注意,除了NodeJS依赖需要安装,Python、Rust都已经安装好了,选择No就可以了。安装完成后可以使用命令打开
#打开默认窗口 lvim #打开指定文件 #lvim install.sh #打开指定目录 #lvim downloads
默认界面长这样子,可以搜索文件、搜索内容,打开文件、项目等。如果有出现文字、图标显示乱码,那么需要安装nerd font,参考上面的字体配置。
按下空格键就会出现引导界面
比如空格+e打开目录
空格+s搜索
空格+L打开LunarVim配置,比如keyMaps
剩下就是neovim、LuarVim的操作了,比如ctrl+h/ctrl+l的文件目录与代码窗口左右切换,空格+b+p/n/e/j在打开的文件里面切换、打开、关闭,alt+1/2/3打开下边、右边、弹出窗口里面打开终端
如此便可以使用LunarVim写代码了。基于Neovim的编辑器还有NvChad,SpaceVim,也都非常强大,不过LunarVim默认配置了许多开箱即用的功能。另外,还可以使用code server,不过这个方案直接安装是不可以,需要借助proot-distro安装其他Liunx才可以。如果Termux不能满足你的需求,可以使用proot-distro安装一个Linux来进一步模拟。如果觉得Termux好用的话,可以给它捐款。