MIT-Missing Semester_Topic 3:Editors (Vim) 练习题

文章目录

      • 练习一
      • 练习二
      • 练习三
      • 练习四
      • 练习五
      • 练习六
      • 练习七
      • 练习八

本 Topic 的 MIT 讲解网页(练习题未给解答)

练习一

自行完成 vimtutorvimtutor 是 Vim 本身附带的一个入门教程,在 shell 中直接输入 vimtutor 便能运行。注意该教程在 80×24 大小的窗口下使用最佳。

在我的 bash(WSL终端)中运行 vimtutor

cowbby@LAPTOP-UD6DKAMF:~$ vimtutor

会自动以 Vim 编辑器打开该教程,如下。注意肉眼可见似乎窗口大小不是最适合。

请添加图片描述

若想调节窗口大小至最佳,可以:右键 -> 属性 -> 布局 -> 调整 “窗口大小” 下的宽度与高度。

在 Windows 下,只要(开始键)搜索 ‘vimtutor’ 便能找到打开。

请添加图片描述

该教程简明扼要、设计精巧、讲练结合,共 7 个 Lesson,每个 Lesson 下若干小节,且最后有 Lesson 的 Summary,值得一看。

不过感觉不适合直接靠阅读这个来入门,还是先收看专业的讲解,通过 vimtutor 来回顾和初步练手这样更好。

练习二

下载老师高度推荐的基础 Vim 配置文件,存入配置文件 ~/.vimrc 中,并自行在 Vim 中通读其内容,并观察该配置给 Vim 编辑器外观及表现的细微变化。

按照要求做即可。下面汇总一下里面的主要内容。文件中有详细注释,可下载自行阅读。

set nocompatible
syntax on
set shortmess+=I
set number
set relativenumber
set laststatus=2
set backspace=indent,eol,start
set hidden
set ignorecase
set smartcase
nmap Q <Nop> 
set noerrorbells visualbell t_vb=
set mouse+=a

练习三

安装并配置 Vim 插件 CtrlP

  1. 创建插件目录:mkdir -p ~/.vim/pack/vendor/start
  2. 下载插件:cd ~/.vim/pack/vendor/start; git clone https://github.com/ctrlpvim/ctrlp.vim
  3. 阅读该插件的文档,尝试使用 CtrlP 来定位文件,打开 Vim 在其命令行中输入 :CtrlP
  4. ~/.vimrc 中增加配置以实现按 Ctrl-P 来打开 CtrlP

上面第 3 步效果如下:

请添加图片描述

再点击目标文件/上下键选中后回车便能打开。

第 4 个小任务待学习后完成……

练习四

自行用 Vim 更正 lecture 上演示的 demo,从而初步练习 Vim。

lecture 中老师有演示,并且可以讲解文档中有总结修改点。

练习五

使用 Vim 编辑器进行一个月内的所有的编辑工作。

Whenever something seems inefficient, or when you think “there must be a better way”, try Googling it, there probably is.

练习六

参考文档中的提示,在其它常用工具中配置 Vim 的功能。

值得一提的是,VSCode 中有模拟 Vim 的插件 Vim

请添加图片描述

练习七

进一步自定义 ~/.vimrc 以及安装更多插件。

练习八

(进阶)用 Vim 的宏将 XML 文件(示例文件)转换成 JSON 文件,若卡住则可回顾讲解文档中的宏。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录day20--二叉树的应用8

LeetCode669.修剪二叉搜索树 题目描述&#xff1a; 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff0c;如果没…

vector容器

1. vector基本概念 1.1 功能&#xff1a; vector数据结构和数组非常相似&#xff0c;也称为单端数组 vector与普通数组区别&#xff1a; 不同之处在于数组是静态空间&#xff0c;而vector可以动态扩展 动态扩展&#xff1a; 并不是在原空间之后续接新空间&#xff0c;而是找更…

【蓝桥杯Python】试题 算法训练 比较

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 给出一个n长的数列&#xff0c;再进行m次询问&#xff0c;每次询问询问两个区间[L1,R1]&#xff0c;[L2,R2]&#xff0c;   …

C语言特殊指针

1 char型指针 char型指针实质上跟别的类型的指针并无本质区别&#xff0c;但由于C语言中的字符串以字符数组的方式存储&#xff0c;而数组在大多数场合又会表现为指针&#xff0c;因此字符串在绝大多数场合就表现为char型指针。 定义&#xff1a; char *p "abcd"…

爬爬爬——今天是浏览器窗口切换和给所选人打钩(自动化)

学习爬虫路还很长&#xff0c;第一阶段花了好多天了&#xff0c;还在底层&#xff0c;虽然不是我专业要学习的语言&#xff0c;和必备的知识&#xff0c;但是我感觉还挺有意思的。加油&#xff0c;这两天把建模和ai也不学了&#xff0c;唉过年了懒了&#xff01; 加油坚持就是…

ChatGPT高效提问—prompt实践(绘画、Logo设计)

ChatGPT高效提问—prompt实践&#xff08;绘画、logo设计&#xff09; 1.1 绘画工具 ​ Midjourney是一款由Midjourney研究实验室研发的人工智能程序&#xff0c;可根据文本生成图像。你可以通过浏览器在聊天应用程序Discord中向Midjourney机器人发送消息来使用它。不需要安装…

前端 > JS 笔试题面试考题(21-25)

简述请看下面的代码片段并回答以下问题 &#xff1f; for (var i 0; i< 5; i){var btn document.createElement(button);btn.appendChild(document.createTextNode(Button i));btn.addEventListener(click, function(){ console.log(${i} );});document.body.appendChild…

网络专栏目录

大家好我是苏麟 , 这是网络专栏目录 . 图解网络 资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) 图解网络目录 基础篇 基础篇 TCP/IP网络模型有几层? : TCP/IP网络模型 键入网址到页面显示,期间发生了什么? : 键入网址到页面显示,期间发生了什么 现阶…

2024-02-12 Unity 编辑器开发之编辑器拓展3 —— EditorGUI

文章目录 1 GUILayout2 EditorGUI 介绍3 文本、层级、标签、颜色拾取3.1 LabelField3.2 LayerField3.3 TagField3.4 ColorField3.5 代码示例 4 枚举选择、整数选择、按下按钮4.1 EnumPopup / EnumFlagsField4.2 IntPopup4.3 DropdownButton4.4 代码示例 5 对象关联、各类型输入…

【Docker】Docker Container(容器)

文章目录 一、什么是容器&#xff1f;二、为什么需要容器&#xff1f;三、容器的生命周期容器OOM容器异常退出容器暂停 四、容器命令详解docker createdocker logsdocker attachdocker execdocker startdocker stopdocker restartdocker killdocker topdocker statsdocker cont…

「数据结构」哈希表1:基本概念

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;Java数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 基本概念 &#x1f349;哈希表&#x1f349;哈希冲突&#x1f34c;负载因子调节&#x1f34c;解决哈希冲突&#x1f95d;1. 闭散…

HCIA-HarmonyOS设备开发认证V2.0-3.2.轻量系统内核基础-中断管理

目录 一、中断基础概念二、中断管理使用说明三、中断管理模块接口四、代码分析&#xff08;待续...&#xff09; 一、中断基础概念 在程序运行过程中&#xff0c;出现需要由 CPU 立即处理的事务时&#xff0c;CPU 暂时中止当前程序的执行转而处理这个事务&#xff0c;这个过程…

【ES】--Elasticsearch的分词器详解

目录 一、前言二、分词器原理1、常用分词器2、ik分词器模式3、指定索引的某个字段进行分词测试3.1、采用ts_match_analyzer进行分词3.2、采用standard_analyzer进行分词三、如何调整分词器1、已存在的索引调整分词器2、特别的词语不能被拆开一、前言 最近项目需求,针对客户提…

机器学习9-随机森林

随机森林&#xff08;Random Forest&#xff09;是一种集成学习方法&#xff0c;用于改善单一决策树的性能&#xff0c;通过在数据集上构建多个决策树并组合它们的预测结果。它属于一种被称为“集成学习”或“集成学习器”的机器学习范畴。 以下是随机森林的主要特点和原理&…

一个下载底图的网站(支持Google、必应、esri、天地图、星图地球、maptile等)

简介 hello&#xff0c;我是锐多宝&#xff0c;今天介绍一个免费的、无需登录、可自定义的底图数据下载网站。 网址为&#xff1a;https://layerdownload.ruiduobao.com/。相关信息可以看下面的视频&#xff1a; 多种遥感底图下载方法&#xff08;Google遥感底图、必应遥感底…

【电路笔记】-串联电感

串联电感 文章目录 串联电感1、概述2、电感串联示例13、互耦串联电感器4、电感串联示例25、电感串联示例36、总结 当电感器以菊花链方式连接在一起并共享公共电流时&#xff0c;它们可以串联连接在一起。 1、概述 这些电感器的互连产生了更复杂的网络&#xff0c;其总电感是各…

C++联合体详解!

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 大家伙新年快乐&#xff0c;今天我们来了解一下C联合体。 文章目录 1.联合体 1.1联合体的概念 1.2联合体的思想 1.3联合体的作用 1.3.1内存优化 1.3.2二进制数据操作 1.3.3类型转换 1.3.4解决特定问…

黄金交易策略(Nerve Nnife.mql4):趋势做单

完整EA&#xff1a;Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客 当大小趋势相同行情走向也相同&#xff0c;就会开仓做顺势单&#xff0c;并会顺势追单&#xff0c;以达到快速止盈平仓的效果。大趋势追求稳定&#xff0c;小趋势追求敏捷&#xff0c;行情走向比小趋势更敏…

【Java程序设计】【C00260】基于Springboot的企业客户信息反馈平台(有论文)

基于Springboot的企业客户信息反馈平台&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的企业客户信息反馈平台 本系统分为平台功能模块、管理员功能模块以及客户功能模块。 平台功能模块&#xff1a;在平台首页可…