【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 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5474.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言——文件操作

目录 前言 一什么是文件 1程序文件 2数据文件 3文件名 二文件的打开与关闭 1文件指针 2fopen 3fclose 三文件的读与写 1文件的顺序读写 1.1fputc fgetc 1.2fputs fgets 1.3fprintf fscanf 1.4fwrite fread 1.5文本文件和二进制文件 2文件的任意读写 1fseek …

亚博microros小车-原生ubuntu支持系列:1 键盘控制

背景&#xff1a;电脑配置不太行&#xff0c;我在ubuntu再运行vmware&#xff0c;里面运行亚博官方的虚拟机镜像ubuntu&#xff0c;系统很卡。基本上8G内存给打满了。还是想把亚博官方的代码迁移出来&#xff0c;之前售后就说除了官方镜像虚拟机&#xff0c;需要自己摸索迁移。…

基于Redis实现短信验证码登录

目录 1 基于Session实现短信验证码登录 2 配置登录拦截器 3 配置完拦截器还需将自定义拦截器添加到SpringMVC的拦截器列表中 才能生效 4 Session集群共享问题 5 基于Redis实现短信验证码登录 6 Hash 结构与 String 结构类型的比较 7 Redis替代Session需要考虑的问题 8 …

Golang Gin系列-4:Gin Framework入门教程

在本章中&#xff0c;我们将深入研究Gin&#xff0c;一个强大的Go语言web框架。我们将揭示制作一个简单的Gin应用程序的过程&#xff0c;揭示处理路由和请求的复杂性。此外&#xff0c;我们将探索基本中间件的实现&#xff0c;揭示精确定义路由和路由参数的技术。此外&#xff…

Asp.Net Core 8.0 使用 Serilog 按日志级别写入日志文件的两种方式

1、所需的Nuget包 本文项目的版本是.NET 8.0&#xff0c;如果使用其它版本安装适配版本即可。 Serilog.AspNetCore(8.0.2) Serilog.Sinks.File(5.0.0) Serilog.Expressions(5.0.0) 2、两种配置方式 2.1 代码形式&#xff08;Program.cs&#xff09; 在Program.cs文件中&am…

STM32+W5500+以太网应用开发+003_TCP服务器添加OLED(u8g2)显示状态

STM32W5500以太网应用开发003_TCP服务器添加OLED&#xff08;u8g2&#xff09;显示状态 实验效果3-TCP服务器OLED1 拷贝显示驱动代码1.1 拷贝源代码1.2 将源代码添加到工程1.3 修改代码优化等级1.4 添加头文件路径1.5 修改STM32CubeMX工程 2 修改源代码2.1 添加头文件2.2 main函…

【深度学习项目】语义分割-DeepLab网络(DeepLabV3介绍、基于Pytorch实现DeepLabV3网络)

文章目录 介绍深度学习语义分割的关键特点主要架构和技术数据集和评价指标总结 DeepLabDeepLab 的核心技术DeepLab 的发展历史DeepLab V3网络结构获取多尺度信息架构Cascade ModelASPP ModelMulti-GridPytorch官方实现的DeepLab V3该项目主要是来自pytorch官方torchvision模块中…

Golang Gin系列-5:数据模型和数据库

在这篇Gin教程的博客中&#xff0c;我们将探索如何将模型和数据库与Gin框架无缝集成&#xff0c;使你能够构建健壮且可扩展的web应用程序。通过利用流行的库并遵循最佳实践&#xff0c;你将学习如何定义模型、建立数据库连接、执行CRUD操作以及确保基于gin的项目中的数据完整性…

高并发内存池_各层级的框架设计及ThreadCache(线程缓存)申请内存设计

一、高并发内存池框架设计 高并发池框架设计&#xff0c;特别是针对内存池的设计&#xff0c;需要充分考虑多线程环境下&#xff1a; 性能问题锁竞争问题内存碎片问题 高并发内存池的整体框架设计旨在提高内存的申请和释放效率&#xff0c;减少锁竞争和内存碎片。 高并发内存…

如何在idea中搭建SpringBoot项目

如何在idea中快速搭建SpringBoot项目 目录 如何在idea中快速搭建SpringBoot项目前言一、环境准备&#xff1a;搭建前的精心布局 1.下载jdk &#xff08;1&#xff09;安装JDK&#xff1a;&#xff08;2&#xff09;运行安装程序&#xff1a;&#xff08;3&#xff09;设置安装…

elementUI Table组件实现表头吸顶效果

需求描述 当 table 内容过多的时候&#xff0c;页面上滑滚动&#xff0c;表头的信息也会随着被遮挡&#xff0c;无法将表头信息和表格内容对应起来&#xff0c;需要进行表头吸顶 开始编码&#x1f4aa; 环境&#xff1a;vue2.6、element UI step1&#xff1a; 给el-table__h…

[Qt]系统相关-多线程、线程安全问题以及线程的同步机制

目录 一、Qt多线程编程 1.介绍 2.多线程的操作 线程的创建 QThread的常用API 使用案例 3.Qt线程的使用场景 二、线程安全问题 1.互斥锁 介绍 使用案例 2.读写锁 三、线程的同步 1.条件变量 2.信号量 一、Qt多线程编程 1.介绍 Qt中的多线程的底层原理和注意事项…

Linux Bash 中使用重定向运算符的 5 种方法

注&#xff1a;机翻&#xff0c;未校。 Five ways to use redirect operators in Bash Posted: January 22, 2021 | by Damon Garn Redirect operators are a basic but essential part of working at the Bash command line. See how to safely redirect input and output t…

【Linux】环境变量

&#x1f525;个人主页&#x1f525;&#xff1a;孤寂大仙V &#x1f308;收录专栏&#x1f308;&#xff1a;Linux &#x1f339;往期回顾&#x1f339;&#xff1a;【Linux】进程优先级与进程切换 &#x1f516;流水不争&#xff0c;争的是滔滔不 一、环境变量的定义二、命令…

Spring MVC:设置响应

目录 引言 1. 返回静态页面 1.1 Spring 默认扫描路径 1.2 RestController 1.2.1 Controller > 返回页面 1.2.2 ResponseBody 2. 返回 HTML 2.1 RequestMapping 2.1.1 produces(修改响应的 Content-Type) 2.1.2 其他属性 3. 返回 JSON 4. 设置状态码 4.1 HttpSer…

开篇:吴恩达《机器学习》课程及免费旁听方法

课程地址&#xff1a; Machine Learning | Coursera 共包含三个子课程 Supervised Machine Learning: Regression and Classification | Coursera Advanced Learning Algorithms | Coursera Unsupervised Learning, Recommenders, Reinforcement Learning | Coursera 免费…

【C++】模板(进阶)

本篇我们来介绍更多关于C模板的知识。模板初阶移步至&#xff1a;【C】模板&#xff08;初阶&#xff09; 1.非类型模板参数 1.1 非类型模板参数介绍 模板参数可以是类型形参&#xff0c;也可以是非类型形参。类型形参就是我们目前接触到的一些模板参数。 //类型模板参数 …

快手SDK接入错误处理经验总结(WebGL方案)

1、打包时提示Assets\WebGLTemplates\ks路径下未找到Index.html文件错误 处理方法&#xff1a;直接使用Unity默认模板下的Index.html文件即可 文件所在路径&#xff1a;Unity安装路径\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\WebGLTemplates\Default 参考图&a…

用edge浏览器追剧音量太小?安装音量增强器可解忧

0 源起 春节佳节将至&#xff0c;可以利用这个难得的假期追一追想看而没空看的剧了。 但是在用Edge浏览器播放网页中的视频时&#xff0c;有时音量太小&#xff0c;根本没法听清楚&#xff0c; 遇到这种情况时&#xff0c;尽管Edge浏览器本身没有提供音量控制功能&#xff0…

Alluxio 联手 Solidigm 推出针对 AI 工作负载的高级缓存解决方案

作者&#xff1a;Wayne Gao, Yi Wang, Jie Chen, Sarika Mehta Alluxio 作为全球领先的 AI 缓存解决方案供应商&#xff0c; 提供针对 GPU 驱动 AI 负载的高速缓存。其可扩展架构支持数万个节点&#xff0c;能显著降低存储带宽的消耗。Alluxio 在解决 AI 存储挑战方面的前沿技…