【Missing Semester】03 编辑器 (Vim)
本文为计算机教育中缺失的一课 The Missing Semester of Your CS Education 笔记
编辑模式
- 正常模式:在文件中四处移动光标进行修改。
- 插入模式:插入文本。
- 替换模式:替换文本。
- 可视化模式:选中文本块。
- 命令模式:用于执行命令。
基本操作
插入文本:
- 打开 vim 后是正常模式,键入
i进入插入模式。 - 此时可以使用除
<ESC>外所有键。 - 键入
<ESC>返回正常模式。
命令行:
:q:退出(quit)。:w:保存(write)。:wq:保存然后退出。:e {文件名}:打开要编辑的文件。:ls:显示打开的缓存。:help {标题}:打开帮助文档::help :w打开:w命令的帮助文档。:help w打开w移动的帮助文档。
更多操作
移动:
- 基本移动:左
h、下j、上k、右l。 - 词:下一个词
w、词初b、词尾e。 - 行:行初
0、第一个非空格字符^、行尾$。 - 屏幕:屏幕首行
H,屏幕中间M,屏幕底部L。 - 翻页:上移半页
Ctrl-u、下移半页Ctrl-d。 - 文件: 文件头
gg,文件尾G。 - 行数:
:{行数}<CR>或者{行数}G。 - 杂项:找到配对(比如括号或者 /* */ 之类的注释对)
%。 - 搜索:
- 向光标之下寻找一个字符串
/{正则表达式}。 - 向光标之上寻找一个字符串
?{正则表达式}。 - 重复前一搜索
n。 - 反向(向上变为向下)进行前一个搜寻动作
N。
- 向光标之下寻找一个字符串
选择(可视化模式):
- 可视化:
v。 - 可视化行:
V。 - 可视化块:
Ctrl+v。
编辑:
- 插入:
- 从目前光标所在处输入
i。 - 在之上插入行
O、在之下插入行o。 - 从目前光标所在的下一个字符处开始输入
a。 - 从光标所在行的最后一个字符处开始输入
A。
- 从目前光标所在处输入
- 剪切:
d{移动命令}。如,剪切词dw、剪切本行光标前部分d0、剪切本行光标后部分d$,剪切游标所在的一整行dd。- 剪切字符:
x等价于dl,X等价于dg。
- 修改:
c{移动命令},等价于d{移动命令}i。如,改变词cw。 - 撤销:
u。 - 重复:重复前一个动作
.。 - 复制:
y。 - 粘贴:在之上插入行
P、在之下插入行p。
修饰语:
- 改变当前括号内的内容:
ci(。 - 改变当前方括号内的内容:
ci[。 - 删除一个单引号字符串, 包括周围的单引号:
da'。
Vim 进阶:咕咕咕~
Macvim
安装:终端输入 brew install macvim。
配置:Vim 由一个位于 ~/.vimrc 的文本配置文件。在终端中使用 open ~/.vimrc 或 mvim ~/.vimrc 来编辑。
set nocompatible:非兼容模式,最最基础的选项,必需是第一个设定的选项。syntax on:代码高亮。set shortmess+=I:禁用默认的 Vim 启动消息。set number:显式行号。set relativenumber:显式相对行号。set laststatus=2:总是显示窗口的编辑模式。set backspace=indent,eol,start:backspace 键能删除自动缩进的空格、在一行删除完后合并到上一行、可以删除此次进入插入模式前的输入。set hidden:防止忘记保存。set ignorecase:搜索命令不区分大小写。set smartcase:在set ignorecase情况下使用,如果搜索模式中出现了大写字符,smartcase会判断用户想使用区分大小写的搜索。set insearch:在输入时启用搜索,而不是等到按回车键。set noerrorbells visualbell t_vb=:禁用出错时的响铃。set mouse+=a:鼠标有效。set cursorline:高亮光标所在行。set autoindent:保持上一行的缩进。set shiftwidth=4:设置缩进单位。set tabstop=4:一个 tab 等于 4 个空格。set showmatch:显式括号匹配。colorscheme desert:选择颜色方案。set enc=utf-8:设置字符编码方式。set lines=48 columns=96:设置打开时的窗口大小。set guifont=Monaco:h12:设置字体和字号。
插件:
- 待补充

浙公网安备 33010602011771号