青江的个人站

“保持热爱,奔赴星海”

  • 主页
  • 目录
  • 图床
  • 留言板
  • -关于我-
友链 搜索文章 >>

青江的个人站

“保持热爱,奔赴星海”

  • 主页
  • 目录
  • 图床
  • 留言板
  • -关于我-

【云服务器(Ubuntu)配置(折腾)】五、Linux进阶配置


阅读数: 0次    2025-02-13
字数:4.8k字 | 预计阅读时长:20分钟

在系统中所有的基础配置都完成后,可能会需要一些进阶的配置来提高Linux系统使用的效率。

如果内容恰好可以帮助到你,我非常开心!

安装Rust和Cargo

Introduction - The Cargo Book

国内 macOS/Linux 安装 rust | sammyne

国内安装比较困难,需要配置镜像源,还可能有一些别的网络问题,不过如果配置好Clash后就很简单了,直接用官方的一行命令解决:

1
curl https://sh.rustup.rs -sSf | sh

安装并配置joshuto(已使用Yazi代替)

这是使用Rust重写的ranger,性能比ranger高很多

Linux上的超快速文件管理工具,可以代替ranger

文件在指尖飞舞 - 终端文件管理器Joshuto_哔哩哔哩_bilibili

kamiyaa/joshuto: ranger-like terminal file manager written in Rust

将安装文件夹下的配置文件夹config复制到~目录的.config目录下,改名为joshuto,joshuto就会自动使用此配置文件。

输入?即可查看快捷键,大多数和Vim的快捷键比较像。

Yazi

Yazi(意思是“鸭子”)是一个用 Rust 编写的终端文件管理器,基于非阻塞异步 I/O。它旨在提供高效、用户友好且可定制的文件管理体验。

对比joshuto速度更快,功能更丰富,且目前还在积极开发中,而joshuto由于其作者找到了新工作,目前已进入维护模式。

我的Yazi配置参考:HC3560/HC-Config

使用配置文件需先参考官方文档(Yazi)安装Yazi需要的一些扩展软件:

1
apt install ffmpeg 7zip jq poppler-utils fd-find ripgrep fzf zoxide imagemagick

Yazi本体可以通过Cargo安装:

1
cargo install --locked yazi-fm yazi-cli

参考:

【命令行必备】Yazi:最强文件管理器_哔哩哔哩_bilibili

Bilibili-Yazi

插件:

compress.yazi:可将选定的文件或文件夹压缩到存档中

git.yazi:在文件列表中以linemode显示Git文件更改的状态

starship.yazi:在Yazi中显示starship命令行信息(starship/starship: ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!)

yaziline.yazi:Yazi的简单类似lualine的状态行,在状态行中显示更多信息

full-border.yazi:给Yazi加上完整的边框,让它看起来更华丽

max-preview.yazi:最大化或恢复预览窗格

eza-preview.yazi:Yazi插件使用eza预览目录,可以在列表和树模式之间切换

chmod.yazi:对所选文件执行chmod以更改其模式。该插件仅在 Unix 平台上可用,因为它依赖于chmod

jump-to-char.yazi:类似Vim的f<char> ,跳转到下一个名称以<char>开头的文件

smart-filter.yazi:一个让过滤器变得更智能的Yazi插件:连续过滤,自动进入唯一目录,提交时打开文件

yazi.nvim:此插件允许您在Neovim的浮动窗口中打开yazi,配合Neovim使用,使用lazy.nvim安装,具体参照我的nvim配置HC3560/HC-Config

confirm-quit.yazi:如果有多个标签页打开,在退出前进行一次确认。注意:使用此插件时,您可能会在 Yazi 退出前注意到一个短暂的弹出窗口闪烁。这是一个“运行任务”确认弹出窗口。有关此行为的更多详细信息,请参阅: #1059

close-and-restore-tab.yazi:一个添加关闭和恢复标签功能的Yazi插件

sudo.yazi:在yazi中调用sudo命令

yamb.yazi:一款用于书签管理的Yazi插件。持久书签,关闭yazi后,书签不会丢失;快速通过快捷键跳转、删除和重命名书签;支持通过fzf进行模糊搜索;可使用Lua语言配置书签

trashy

这是使用Rust重写的trash-cli

Linux增加回收站功能,安全删除文件必备

可以配合Yazi使用,Yazi中删除的文件自动进入trashy回收站

oberblastmeister/trashy: a cli system trash manager, alternative to rm and trash-cli

通过trash list中的编号彻底删除或恢复文件,使用-r指定,例如恢复列表中编号为1的文件:

1
trash restore -r 1

LazyGit

LazyGit是一个使用Go语言编写的终端界面Git客户端,它以一种轻量级、高效且用户友好的方式提供了对Git仓库的全面管理。

jesseduffield/lazygit: simple terminal UI for git commands

配置 - LazyGit 中文文档

ZSH主题更换为Powerlevel10k

发现一个很棒的主题Powerlevel10k:romkatv/powerlevel10k: A Zsh theme,可以基于Oh-My-Zsh进行配置。

终端环境:zsh 主题自定义 powerlevel10k - POLOXUE’s BLOG

打造酷炫终端(一)——Shell 配置 – LRL52 的博客

首先应该安装NerdFont字体:Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher

在Ubuntu和其他Linux上安装新字体的方法 - LinuxStory

使用苦茶甜橙同款字体JetBrainsMonoNerdFontMono-Italic,nerd-fonts/patched-fonts/JetBrainsMono/Ligatures/Italic/JetBrainsMonoNerdFontMono-Italic.ttf at master · ryanoasis/nerd-fonts

Neovim配置

Neovim是一个高度可扩展的基于Vim的文本编辑器。

我的Neovim配置参考:HC3560/HC-Config

使用配置文件需先安装某些插件需要使用的扩展软件:

ripgrep(rg):BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern while respecting your gitignore

字体:Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher

基本配置

base.lua:一些基础配置,优化了Neovim的显示、搜索、缩进、剪贴板及文件管理设置,提升编辑效率。

kaymap.lua:配置自定义快捷键,以空格键为核心,通过自定义快捷键集成全选/纯净粘贴/快速保存退出功能,优化换行导航并提供清除高亮等实用工具。

lazy.nvim

lazy.nvim是 Neovim 的现代插件管理器(🚀 Getting Started | lazy.nvim)。使用官网的配置即可。

相关配置的详细解释:lazy-nvim插件管理器基础入门 - w4ngzhen - 博客园

使用require("lazy").setup("plugins")引入插件文件夹后,在文件夹中使用table块配置插件即可。

colorscheme

使用Everforest主题:sainnhe/everforest: 🌲 Comfortable & Pleasant Color Scheme for Vim

Mason

Mason是一个市场,很方便地安装各个语言的lsp、formatter、linter

mason:williamboman/mason.nvim: Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.

mason-lspconfig:williamboman/mason-lspconfig.nvim: Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim.

mason-tool-installer:WhoIsSethDaniel/mason-tool-installer.nvim: Install and upgrade third party tools automatically

LSP

neovim/nvim-lspconfig: Quickstart configs for Nvim LSP

Neovim Language Server Protocol 配置解释

配置Lua语言服务器,声明vim为已知全局变量,避免LSP将vim全局变量误报为未定义:

1
2
3
4
5
6
7
8
lspconfig.lua_ls.setup {
settings = {
Lua = {
diagnostics = { globals = { 'vim' } }, -- 声明 vim 为已知全局变量
},
},
capabilities = capabilities,
}

格式化

stevearc/conform.nvim: Lightweight yet powerful formatter plugin for Neovim

对于conform的最新版本,要求Neovim 0.10+,像Ubuntu这种系统,官方库中的Neovim的版本很可能不满足要求,安装插件后提示版本不支持,需要看Neovim官方的安装说明:

neovim/INSTALL.md at master · neovim/neovim

找到非官方的PPA库,添加PPA库之后即可安装最新构建版本的Neovim:

Ubuntu22.04 安装、简单配置 neovim1. 安装 NeoVim 2. 安装插件管理器 为了轻松地管理 Ne - 掘金

对于安装的新版本Neovim,安装conform之后可能会出现一些报错,报错原因可能是因为缺少treesitter(nvim-treesitter/nvim-treesitter: Nvim Treesitter configurations and abstraction layer)插件,安装后报错即可消失。

Treesitter

提供代码高亮、增量选择等功能

nvim-treesitter/nvim-treesitter: Nvim Treesitter configurations and abstraction layer

:TSInstallInfo:查看语言解释器安装信息

:TSUpdate:更新已安装的语言解释器

Yazi

Yazi(意思是“鸭子”)是一个用 Rust 编写的终端文件管理器,基于非阻塞异步 I/O。它旨在提供高效、用户友好且可定制的文件管理体验。

在Neovim中打开Yazi悬浮窗,便于进行文件的切换与管理:

mikavilpas/yazi.nvim: A Neovim Plugin for the yazi terminal file manager

参考TheCW的nvim配置中yazi插件的配置:nvim/lua/config/plugins/yazi.lua at lua-migration · theniceboy/nvim

Yazi配置参考我的配置HC3560/HC-Config。

括号引号等自动匹配

windwp/nvim-autopairs: autopairs for neovim written in lua

Telescope

一个高度可扩展的列表模糊查找器

安装Telescope之前需要先安装ripgrep(rg):BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern while respecting your gitignore

telescope:nvim-telescope/telescope.nvim: Find, Filter, Preview, Pick. All lua, all the time.

多光标

mg979/vim-visual-multi: Multiple cursors plugin for vim/neovim

用于一次性创建多个光标,方便对多行或多个关键字进行统一操作。

Telescope与LSP的集成(Lspsaga)

改进了Neovim内置的LSP体验

Lspsaga:Lspsaga | nvimdev

nvimdev/lspsaga.nvim: improve neovim lsp experience

书签

MattesGroeger/vim-bookmarks: Vim bookmark plugin

tom-anders/telescope-vim-bookmarks.nvim: Integrates vim-bookmarks into telescope.nvim

Typescript LSP

pmizio/typescript-tools.nvim: ⚡ TypeScript integration NeoVim deserves ⚡

这个插件性能比tsserver(以更名为ts_ls)性能好一些。

Lint

为代码提供linting(语义错误和语法检查)

mfussenegger/nvim-lint: An asynchronous linter plugin for Neovim complementary to the built-in Language Server Protocol support.

自动补全

hrsh7th/nvim-cmp: A completion plugin for neovim coded in Lua.

Auto Tag

使用Treesitter自动关闭和自动重命名HTML标签

windwp/nvim-ts-autotag: Use treesitter to auto close and auto rename html tag

注意,根据官方的README文件,通过nvim-treesitter.configs进行设置的方式已被弃用,需要迁移到新方法,使用官方提供的nvim-ts-autotag进行设置。

字符串拼接

axelvc/template-string.nvim: Neovim plugin to automatic change normal string to template string in JS like languages

内置终端

akinsho/toggleterm.nvim: A neovim lua plugin to help easily manage multiple terminal windows

缩进

echasnovski/mini.indentscope: Neovim Lua plugin to visualize and operate on indent scope. Part of ‘mini.nvim’ library.

快速切换

rmagatti/alternate-toggler: A very small plugin for toggling alternate “boolean” values.

Surround

轻松添加/更改/删除周围的分隔符对

kylechui/nvim-surround: Add/change/delete surrounding delimiter pairs with ease. Written with in Lua.

快速选中

使用Treesitter实现:

nvim-treesitter/nvim-treesitter: Nvim Treesitter configurations and abstraction layer #incremental-selection

TreeSJ

用于拆分/连接代码块

Wansmer/treesj: Neovim plugin for splitting/joining blocks of code

注释

numToStr/Comment.nvim: :brain: // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more

TODO注释

folke/todo-comments.nvim: ✅ Highlight, list and search todo comments in your projects

多行复制

hinell/duplicate.nvim: Duplicate visual selection, lines, and textobjects

在官方文档duplicate.nvim/doc/index.md at main · hinell/duplicate.nvim #legendary中,建议使用Legendary.nvim来配置键盘映射。

项目切换

coffebar/neovim-project: Neovim project plugin simplifies project management by maintaining project history and providing quick access to projects via Telescope or fzf-lua…

快速跳转

folke/flash.nvim: Navigate your code with search labels, enhanced character motions and Treesitter integration

状态栏

nvim-lualine/lualine.nvim: A blazing fast and easy to configure neovim statusline plugin written in pure lua.

Rust

mrcjkb/rustaceanvim: 🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim

Cursorline

在光标上突出显示单词和行

ya2s/nvim-cursorline: A plugin for neovim that highlights cursor words and lines

Move

快速移动行或块

fedepujol/move.nvim: Gain the power to move lines and blocks and auto-indent them!

Noice

高度实验性的插件,完全替换了messages、cmdline和popupmenu的 UI。

folke/noice.nvim: 💥 Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu.

gitsigns

Git的深度缓冲集成,用于在实时显示文件的Git修改状态以及git blame信息。

lewis6991/gitsigns.nvim: Git integration for buffers

ufo

增强代码折叠功能,同时保持高性能。

kevinhwang91/nvim-ufo: Not UFO in the sky, but an ultra fold in Neovim.

statuscol

提供可配置的’statuscolumn’和点击处理器的状态栏插件。

luukvbaal/statuscol.nvim: Status column plugin that provides a configurable ‘statuscolumn’ and click handlers.

hlslens

搜索功能增强。nvim-hlslens帮助你更好地浏览匹配信息,无缝地在匹配实例之间跳转。

kevinhwang91/nvim-hlslens: Hlsearch Lens for Neovim

scrollbar

可扩展的Neovim滚动条。可以在滚动条上显示光标当前位置与诊断信息,配合其他插件可实现git信息与搜索信息的高亮显示。

petertriho/nvim-scrollbar: Extensible Neovim Scrollbar

Neovide

Neovide - Neovide

参考链接:

从零开始配置 Neovim(Nvim) - MartinLwx’s Blog

Neovim配置——从入门到放弃 - lavateinn - 博客园

neovim入门指南(一):基础配置 - ISLAND

neovim入门指南(二):常用插件 - ISLAND

neovim入门指南(三):LSP配置(上) - ISLAND

neovim入门指南(四):LSP配置(下) - ISLAND

沉浸式写代码 | 和我一起配置Neovim 0.8【重制】_哔哩哔哩_bilibili

Neovim 配置(上) | TypeScript | Rust | Lua | 无人声 (感觉写的稀碎,留着看看风景吧hh)_哔哩哔哩_bilibili

Neovim 配置(下) | TypeScript | Rust | Lua | 无人声_哔哩哔哩_bilibili

Neovim 里最完美的 TypeScript ( JavaScript / React ) 配置!_哔哩哔哩_bilibili

bitterteasweetorange/nvim: Neovim 0.9 configuration for coding React, TypeScript and Rust

从0开始配置基于lua的neovim (lazy.nvim重制版)_哔哩哔哩_bilibili

msmtp

msmtp是一个轻量级邮件工具,配置使用SMTP后可以很方便地使用命令行发送邮件。

以下是针对QQ邮箱使用msmtp的用户级配置详细步骤,包含每一步的作用说明:

1. 安装 msmtp

1
sudo apt install msmtp msmtp-mta
  • 作用:安装轻量级SMTP客户端msmtp,用于通过命令行发送邮件。

2. 创建用户级配置文件

在用户主目录下创建配置文件~/.config/msmtp/config:

1
2
3
mkdir -p ~/.config/msmtp
touch ~/.config/msmtp/config
chmod 600 ~/.config/msmtp/config # 关键权限设置!
  • 权限说明:600确保仅当前用户可读写,防止敏感信息泄露。

3. 编辑配置文件

打开~/.config/msmtp/config并填入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 通用配置
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.config/msmtp/msmtp.log

# QQ邮箱账户配置
account qq
host smtp.qq.com
port 465
from your_qq@qq.com
user your_qq@qq.com
password your_qq_smtp_authorization_code
tls_starttls off
tls on

# 设为默认账户
account default : qq

关键配置项解释

  • host: QQ 邮箱的 SMTP 服务器地址。
  • port 465: SSL 加密端口(若用端口 587 需改用 tls_starttls on)。
  • auth on: 启用 SMTP 认证,必须填写用户名和密码。
  • password: 需使用 QQ 邮箱授权码(非邮箱密码!生成方法见附录)。
  • tls on: 强制全程 TLS 加密,保障传输安全。
  • tls_trust_file: 指定系统 CA 证书路径,避免证书验证错误。

设置日志文件权限

1
sudo chmod 600 ~/.config/msmtp/msmtp.log

4. 测试邮件发送

通过命令行发送测试邮件:

1
echo -e "Subject: msmtp测试邮件\n\n这是一封来自msmtp的测试邮件。" | msmtp --debug recipient@example.com
  • 参数说明:
    • --debug: 显示调试信息,便于排查问题。
    • recipient@example.com: 替换为实际收件人邮箱。

5. AppArmor问题排查

如果系统使用AppArmor(常见于 Ubuntu),可能拦截msmtp的日志写入操作。

查看AppArmor状态:

1
sudo apparmor_status
  • 如果输出中包含msmtp的配置为enforce模式,说明策略正在限制操作。

永久修复:更新AppArmor配置文件

若默认策略文件无自定义配置,可基于当前策略生成新规则:

1
2
3
4
5
6
7
8
# 切换到 AppArmor 配置目录
cd /etc/apparmor.d/

# 备份原策略文件
sudo cp usr.bin.msmtp usr.bin.msmtp.bak

# 编辑策略文件(在现有规则末尾添加)
sudo vim usr.bin.msmtp

完整修改后的配置文件片段

修改后的 usr.bin.msmtp 文件相关部分如下:

1
2
3
4
5
6
7
# 原有规则
owner @{HOME}/.config/msmtp/* r,

# 新增规则:允许读写日志文件
owner @{HOME}/.config/msmtp/msmtp.log rwk,
owner @{HOME}/.config/msmtp/ r,
owner @{HOME}/.config/msmtp/ rw,

保存并重新加载策略

1
2
sudo vim /etc/apparmor.d/usr.bin.msmtp  # 按上述步骤修改
sudo apparmor_parser -r /etc/apparmor.d/usr.bin.msmtp # 重新加载策略

私有云图床搭建(EasyImages2.0)

icret/EasyImages2.0: 简单图床 - 一款功能强大无数据库的图床 2.0版

EasyImage2.0 简单图床

自建图床的方案思考以及搭建教程 | 会飞的猫

开源实例之简单图床 - 俊赏

【宝塔面板系列】10分钟搭建一个简单图床——EasyImage 简单到无需数据库!_哔哩哔哩_bilibili

【宝塔面板系列】10分钟搭建一个简单图床——EasyImage 简单到无需数据库!-我不是咕咕鸽

不使用宝塔面板 安装 EasyImage 简单图床 | 追殇 Coding

Zellij

用Rust编写的又一个好用的终端复用器(Terminal Multiplexers),类似于tmux

Zellij是一个面向开发者、运维人员和所有喜爱终端的用户的工作空间。功能丰富且开箱即用。

官网:Zellij,官网的网页设计和配色都很棒,且官方默认支持Everforest主题,好评!!!

最近对使用Rust编写的项目情有独钟:D

安装方法和使用教程官方网站的文档中已经非常详细了:Introduction - Zellij User Guide、Screencasts & Tutorials

相关介绍:

Is Tmux DEAD? Zellij is the new multiplexer written in Rust(B站搬运:Tmux 过时了吗?探索Zellij:Rust语言打造的全新终端多路复用器!_哔哩哔哩_bilibili)

zellij - 比tmux更容易学习和上手的终端复用工具_哔哩哔哩_bilibili

还有一个面向Zellij开发者的采访,也比较有意义,内容比较长,先码一下,以后再看:

Interview of Aram the maintainer of Zellij - YouTube(B站搬运:对话 Zellij 作者:探秘这款终端复用器的幕后故事_哔哩哔哩_bilibili)

Btop

一个功能强大的资源监视器,显示处理器、内存、磁盘、网络和进程的使用情况和统计数据,类似于Windows中的任务管理器。

官网:aristocratos/btop: A monitor of resources

一般的发行版系统默认自带一个最基础资源监视器:top,但是界面非常简陋,且数据不直观。

因此,一部分系统中会自带另一个更现代的资源监视器:htop,总体上好用了很多,但监控的数据不是很全,交互体验比较一般。

而Btop是一个功能非常强大的资源监视器,可以在一个界面上获取多种系统资源的监控信息,支持图表显示和全彩色显示,交互模式简洁易用,有完整的鼠标支持,而且官方默认支持Everforest主题,好评!!!

Everforest主题真的巨好用!吹爆!

sainnhe/everforest: 🌲 Comfortable & Pleasant Color Scheme for Vim

大多数系统中使用默认的包管理器即可快速安装,例如Ubuntu中:

1
sudo apt install btop

这个视频介绍了Linux中的各种资源监视器,可以参考一下:

Top 10 ways to monitor Linux in a Terminal(B站搬运:还在用 Top 监控 Linux 性能?OUT了!这几款神器效率提升10倍!_哔哩哔哩_bilibili)

例如专用于监控网络流量的iftop:

iftop: display bandwidth usage on an interface

soarpenguin/iftop: display bandwidth usage on an interface

在Ubuntu中也可以通过包管理器直接安装:

1
sudo apt install iftop

运行时一般需要管理员权限:sudo iftop

例如专用于监控IO(硬盘)使用率的iotop:

Tomas-M/iotop: A top utility for IO

在Ubuntu中也可以通过包管理器直接安装:

1
sudo apt install iotop

运行时一般需要管理员权限:sudo iotop

关于Linux中进程的不同退出信号的差别,例如terminate和kill,可以参考:

Linux 中不同退出信号的区别 - VVavE

dysk

一个用于获取文件系统信息的Linux工具,用于代替默认的df命令。

官网:dysk

GitHub:Canop/dysk: A linux utility to get information on filesystems, like df but better

它将文件系统的使用情况信息整合为一个易读的图表,带颜色显示,格式更好,并且为每个磁盘配有一个小图标。它有丰富的配置项,如果需要的话,还可以将结果输出为JSON或CSV格式。

dysk是使用Rust编写的,性能很棒!

本文来源: 青江的个人站
本文链接: https://hanqingjiang.com/2025/02/13/20250213_server_advancedLinuxConfiguration/
版权声明: 本作品采用 CC BY-NC-SA 4.0 进行许可。转载请注明出处!
知识共享许可协议
赏

谢谢你请我喝可乐~

支付宝
微信
  • Linux
  • Server

扫一扫,分享到微信

微信分享二维码
在Vivado中使用Pblock对模块进行位置约束
2025新年快乐!
  1. 1. 安装Rust和Cargo
  2. 2. 安装并配置joshuto(已使用Yazi代替)
  3. 3. Yazi
  4. 4. trashy
  5. 5. LazyGit
  6. 6. ZSH主题更换为Powerlevel10k
  7. 7. Neovim配置
    1. 7.1. 基本配置
    2. 7.2. lazy.nvim
    3. 7.3. colorscheme
    4. 7.4. Mason
    5. 7.5. LSP
    6. 7.6. 格式化
    7. 7.7. Treesitter
    8. 7.8. Yazi
    9. 7.9. 括号引号等自动匹配
    10. 7.10. Telescope
    11. 7.11. 多光标
    12. 7.12. Telescope与LSP的集成(Lspsaga)
    13. 7.13. 书签
    14. 7.14. Typescript LSP
    15. 7.15. Lint
    16. 7.16. 自动补全
    17. 7.17. Auto Tag
    18. 7.18. 字符串拼接
    19. 7.19. 内置终端
    20. 7.20. 缩进
    21. 7.21. 快速切换
    22. 7.22. Surround
    23. 7.23. 快速选中
    24. 7.24. TreeSJ
    25. 7.25. 注释
    26. 7.26. TODO注释
    27. 7.27. 多行复制
    28. 7.28. 项目切换
    29. 7.29. 快速跳转
    30. 7.30. 状态栏
    31. 7.31. Rust
    32. 7.32. Cursorline
    33. 7.33. Move
    34. 7.34. Noice
    35. 7.35. gitsigns
    36. 7.36. ufo
    37. 7.37. statuscol
    38. 7.38. hlslens
    39. 7.39. scrollbar
    40. 7.40. Neovide
    41. 7.41. 参考链接:
  8. 8. msmtp
    1. 8.1. 1. 安装 msmtp
    2. 8.2. 2. 创建用户级配置文件
    3. 8.3. 3. 编辑配置文件
    4. 8.4. 4. 测试邮件发送
    5. 8.5. 5. AppArmor问题排查
  9. 9. 私有云图床搭建(EasyImages2.0)
  10. 10. Zellij
  11. 11. Btop
  12. 12. dysk
© 2021-2025 青江的个人站
晋ICP备2024051277号-1
powered by Hexo & Yilia
  • 友链
  • 搜索文章 >>

tag:

  • 生日快乐🎂
  • 新年快乐!
  • 小技巧
  • Linux
  • 命令
  • 语录
  • 复刻
  • Blog
  • Notes
  • Android
  • C
  • Homework
  • MATLAB
  • FPGA
  • Server
  • Vivado

  • 引路人-稚晖
  • Bilibili-稚晖君
  • 超有趣讲师-Frank
  • Bilibili-Frank