【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 等价于 dlX 等价于 dg
  • 修改:c{移动命令},等价于 d{移动命令}i。如,改变词cw
  • 撤销:u
  • 重复:重复前一个动作 .
  • 复制:y
  • 粘贴:在之上插入行 P、在之下插入行 p

修饰语:

  • 改变当前括号内的内容: ci(
  • 改变当前方括号内的内容: ci[
  • 删除一个单引号字符串, 包括周围的单引号: da'

Vim 进阶:咕咕咕~


Macvim

安装:终端输入 brew install macvim

配置:Vim 由一个位于 ~/.vimrc 的文本配置文件。在终端中使用 open ~/.vimrcmvim ~/.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:设置字体和字号。

插件:

  • 待补充

参考

posted @ 2022-02-25 12:08  空白4869  阅读(137)  评论(0编辑  收藏  举报