termux 安装和配置vim
Termux 安装、配置系列vim/vi
[0]、Termux简介
Termux是 Android平台上的一个终端模拟器,之所以称它为“模拟器”而非“虚拟机”,是因为它并非像 PC 端的 VirtualBox 等虚拟机软件那样,在宿主机中虚拟出一个完全独立且完整的系统环境,而只是提供一个接口,以安装和运行面向新环境交叉编译后的程序。
Termux将众多 Linux 上运行的软件和工具移植到了手机端。无需任何复杂的安装和配置过程,装好Termux以后即会自动对Termux配置一个基本的运行环境,用以执行一些常见的 Linux 命令,最为关键的是Termux内置了功能健全的包管理工具。
安装了Termux的手机看作是安装了 Linux 系统的树莓派,可以像 PC 端系统那样运行各种类型的软件,只不过这些软件都是针对特定的 CPU 架构和硬件设备编译过的(交叉编译或者在树莓派系统中本地编译)。需注意的是,由于移动端和 PC 端硬件设备的巨大差异,加上 Android 内核和操作系统的限制,能够直接运行的程序毕竟是少数。根据统计,实际上可直接安装运行的软件大概有 900个!
这里列举下部分软件:
基础工具:apt、bash、busybox、dpkg、git、htop、make、zsh |
文本工具:emacs、gawk、nano、sed、vim |
媒体工具:ffmpeg、imagemagick、mpv、sox |
网络工具:curl、httping、nmap、wget |
编程语言:binutils、clang、dart、erlang、golang、lua、nodejs、perl、php、python、ruby、rust |
服务器软件:apache2、lighttpd、nginx、openssh |
数据库软件:mariadb、memcached、mosquitto、postgresql、redis、sqlite |
游戏和娱乐:bastet、cmatrix、cowsay、fortune、moon-buggy、nsnake、sl |
[1]、安装
执行命令:
$ pkg install vim
Vim命令使用请参照:夫夫羊 » vi 常用命令行 (fusmile.com)
[2]、配置vim
执行如下命令:
$ vim ~/.vimrc
复制下面内容粘贴进去保存,可根据需要自行修改。
############## fusmile.com 夫夫羊 #################
" 设置当文件被改动时自动载入
set autoread
" quickfix模式
autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>
"代码补全
set completeopt=preview,menu
"允许插件
filetype plugin on
"共享剪贴板
set clipboard=unnamed
"从不备份
set nobackup
"自动保存
set autowrite
set ruler " 打开状态栏标尺
set cursorline " 突出显示当前行
set magic " 设置魔术
set guioptions-=T " 隐藏工具栏
set guioptions-=m " 隐藏菜单栏
set foldcolumn=0
set foldmethod=indent
set foldlevel=3
set foldenable " 开始折叠
" 不要使用vi的键盘模式,而是vim自己的
set nocompatible
" 语法高亮
set syntax=on
" 去掉输入错误的提示声音
set noeb
" 在处理未保存或只读文件的时候,弹出确认
set confirm
" 自动缩进
set autoindent
set cindent
" Tab键的宽度
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 不要用空格代替制表符
set noexpandtab
" 在行和段开始处使用制表符
set smarttab
" 显示行号
set number
" 历史记录数
set history=1000
"禁止生成临时文件
set nobackup
set noswapfile
"搜索忽略大小写
set ignorecase
"搜索逐字符高亮
set hlsearch
set incsearch
"行内替换
set gdefault
"编码设置
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
"语言设置
set langmenu=zh_CN.UTF-8
set helplang=cn
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
" 总是显示状态行
set laststatus=2
" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
filetype indent on
" 保存全局变量
set viminfo+=!
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
" 字符间插入的像素行数目
set linespace=0
" 增强模式中的命令行自动完成操作
set wildmenu
" 使回格键(backspace)正常处理indent, eol, start等
set backspace=2
" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
" 高亮显示匹配的括号
set showmatch
" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=1
" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
" 为C程序提供自动缩进
set smartindent
" 高亮显示普通txt文件(需要txt.vim脚本)
au BufRead,BufNewFile * setfiletype txt
"自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "/<Right>"
else
return a:char
endif
endfunction
filetype plugin indent on
"打开文件类型检测, 加了这句才可以用智能补全
set completeopt=longest,menu
"C++的编译和运行
"编译运行
map <F10> :call CompileRunGpp()<CR>
func! CompileRunGpp()
exec "w"
exec "!g++ % -o %<"
exec "! ./%<"
endfunc
"编译
map <F8> :call CompileGpp()<cr>
func! CompileGpp()
exec "w"
exec "!g++ % -o %<"
endfunc
"运行
map <F9> :call RunGpp()<cr>
func! RunGpp()
exec "w"
exec "! ./%<"
endfunc
############## fusmile.com 夫夫羊 #################
[3]、常用命令
termux是一个免root的linux模拟器,常用命令:
cd <目录地址> 打开目录地址
cp <文件名> <目标目录地址> 拷贝到目标目录地址
mkdir <文件夹名> 新建文件夹
rm <文件名> 删除文件
rm -rf <文件夹名> 删除文件夹
ls 查询该文件夹下文件及文件夹
[4]、C/C++编译环境软件安装参照
$ pkg install clang python gdb cgdb curl
curl可以优化termux终端界面。
clang为C和C++编译器。
python制作小程序。
gdb和cgdb为调试工具。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)