LabHub
学习 学习路径 课程

vim 与 tmux

vim 基础编辑

在 LabHub 中继续学习

目标

熟练掌握 Vim 的基本编辑操作(插入、删除、复制、粘贴),并学习将编辑命令保存为文件以便重现操作的方法。

为什么重要

Vim 按键不是需要死记硬背的列表,而是一种 {횟수}{동작}{범위} 语法。例如把 d(删除)与 3w(3 个单词)组合成 d3w,就能自行构造尚未学过的命令。在 Vim 中,删除就是剪切——删除的内容会留在寄存器里,因此 ddp(与下一行交换位置)这样的惯用操作才得以成立。最后两个步骤要求提交编辑命令本身,是因为仅得到正确结果与能够重现过程,完全是两回事。

步骤

  1. 创建 /root/.vimrc,启用以下四项:显示行号、用空格代替制表符、制表符宽度 4、缩进宽度 4。
  2. 创建 /root/vim/poem.txt,准确写入以下 8 行。第 4 行和第 7 行是空行alpha / bravo / charlie /(空行)/ delta / echo /(空行)/ foxtrot
  3. 创建 /root/vim/notes.txt,写入以下 3 行。 i = insert before cursor / a = append after cursor / o = open line below
  4. poem.txt 中只删除 bravocharlie 两行,将结果保存为 /root/vim/cut.txt保留原文件不变。
  5. poem.txtdelta 正下方再添加一行 delta,将这 9 行保存为 /root/vim/dup.txt
  6. 只交换 poem.txtalphabravo 的顺序,将这 8 行保存为 /root/vim/swap.txt
  7. 将用于删除全部空行的一行 ex 命令保存到 /root/vim/blank.ex,并把应用该命令后的 6 行结果保存到 /root/vim/nogap.txt
  8. 将删除空行并把所有字母改为大写的 ex 命令保存到 /root/vim/build.ex,并把结果保存到 /root/vim/final.txt

提示

创建并检查配置文件

创建 /root/.vimrc,启用以下四项:显示行号、用空格代替制表符、制表符宽度 4、缩进宽度 4。

写入文件与 Vim 实际应用配置是两回事。在 Vim 中像 :set number? 这样加上问号,可以查看当前值。

创建练习文件

创建 /root/vim/poem.txt,准确写入以下 8 行。第 4 行和第 7 行是空行alpha / bravo / charlie /(空行)/ delta / echo /(空行)/ foxtrot

空行也算一行。第 4 行和第 7 行必须为空。

练习进入插入模式

创建 /root/vim/notes.txt,写入以下 3 行。 i = insert before cursor / a = append after cursor / o = open line below

i、a、o 分别从光标前、光标后和下一行开始输入。三行的内容与顺序必须准确。

删除行

poem.txt 中只删除 bravocharlie 两行,将结果保存为 /root/vim/cut.txt保留原文件不变。

dd 删除一行,2dd 删除两行。不要修改原文件,请把结果保存为新文件。

复制行

poem.txtdelta 正下方再添加一行 delta,将这 9 行保存为 /root/vim/dup.txt

用 yy 复制,用 p 粘贴。请回想在 Vim 中删除也是剪切。

交换两行的位置

只交换 poem.txtalphabravo 的顺序,将这 8 行保存为 /root/vim/swap.txt

用 dd 删除后,内容会留在寄存器中。接着想一想应该在哪里按 p。

用命令删除空行

将用于删除全部空行的一行 ex 命令保存到 /root/vim/blank.ex,并把应用该命令后的 6 行结果保存到 /root/vim/nogap.txt

:g/模式/d 会删除与模式匹配的行。表示空行的模式是行首与行尾紧挨在一起的形式。

用一个脚本执行多项编辑

将删除空行并把所有字母改为大写的 ex 命令保存到 /root/vim/build.ex,并把结果保存到 /root/vim/final.txt

把用于转换为大写的指令与表示完整匹配的符号组合起来。按顺序写入两条命令即可。