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

news/2024/7/21 12:35:36 标签: vim, 编辑器, linux, bash

文章目录

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

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

练习一

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

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

bash">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 文件,若卡住则可回顾讲解文档中的宏。


http://www.niftyadmin.cn/n/5374702.html

相关文章

LeetCode79. Word Search——回溯

文章目录 一、题目二、题解 一、题目 Given an m x n grid of characters board and a string word, return true if word exists in the grid. The word can be constructed from letters of sequentially adjacent cells, where adjacent cells are horizontally or vertic…

django实现外键

一&#xff1a;介绍 在Django中&#xff0c;外键是通过在模型字段中使用ForeignKey来实现的。ForeignKey字段用于表示一个模型与另一个模型之间的多对一关系。这通常用于关联主键字段&#xff0c;以便在一个模型中引用另一个模型的相关记录。 下面是一个简单的例子&#xff0…

Servlet验证技术

验证技术 验证是验证用户信息并确定该用户是否有权访问服务器资源的过程。用于验证用户信息的各种验证技术包括: 基本验证基于表单的验证摘要验证客户机整数验证1. 基本验证 网站可能包含两种类型的网站,即受保护和不受保护网页。默认情况下,所有用户都可以访问不受保护或者…

pytorch张量和numpy数组相互转换

pytorch张量和numpy数组相互转换 &#x1f335;文章目录&#x1f335; &#x1f333;引言&#x1f333;&#x1f333;将numpy数组转换为Pytorch张量&#x1f333;1. 功能介绍2. 用法 &#x1f333;将Pytorch张量转换为numpy数组&#x1f333;1. 功能介绍2. 用法 &#x1f333;P…

【ES】--Elasticsearch的分词器深度研究

目录 一、问题描述及分析二、analyze分析器原理三、 multi-fields字段支持多场景搜索(如同时简繁体、拼音等)1、ts_match_analyzer配置分词2、ts_match_all_analyzer配置分词3、ts_match_1_analyzer配置分词4、ts_match_2_analyzer配置分词5、ts_match_3_analyzer配置分词6、ts…

网络协议与攻击模拟_17HTTPS 协议

HTTPShttpssl/tls 1、加密算法 2、PKI&#xff08;公钥基础设施&#xff09; 3、证书 4、部署HTTPS服务器 部署CA证书服务器 5、分析HTTPS流量 分析TLS的交互过程 一、HTTPS协议 在http的通道上增加了安全性&#xff0c;传输过程通过加密和身份认证来确保传输安全性 1、TLS …

C#,卢卡斯数(Lucas Number)的算法与源代码

1 卢卡斯数&#xff08;Lucas Number&#xff09; 卢卡斯数&#xff08;Lucas Number&#xff09;是一个以数学家爱德华卢卡斯&#xff08;Edward Lucas&#xff09;命名的整数序列。爱德华卢卡斯既研究了这个数列&#xff0c;也研究了有密切关系的斐波那契数&#xff08;两个…

python 爬虫篇(3)---->Beautiful Soup 网页解析库的使用(包含实例代码)

Beautiful Soup 网页解析库的使用 文章目录 Beautiful Soup 网页解析库的使用前言一、安装Beautiful Soup 和 lxml二、Beautiful Soup基本使用方法标签选择器1 .string --获取文本内容2 .name --获取标签本身名称3 .attrs[] --通过属性拿属性的值标准选择器find_all( name , at…