现代化ls替代工具eza简介与配置
在日常的终端操作中,ls
是我们使用频率最高的命令之一。如果你想让枯燥的黑白文件列表变得更加美观、直观且信息丰富,那么是时候了解一下现代化的
ls 替代工具——eza 了。
eza 简介
eza 是一个用 Rust 语言编写的现代 ls
命令替代品(它是已停止维护的 exa
项目的活跃分支)。它不仅运行极快,还带来了许多令人惊艳的特性:
- 超强视觉表现:默认使用丰富的颜色来区分文件类型,并原生支持在文件名旁显示精美的小图标。
- 内置 Git 状态:使用
--git参数,可以直接在文件列表中查看文件的 Git 状态(如未跟踪??、已修改M等),对开发者极为友好。 - 树状视图:使用
--tree参数,可以像tree命令一样递归展示目录结构,且速度更快、支持色彩渲染。 - 人性化细节:支持按大小、时间、扩展名等灵活排序,支持“人类可读”的文件大小显示,以及让目录优先显示等。
注意:如果你系统里仍然只有旧版的
exa,建议尽快安装eza。目前主流包管理器(如apt,pacman,brew)均已提供eza的安装源。
前置准备:安装 Nerd Font
eza 的图标功能依赖于 Nerd
Font(一种包含大量图标和特殊符号的修改版字体)。如果不配置字体,终端里可能会出现方块或乱码。
- 下载并安装字体:前往 Nerd Fonts 官网
下载你喜欢的字体(如
JetBrainsMono Nerd Font或FiraCode Nerd Font)。 - 配置终端:打开你使用的终端模拟器(如 Windows Terminal, iTerm2, Alacritty 等),在设置中将默认字体修改为你刚刚安装的 Nerd Font。
- 版本建议:建议安装 Version 3 及以上的字体版本,以获得最全的图标支持。
推荐配置
将以下别名(Aliases)配置添加到你的 Shell 配置文件中(如
~/.zshrc 或
~/.bashrc),即可享受开箱即用的极佳体验:
1 | # ========================================== |
参数贴士
--icons=auto:智能判断当前环境是否支持图标,如果不支持(例如在无字体的远程服务器上),会自动回退到无图标模式,避免乱码。--group-directories-first:将文件夹排在文件前面,让目录结构更加清晰。--human-readable:将文件大小显示为1K,23M等更易读的格式,而不是字节数。
LaTeX文档分章节引入参考文献
在使用LaTeX编辑文档时,可以方便地插入参考文献,推荐使用bibtex插件,我在文章
LaTeX
插入参考文献中详细介绍了这种方法。最近阅读一些书籍时,注意到有些书籍在每章或每节的末尾插入了参考文献,这对于编写大型教学资料非常有帮助。本文将介绍如何在章节末尾插入参考文献。
bib 文献库
在编写资料时,可以根据文献的分类分别建立不同的文献库,例如编写一本物理资料时,可以分别建立li.bib、dian.bib、re.bib等文件。例如:
li.bib文件的内容如下
1 | @book{zhou2009, |
文献的引用
在正文需要引用的地方使用\cite{键名}。
例如推荐刘川的书时写:
1 | 推荐刘川的《理论力学》\cite{liu2019}作为入门教材。 |
文档末列出被引用过的文献
使用传统的 BibTeX 方式
在文档末尾(\end{document})加入两行:
1 | \bibliographystyle{plain} % 或unsrt, ieeetr 等样式 |
其中plain是基础样式,按作者字母排序、数字标号。如果你希望参考文献按引用先后顺序排列,把样式换成unsrt即可。
使用现代的 BibLaTeX 方式
只需要在导言为每个文献库单独调用一次\addbibresource命令,即
1 | \usepackage[backend=biber, style=numeric]{biblatex} |
在正文中的任何位置都可以使用命令\printbibliography插入引用过的条目,biblatex默认只打印在正文中被\cite系列命令引用过的条目。如果某个文献在.bib文件中但未被引用,它不会出现在目录中。
\printbibliography支持在方括号[]内添加参数,以控制目录的标题、内容和格式。具体定制选项如下:
自定义标题,可以使用
title选项修改:1
2
3\printbibliography[title={参考文献}]
% 或英文标题
\printbibliography[title={Reference list}] %[reference:2]将目录添加到目录,如果希望“参考文献”作为一个章节出现在目录中,使用
heading=bibinto:1
\printbibliography[heading=bibintoc, title={参考文献}] %[reference:3]
按类型或关键词过滤条目,可以生成分类文献列表。
1
2
3
4
5
6
7
8% 只列出文章(@article)类型的文献
\printbibliography[type=article, title={期刊论文}] %[reference:4]
% 只列出在 .bib 文件中标记了 keyword={primary} 的文献
\printbibliography[keyword=primary, title={核心文献}] %[reference:5]
% 排除某一类文献,例如排除网络来源(@online)
\printbibliography[nottype=online, title={非网络文献}] %[reference:6]
每节末列出参考文献
列出正文中引用过的条目
- 方式一:全局加载,按节引用(最简单)
1 | \usepackage[backend=biber, style=numeric]{biblatex} |
- 方式二:为
refsection指定专属bib(更严格, 推荐使用)
如果你希望“力学这一节只能引用 li.bib
里的书,电学只能引用 dian.bib 里的书”,可以给
refsection 环境加上可选参数,直接指定该节使用的文献源:
1 | \begin{refsection}[li.bib] |
这个写法在 biblatex
文档和多个教程中被明确支持。它的优点是各节文献源完全隔离,不会互相污染;缺点是如果某一节需要同时引用两个库里的书,写起来会稍麻烦(需要把两个库都列进去,或改回方式一)。
列出所有文献库中的文献
使用\nocite{*}
放在refsection环境内部,将它的作用范围被限制在当前节,意思是将所有文献库中的文献都标记为引用过,虽然没有引用过。写法如下:
1 | \usepackage[backend=biber, style=numeric]{biblatex} |
每章末列出参考文献
导言区设置
1 | \usepackage[backend=biber, style=numeric]{biblatex} |
正文写法
1 | \begin{refsection} |
编译
传统 bibtex
1 | xelatex foo.tex |
现代 biblatex
先安装biber命令,在
ArchLinux中执行命令:
1 | sudo pacman -S biber |
编译流程
1 | xelatex foo.tex |
Fcitx5配置问题
随着Fcitx5的升级,它的功能不断完善,根据 Fcitx5 ArchWiki
的记录,我的
Gnome Wayland环境(其他桌面环境请参考前述Fcitx5
ArchWiki)需要做出如下设置:
- 修改整体环境变量
/etc/environment, 去掉GTK_IM_MODULE=fcitx, 但是务必保留XMODIFIERS=@im=fcitx和QT_IM_MODULE=fcitx, 于是我的environment文件为:
1 | # This file is parsed by pam_env module |
- 为支持运动于
Xwayland的GTK软件,在~/.config/gtk-3.0/settings.ini和~/.config/gtk-4.0/settings.ini中添加:
1 | [Settings] |
Gnome Wayland输入框精准定位
由于Gnome的工作原理,使得Fcitx5暂时不能完成在一些程序中的输入框精准定位和无法在gnome-shell UI上显示候选窗口,则需要安装插件gnome-shell-extension-kimpanel-git,
即
1 | paru -S gnome-shell-extension-kimpanel-git |
Hexo的Next主题升级问题
2026年10月25日我决定升级一下我的 Next
主题,因为2026年的更新一直没有做,有些性能改善和bug修复肯定有不少,并且版本号从
NexT 8.21.0 一路升级到了 NexT 8.29.0, 但是在 8.22.0
的 Bug Fixes 部分记录了一项改动
1 | Use auto-fill in link-grid |
这个操作的逻辑是根据浏览器的缩放程度自动判断link-grid的列数,但是对于我的博客来讲,我希望维持原来的两列。于是使用diary -tu升级主题后,进一步修改themes/source/css/_common/scaffolding/tags/link-grid.styl
文件中
1 | grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); |
为
1 | grid-template-columns: 1fr 1fr; |
完成上述修改后,依次执行:
1 | diary -tu |
[!WARNING] 由于
hexo-renderer-pandoc插件内部硬编码了--mathjax, 而当前Pandoc 3.11中已经标记--mathjax为Deprecated,所以编译时会出现警告提示。这个问题等下次升级Pandoc后或许将变的不可执行,所以需要等hexo-renderer-pandoc升级后解决,这点需要特别注意。
淄博实验中学第43届物理竞赛复赛取得佳绩
2026年9月19日,第43届全国中学生物理竞赛在山东大学中心校区举行,近日竞赛成绩已公布。淄博市在此次竞赛中表现优异,共有3人获得一等奖,24人获得二等奖,20人获得三等奖。其中,淄博实验中学的高二学生孔令旭和丁信嘉,以及桓台一中高三学生田真旭荣获全国一等奖。冯振华和曹子明两位老师荣获“山东省物理竞赛优秀指导教师”称号,淄博实验中学和桓台一中则被授予 “金牌学校”称号。
复赛进入考场前师生合影留念
入场前冯教练进行考前动员
省一等奖获得者孔令旭、丁信嘉与冯振华老师合影
考后复盘
第43届全国中学生物理竞赛淄博实验中学成绩
- 省一等奖:孔令旭(高二)、丁信嘉(高二)
- 省二等奖:陈淇威(高二)、宋锦尧(高二)、张汝森(高二)、王泽畅(高二)、张浩宇(高一)、蔺昕泽(高一)
- 省三等奖:石旭冬(高一)、蔡郑锦晖(高二)、乐轩羽(高一)
令人欣喜的是,本届全国中学生物理竞赛中,实验中学参赛的选手全部为高一和高二的学生,没有高三学生参赛。与此同时,其他学校获得省一等奖的多为高三学生,因此高二的两位同学荣获省一等奖尤为难得,特此表示祝贺!去年,淄博实验中学进入复赛的高三学生有6人,高二学生只有2人,而今年高二学生有8人进入复赛,高一学生也有4人进入复赛。这样的佳绩离不开同学们的辛勤付出和努力,祝愿学生们在未来不断突破自我,取得更加辉煌的成就。
从Gnome3过渡到Cosmic桌面环境
众所周知 Gnome
桌面环境非常成熟,但是每次大版本升级都会导致大量的插件失效,如果等足够长的时间再更新则不能保证系统处理最新状态,如果不等则无法正常工作,不同的插件需要等的时间也不一样。基于上述考虑,我决定从
Gnome3 切换到 Cosmic 桌面环境,其优点是
Cosmic 从零开始使用 rust
语言创建,所以其安全性高、速度快。但是, Cosmic
是一款可以工作中使用,然而还在发展中的新系统,所以就有了本文,本文的目的是记录从使用到完善过程中的问题。
删除 Gnome 切换到 Cosmic
- 启用
Cosmic显示管理器cosmic-greeter
1 | sudo systemctl enable cosmic-greeter |
cosmic-files和Gnome都需要gvfs, 所以需要保留gvfs, 只删除Gnome, 最安全的方法是在删除列表中排除 gvfs, 即
1 | sudo pacman -Rns gnome gnome-shell gnome-browser-connector gnome-shell-extension-blur-my-shell obs-gnome-screencast --assume-installed gvfs |
- 后续清理
1 | sudo pacman -Rns $(pacman -Qtdq) |
- 停用并禁用
GDM
1 | sudo systemctl disable --now gdm.service |
移除WhiteSur主题
- 切换到
WhiteSur源目录
1 | git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git |
移除
GTK主题:./install.sh -r移除
GDM登录主题:sudo ./tweak.sh -g -r移除
Libadwaita主题:./install.sh -l -r移除
Firefox主题:./tweak.sh -f -r, 需要选关闭Firefox再执行这条命令。手动删除残留文件:
1 | # 删除系统级残留(需要管理员权限) |
多媒体
尽管Cosmic中也有默认的音乐播放器和视频播放器,但是仍然不好用,于是需要安装简洁、轻量级的音乐播放器Amberol和视频播放器Celluloid,
执行命令
1 | sudo pacman -S amberol celluloid |
设置截屏快捷键
打开
Cosmic设置进入
输入设备(Input Devices)→键盘(Keyboard)点击
查看和自定义快捷键(View and customize shortcuts)在列表中找到
系统快捷键类别,然后在右侧列表向下滚动找到截图(Take a screensh)选项。进入
截图后,选中添加另一个快捷键。按下
F7, 则使用F7打开截图设置完毕。
Cosmic 主题
打开网站Cosmic Themes,
选中合适的主题下载到你想要的目录。然后点击设置→外观→导入,选中下载的主题,则主题设置完毕。
问题汇总
每次开机密钥环总是要求输密码
cosmic-greeter基于greetd,
其PAM
配置文件通常是/etc/pam.d/cosmic-greeter。不过,根据Arch Wiki的讨论,其打包配置有时会复用/etc/pam.d/login这个文件。
因此,为了确保生效,需要同时检查并编辑这两个文件。
- 检查两个文件:
1 | ls -l /etc/pam.d/cosmic-greeter /etc/pam.d/login |
[!WARNING] 如果
/etc/pam.d/cosmic-greeter不存在,可以参照其他显示管理器的做法,创建一个指向login的符号链接,或直接编辑/etc/pam.d/login。
- 编辑
PAM文件以集成gnome-keyring: 向上一步确定的PAM(两个), 中添加pam_gnome_kerying.so模块。在login和cosmic-greeter文件中添加以下两行内容:
- 在
auth部分的末尾添加:
1 | auth optional pam_gnome_kerying.so |
- 在
session部分的末尾添加:
1 | session optional pam_gnome_kerying.so auto_start |
[!WARNING] 注意: 添加时请保持文件原有结构,将新行插入到对应区块的末尾。一个配置好的文件示例片段如下:
1 | #%PAM-1.0 |
[!WARNING] 自动解锁成功的关键:登录系统使用的密码,必须和“登录”密钥环(Login Kerying)的密码完全一致。如果不一致,则需要使用
seahorse工具手动修改密钥环的密码,使之与登录密码匹配。事实上我仅修改了login文件,测试成功了。同时,Cosmic桌面环境正在开发自己的原生密钥环服务oo7, 待其成熟后也可以迁移到oo7提供的pam_oo7.so模块用于自动解锁。
文件管理器不显示移动硬盘
这个问题主要是由于原来系统安装的是Gnome3,
当删除Gnome3后也把cosmic-file依赖的gvfs,udisks2和gvfs-mtp卸载了,于是安装这三个命令后问题解决:
1 | sudo pacman -S gvfs gvfs-mtp udisks2 |
系统没有移除U盘选项
这主要是因为cosmic-file当前不支持该功能,但可以使用专门用于管理驱动的小程序cosmic-ext-applet-drives-git来解决这个问题。
1 | paru -S cosmic-ext-applet-drives-git |
由于此小程序依赖于 libcosmic,但我使用
git@github.com 配置的 SSH
帐号执行上述命令时未成功。因此,我将 ~/.gitconfig 文件中与
https://github.com 相关的 SSH 命令注释掉,直接使用
https 协议进行下载。
Guake终端下Fcitx5输入面板4k显示器下过小的问题
打开
Fcitx5配置切换到
附加组件切换到
经典用户界面所有字体设置为
15勾选
在X11上针对不同屏幕使用单独的DPI固定 Wayland 的字体 DPI 为
192不勾选
在Wayland下启用分数缩放点
确定, 然后找到Fcitx5在状态栏中的图标,右键,重新启动Fcitx5.
参考资料
Windows10LTSC2021输入法对话框消失的解决方案
今天决定把我的 Thinkpad T490 的双系统改为单一的
Windows10LTSC2021, 原因是我的台式机已经配置了
ArchLinux + Windows11 双系统,平时的办公主力为
ArchLinux , 如果笔记本使用 Windows10LTSC2021,
则在 Windows
下的工作直接使用笔记本办公即可。但是,在安装完成
Windows10LTSC2021 后发现输入法的候选框不显示,这是
Windows10LTSC2021 的一个已知的 Bug,
其根本原因在于,微软在精简这个版本时,不小心删除了新版自由软件拼音输入法所依赖的
桌面桥运动时(Desktop Bridge Runtime)
组件。因为缺少必要的运行库,所以输入法就无法正常显示候选框。
方案一:切换到旧版输入法
这是最快捷的临时解决方案,能让输入法立刻恢复正常,操作步骤为:
- 在任务栏右下角右键点击“中/英”输入法图标,选择
设置 - 在设置窗口中点击
常规 - 找到
兼容性部分,打开使用以前版本的微软拼音输入法开关。
方案二:安装缺失的依赖库(更彻底)
这是从根源上解决问题的方法,并且已经被广泛验证有效。其步骤为:
- 下载文件:依赖库文件
Microsoft.VCLibshttps://dl.lancdn.com/landian/soft/vclibs - 解压文件:将下载的压缩包解压,你会得到两个
.Appx格式的文件。 - 放置文件:将这两个
.Appx文件复制到C:盘的目录下。 - 安装文件:
- 右键点击
开始菜单,选择Windows PowerShell(管理员)或终端(管理员) - 在打开的窗口中,根据你的系统类型,输入以下命令并回车
- 64位系统
PowerShell 1
Add-AppxPackage -Path "C:\Microsoft.VCLibs.140.00_14.0.30704.0_x64__8wekyb3d8bbwe.Appx"
- 32位系统
PowerShell 1
Add-AppxPackage -Path "C:\Microsoft.VCLibs.140.00_14.0.30704.0_x86__8wekyb3d8bbwe.Appx"
- 64位系统
- 右键点击
- 重启电脑:命令执行成功后,重启电脑即可生效。
[!WARNING] 如果提示“部署失败”或“资源正在使用中”,可以重启电脑后再试一次。
稀沃白板讲义合成PDF
当前稀沃白板在中学普及度很高,教师每天都要讲课并书写板书,将每个阶段的讲义合成为一个PDF文件发给学生是一个非常有意义的工作。为实现此目的我编写了在Linux下合成PDF的Shell脚本seewo.sh,
其源码为
1 | #! /bin/sh |
[!WARNING] 私有函数库
Share_Fun_KeySudo与Share_Fun_Install可以到fungzhenhua/script下载,如果不安装则注释掉source的两行及GIT_DEPEND行,同时自行安装好imagemagick即可。
提取Word中的高清图片
直接复制Word中的图片可能会因为剪贴板格式转换或Word默认的压缩机制导致画质下降和背景丢失。
docx 文档提取高清图片
为了提取无损且高清的原图,可以将.docx文件修改为.zip后解压。这种方法能够确保图像不失真。这是因为现代的
.docx
文件本质上是一个包含多种资源(包括原始图片)的压缩包。通过解压,可以直接获取未经任何处理的原始高清图片。
操作步骤:
- 备份文档:建议先复制一份需要提取图片的
Word文档。 - 更改后缀名:将文档的后缀名从
.docx改为.zip(如果看不到后缀名,需在文件夹选项中开启“显示文件扩展名”)。 - 解压文件:使用解压缩软件(如
7-Zip、WinRAR等)打开或解压该ZIP文件。 - 提取图片:在解压出的文件夹中,依次进入
word→media目录。这里存放了文档中所有的原始图片,您可以直接将它们复制出来。 - 注:此方法仅适用于
.docx格式,不适用于老旧的.doc格式。
doc 文档提取高清图片
由于老旧的 .doc 格式并非基于 XML
的压缩包结构,因此无法直接使用“修改后缀为
ZIP”的方法。一种最简便的方法是使用MsOffice将.doc文档转换为.docx文档,然后再修改后缀为.zip,
使用解压缩软件解压缩。另一种方法是另存为网页,这是最古老且最可靠的方法,能够很好的保留图片的原始画质。
操作步骤:
- 用
Word打开需要提取图片的.doc文档。 - 点击左上角的“文件” → “另存为”。
- 选择好保存位置,在 “保存类型” 下拉菜单中,选择 “网页
(
*.htm;*.html)”(注意:请勿选择 “单个文件网页”),然后点击保存。 - 保存后,系统会在同目录下自动生成一个名为
“
[文档名]_files” 的文件夹。打开该文件夹,里面就整齐排列着文档中的所有原始高清图片。