生如夏花

专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等

tmux使用方法

tmux是一种终端多路复用器:它可以在一个屏幕上创建、访问和控制多个终端。

启动tmux时,它会创建一个带有单一窗口的新会话并显示在屏幕上。 屏幕底部的状态行显示当前会话的信息,并用于输入交互式命令。

本文目前主要记录了一些tmux使用的快捷键、常用配置以及插件使用方法。

Diagnostic

本文介绍了Neovim的诊断系统,它提供了一个统一框架来管理来自不同工具的代码问题反馈。

诊断信息由诊断提供者产生,需要创建命名空间、设置配置参数、生成诊断信息,并通过API将诊断信息设置到当前buffer。

诊断信息包含严重程度、位置、消息等字段。Nvim提供的API分为两类:一类作用于诊断生产者,一类作用于诊断消费者。诊断处理器负责渲染诊断信息,可通过vim.diagnostic.show()函数显示给用户。

内置处理器包括virtual_text、virtual_lines、signs和underline。自定义处理器可以通过添加到vim.diagnostic.handlers表来实现。

uloop源码剖析

uloop是OpenWrt基础库libubox的核心模块,提供事件驱动功能。

其主体框架由uloop_init、uloop_run_timeout和uloop_done三个函数构成,分别完成初始化、事件处理循环和清理工作。

uloop支持五大核心功能:

  1. 文件描述符监控基于epoll实现,通过epoll_wait处理就绪事件;
  2. 定时器事件在循环中检测超时;
  3. 子进程管理响应SIGCHLD信号;
  4. 信号处理通过管道实现;
  5. 间隔定时器依赖文件描述符机制。

TiKZ绘制折线图

本文介绍了TiKZ宏包在LaTeX中的强大矢量绘图功能,包括基础绘图、高级图形绘制和专业领域支持。

提供了一个折线图绘制模板,包括LaTeX代码和数据文件示例。还介绍了Make自动化编译配置,包括编译LaTeX文件和将PDF转换为SVG格式。

最后展示了绘制的折线图结果。

LaTeX之documentclass

每个LaTeX文档都是以命令开始并且以命令结尾。

LaTeX会忽略\end{document}之后的内容。

源码文件中处于\begin{document}之前的属于前导

前导中的第一个命令必须是\documentclass[<选项>]{<文档类>}。该命令接受一个强制参数,该参数是LaTeX内置的预定义文档类之一(也可以是第三方包提供的扩展文档类)。

在本教程中,我们将解释和探讨这些文档类的差异和相似之处,以及每个类应该用于什么目的。我们还将讨论documentclass命令所接受的多个可选参数,这些参数可用于自定义我们文档的外观。

LaTex之中文支持

LaTex支持三种中文编辑显示方法。

要想在pdflatex中编辑、显示中文,使用ctex宏包的同时也需要设置文件编码为UTF-8,区别是ctex宏包版本>=2.5.10时不用在代码中手动指定UTF-8编码。

特性UTF-8+ctex(pdfLaTeX)CJKutf8(pdfLaTeX)ctex+XeLaTeX
编译器pdflatexpdflatexxelatex
文件编码UTF-8(自动检测)UTF-8(强制)UTF-8(原生支持)
字体管理自动映射基础字体需手工指定字体直接调用系统字体
配置复杂度中等(需版本适配)最低