当前位置: 首页 > news >正文

【Vim Masterclass 笔记22】S09L40 + L41:同步练习11:Vim 的配置与 vimrc 文件的相关操作(含点评课内容)

文章目录

  • S09L40 Exercise 11 - Vim Settings and the Vimrc File
    • 1 训练目标
    • 2 操作指令
      • 2.1. 打开 vimrc-sample 文件
      • 2.2. 尝试各种选项与设置
      • 2.3. 将更改内容保存到 vimrc-sample 文件
      • 2.4. 将文件 vimrc-sample 的内容复制到寄存器
      • 2.5. 创建专属 vimrc 文件
      • 2.6. 对于 Mac、Linux 或 Unix 用户
      • 2.7. 对于 Windows 用户
      • 2.8. 将文件 vimrc-sample 中的内容粘贴到 vimrc 文件
      • 2.9. 根据需要添加更多个性化配置
    • 3 退出 Vim
  • S09L41 Exercise 11 - Vim Settings and the Vimrc File - Walkthrough

写在前面
本篇为第九章的同步练习环节,也是本章的收尾篇。讲师并没有在本节加入大量具体的 Vim 配置项练习,仅仅以个别选项为例进行了说明,主要思路还是结合 Vim 帮助文档(:h option-list 帮助和 :options 命令)来熟悉相关配置项,根据自身需求做定制。实操过程中,建议先在命令模式体验效果,满意后再转存到 vimrc 文件,同时加注必要的注释信息。我也明白,即便练习中说了要浏览一遍 Vim 的配置文档,很多人也会直接跳过这部分内容,然后抱怨没学到什么“真东西”。其实能否严格按要求去做,就能基本断定一个人的自学能力高低;虽然总有天生就很强的少部分天才,但对绝大部分的人而言,自学能力都是后天不断精进完善的结果。狮子搏兔,亦尽全力,更何况这是在给自己打基础。还望各位戒骄戒躁,且行且珍惜。


S09L40 Exercise 11 - Vim Settings and the Vimrc File

1 训练目标

熟悉 Vim 可视化模式的各种用法。1

2 操作指令

2.1. 打开 vimrc-sample 文件

Vim 打开源码包内的练习文件 vimrc-sample(默认解压到 Downloads 文件夹下):

cd Downloads
cd vimclass
vim vimrc-sample

2.2. 尝试各种选项与设置

查看文件内容并阅读每个配置项的注释信息,例如对 ruler 选项:

" Show the line and column number of the cursor position
set ruler

如果该选项后续可能会用到,则阅读该选项的 Vim 帮助文档(记得在选项名两边加注单引号,这样才能精准进入该选项文档,而不是其它相关文档)。例如,获取 ruler 选项的帮助文档,需要输入:

:h 'ruler' + Enter

读完文档想要尝试效果,则使用 set 命令进行设置。启用一个布尔型配置项,命令格式为 set <option-name>,例如:

:set ruler + Enter

若要禁用某选项,命令格式为 set no<option-name>,例如:

:set noruler + Enter

回忆一下,在多个打开的窗口间切换,需使用组合键 CtrlWW。如果决定不启用某选项,也可以在行首添加一个双引号(")将其注释:

" Show the line and column number of the cursor position
" set ruler

2.3. 将更改内容保存到 vimrc-sample 文件

保存变更内容,使用命令 :w + Enter

2.4. 将文件 vimrc-sample 的内容复制到寄存器

试将文件 vimrc-sample 中的内容复制到寄存器 "v 中,以遍后续粘贴到 vimrc 文件。实现方法:输入命令 gg"vyG 即可。该命令分步解释如下:

  • gg:用于将光标定位到文件开头处;
  • "v:指定寄存器 "v
  • yG:复制 motion 指令 G 扫过的内容,该指令用于将光标定位到文件最后一行。

2.5. 创建专属 vimrc 文件

打开 vimrc 文件最简单的方法是先启动 Vim(如果您是跟着操作到这里的,那么 Vim 已经在运行了),然后通过命令 :e <vimrc_full_name> 打开该文件。

2.6. 对于 Mac、Linux 或 Unix 用户

如果操作系统用的是 MacLinux 或者 Unix,则 vimrc 文件的文件名称为 .vimrc,可通过命令 :e ~/.vimrc 进行编辑:

:e ~/.vimrc

顺带提一下,~ 是一个代表您当前用户主目录的快捷方式(shortcut);/ 则为目录的分隔符;最后的 .vimrc 即为 Vim 的配置文件。以我的 Mac 系统为例,我的用户名为 jason,因此对应的主目录便是 /Users/jason

2.7. 对于 Windows 用户

如果操作系统为 Windows 系统,则对应的 vimrc 文件名为 _vimrc;可通过命令 :e ~/_vimrc 进行编辑:

:e ~/_vimrc

虽然 ~/ 是基于 Unix 系统的命名风格,但在 Windows 版的 Vim 中同样有效。顺带提一下,~ 是一个代表您当前用户主目录的快捷方式(shortcut);/ 则为目录的分隔符;最后的 _vimrc 即为 Vim 的配置文件。以我的 Windows 系统为例,我的用户名为 jason,因此对应的主目录便是 C:\Users\jason。本练习中,~/_vimrc 其实就对应 C:\Users\jason\_vimrc

2.8. 将文件 vimrc-sample 中的内容粘贴到 vimrc 文件

使用 put 命令将存入寄存器 "v 中的文件内容粘贴到 vimrc 文件,即输入: " VP 或者 " VShiftP

保存文件内容,使用命令::w + Enter

2.9. 根据需要添加更多个性化配置

至此,一个包含您个人偏好的定制 vimrc 文件就配置好了。如果还想探索更多配置项,可以通过命令 :h option-list:options 进行查阅,再将感兴趣的自定义配置项加入 vimrc 文件即可。

3 退出 Vim

如果编辑好了 vimrc 文件,就可以保存内容并退出 Vim,使用命令::wq! + Enter


S09L41 Exercise 11 - Vim Settings and the Vimrc File - Walkthrough

本节为同步练习的点评课,本章没有对具体配置项分别进行练习,因此没有需要特别补充说明的知识点。练习中复制示例文件到寄存器时,之所以使用 "v 寄存器,只是因为 v 代表 vimrc 文件,并没有特殊用法,特此说明。


  1. 本节练习另附精美排版 PDF 格式,阅读体验更佳,详见:vimclass/Exercise-11-Vimrc.pdf ↩︎

相关文章:

【Vim Masterclass 笔记22】S09L40 + L41:同步练习11:Vim 的配置与 vimrc 文件的相关操作(含点评课内容)

文章目录 S09L40 Exercise 11 - Vim Settings and the Vimrc File1 训练目标2 操作指令2.1. 打开 vimrc-sample 文件2.2. 尝试各种选项与设置2.3. 将更改内容保存到 vimrc-sample 文件2.4. 将文件 vimrc-sample 的内容复制到寄存器2.5. 创建专属 vimrc 文件2.6. 对于 Mac、Linu…...

5.9 洞察 OpenAI - Translator:日志(Logger)模块的 “时光记录仪”

洞察 OpenAI - Translator:日志(Logger)模块的 “时光记录仪” 在开发和生产环境中,日志记录是确保应用程序正常运行和快速调试的核心机制之一。日志模块(Logger)用于记录应用程序的运行信息,包括错误、警告、调试信息、信息性事件等。通过日志,开发者可以实时监控程序…...

客户案例:电商平台对帐-账单管理(亚马逊amazon)

账单管理&#xff1a; 功能定义&#xff1a; 账单管理用于上传亚马逊&#xff08;amazon&#xff09;平台下载的原始账单数据&#xff0c;美国站、日本站、墨西哥站等账单模板直接进行数据上传&#xff0c;做到0调整&#xff0c;下载下来的账单数据无缝上传至对账平台-账单管…...

IP协议特性

在网络层中&#xff0c;最重要的协议就是IP协议&#xff0c;IP协议也有两个特性&#xff0c;即地址管理和路由选择。 1、地址管理 由于IPv4地址为4个字节&#xff0c;所以最多可以支持42亿个地址&#xff0c;但在现在&#xff0c;42亿明显不够用了。这就衍生出下面几个机制。…...

Kubernetes入门学习

kubernetes技术架构模型 一、kubernetes的Label标签 1.标签是以keyvalue的格式通过用户自定义指定&#xff0c;目的是将其加入到各种资源对象上来实现多维度的资源分组管理使其更方便的进行资源分配、调度、配置和部署管理工作。 2.标签可以结合Label Selector(标签选择器)查询…...

支持向量机SVM的应用案例

支持向量机&#xff08;Support Vector Machine,SVM&#xff09;是一种强大的监督学习算法&#xff0c;广泛应用于分类和回归任务。 基本原理 SVM的主要目标是周到一个最优的超平面&#xff0c;该超平面能够将不同类别的数据点尽可能分开&#xff0c;并且使离该超平面最近的数…...

Chrome 132 版本新特性

Chrome 132 版本新特性 一、Chrome 132 版本浏览器更新 1. 在 iOS 上使用 Google Lens 搜索 在 Chrome 132 版本中&#xff0c;开始在所有平台上推出这一功能。 1.1. 更新版本&#xff1a; Chrome 126 在 ChromeOS、Linux、Mac、Windows 上&#xff1a;在 1% 的稳定版用户…...

(5)STM32 USB设备开发-USB键盘

讲解视频&#xff1a;2、USB键盘-下_哔哩哔哩_bilibili 例程&#xff1a;STM32USBdevice: 基于STM32的USB设备例子程序 - Gitee.com 本篇为使用使用STM32模拟USB键盘的例程&#xff0c;没有知识&#xff0c;全是实操&#xff0c;按照步骤就能获得一个STM32的USB键盘。本例子是…...

Linux 系统服务开机自启动指导手册

一、引言 在 Linux 系统中&#xff0c;设置服务开机自启动是常见的系统配置任务。本文档详细介绍了多种实现服务开机自启动的方法&#xff0c;包括 systemctl 方式、通用脚本方式、crontab 方案等&#xff0c;并提供了生产环境下的方案建议和开机启动脚本示例。 二、systemct…...

分布式多卡训练(DDP)踩坑

多卡训练最近在跑yolov10版本的RT-DETR&#xff0c;用来进行目标检测。 单卡训练语句&#xff08;正常运行&#xff09;&#xff1a; python main.py多卡训练语句&#xff1a; 需要通过torch.distributed.launch来启动&#xff0c;一般是单节点&#xff0c;其中CUDA_VISIBLE…...

Codeforces Round 1000 (Div. 2)-C题(树上两个节点不同边数最大值)

https://codeforces.com/contest/2063/problem/C 牢记一棵树上两个节点如果相邻,它们有一条边会重叠,两个节点延伸出去的所有不同边是两个节点入度之和-1而不是入度之和,那么如果这棵树上有三个节点它们的入度都相同,那么优先选择非相邻的两个节点才能使所有不同边的数量最大!!…...

C++17 新特性解析:Lambda 捕获 this

C17 引入了许多改进和新特性&#xff0c;其中之一是对 lambda 表达式的增强。在这篇文章中&#xff0c;我们将深入探讨 lambda 表达式中的一个特别有用的新特性&#xff1a;通过 *this 捕获当前对象的副本。这个特性不仅提高了代码的安全性&#xff0c;还极大地简化了某些场景下…...

Spring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能

在Spring Boot中使用Micrometer集成Prometheus来监控Java应用性能是一种常见的做法。 一、Micrometer简介 Micrometer是一个开源的Java项目&#xff0c;主要用于为JVM应用程序提供监控和度量功能。以下是对Micrometer的详细介绍&#xff1a; 定义与功能 Micrometer是一个针…...

Spring Boot 事件驱动:构建灵活可扩展的应用

在 Spring Boot 应用中&#xff0c;事件发布和监听机制是一种强大的工具&#xff0c;它允许不同的组件之间以松耦合的方式进行通信。这种机制不仅可以提高代码的可维护性和可扩展性&#xff0c;还能帮助我们构建更加灵活、响应式的应用。本文将深入探讨 Spring Boot 的事件发布…...

IM系统设计

读多写少&#xff0c;一般采用写扩散成timeline来做 写扩散模式 利用last message id作为这个作为最后一个消息体 timeline和批量未读和ack 利用ZSET来维护连接的定时心跳&#xff0c;来续约运营商的连接不断开...

华为EC6110T-海思Hi3798MV310_安卓9.0_通刷-强刷固件包

华为EC6110T-海思Hi3798MV310_安卓9.0_通刷-强刷固件包 刷机教程说明&#xff1a; 适用机型&#xff1a;华为EC6110-T、华为EC6110-U、华为EC6110-M 破解总分为两个部分&#xff1a;拆机短接破解&#xff08;保留IPTV&#xff09;和OTT卡刷&#xff08;不保留IPTV&#xff09…...

ASP.NET Blazor托管模型有哪些?

今天我们来说说Blazor的三种部署方式&#xff0c;如果大家还不了解Blazor&#xff0c;那么我先简单介绍下Blazor Blazor 是一种 .NET 前端 Web 框架&#xff0c;在单个编程模型中同时支持服务器端呈现和客户端交互性&#xff1a; ● 使用 C# 创建丰富的交互式 UI。 ● 共享使用…...

PyTorch广告点击率预测(CTR)利用深度学习提升广告效果

目录 广告点击率预测问题数据集结构广告点击率预测模型的构建1. 数据集准备2. 构建数据加载器3. 构建深度学习模型4. 训练与评估 总结 广告点击率预测&#xff08;CTR&#xff0c;Click-Through Rate Prediction&#xff09;是在线广告领域中的重要任务&#xff0c;它帮助广告平…...

PAT甲级-1017 Queueing at Bank

题目 题目大意 银行有k个窗口&#xff0c;每个窗口只能服务1个人。如果3个窗口已满&#xff0c;就需要等待。给出n个人到达银行的时间和服务时间&#xff0c;要求计算每个人的平均等待时间。如果某个人的到达时间超过17:00:00&#xff0c;则不被服务&#xff0c;等待时间也不计…...

OneData体系架构详解

阿里巴巴的 OneData 体系架构方法论&#xff0c;主要分为三个阶段&#xff1a;业务板块、规范定义 和 模型设计。每个阶段的核心目标是确保数据的高效管理、共享与分析能力。 一. 业务板块&#xff08;Business Segment&#xff09; 业务板块是OneData体系架构中的第一步&…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

【JVM】- 内存结构

引言 JVM&#xff1a;Java Virtual Machine 定义&#xff1a;Java虚拟机&#xff0c;Java二进制字节码的运行环境好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收的功能数组下标越界检查&#xff08;会抛异常&#xff0c;不会覆盖到其他代码…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...