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

文章目录

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

练习一

自行完成 vimtutor 。vimtutor 是 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 文件,若卡住则可回顾讲解文档中的宏。

相关推荐
Apipi*2 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP3 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
广州浮点FLOATLIC6 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
BLUcoding6 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK6 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2086 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)6 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障
mounter6256 小时前
从硬件互连到操作系统变革:CXL 技术演进与 Linux 内核工程挑战
linux·运维·服务器
xh didida8 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++
zly35009 小时前
centos7 mount设备挂载 /dev/sda1/硬盘挂载
linux·运维·服务器