tar 是 tape archive 的简称,即“磁带归档”,最早出现在 1979 年的第 UNIX v7。磁带上的数据存储为可能不相邻的变长数据块,浪费了大量块与块之间的空间。向磁盘、网络传输数据时,传输一大块的效率远高于多个小块,因此程序员使用 tar 将磁带上的数据打包在一起,物理上存储在连续的、固定大小的块上以提高性能。 tar 打包出来的文件称为为 tarball。一般会使用某种压缩算法压缩 tarball,压缩后的
Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode with a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping. 类型 Lua 使用动态类型,未初始化的全局变量值默认为 nil(通过元表实现)。 nil nil 是一个类型,同时也是一个值,即 nil 类型的值就是 nil,表示空或无(空类型)。 全局变量未初始化时(空),值就是 nil。当把变量赋值为 nil 时,表示该变量无
刚接触 Vim 的同学往往因为无法搭建开发环境而“从入门到放弃”,本文旨在帮助这些同学搭建开发环境,聚焦于最核心的开发需求,忽略换配色调字体之类的细枝末节。如果需要开箱即用的 vim 配置(发行版),可以使用 Spacevim。 本文使用 neovim-nightly,但也适用于 Vim 8.2+,不需要读者有任何 VimL 基础,以 C/C++ 为例,但应该适用于任何语言。 插件管理 在 Vim 中,插件只是一些脚本,