Vim 编辑器快速上手指南(六)

Vim 是一款功能强大的文本编辑器,广泛应用于 Linux 和类 Unix 系统中。它不仅支持基本的文本编辑功能,还具备丰富的编程特性,如语法高亮、代码补全等。本文将详细介绍 Vim 的基本概念、使用方法、常见命令及其应用场景,帮助你快速上手并高效使用 Vim。

什么是 Vim?

Vim(Vi Improved)是从 Vi 发展而来的一款增强型文本编辑器。相比传统的 Vi,Vim 增加了许多现代编辑器的特性,如语法高亮、代码补全、多窗口编辑等。Vim 的官方网站(https://www.vim.org/)明确指出,Vim 更适合程序开发,而不仅仅是一款简单的文本编辑器。

Vim 的三大模式

Vim 主要分为三种模式:命令模式插入模式命令行模式。每种模式都有其特定的功能和用途。

1. 命令模式(Command Mode)

当你启动 Vim 时,默认进入的是命令模式。在这个模式下,键盘输入被视为命令,而不是文本输入。例如,按下 i 键会切换到插入模式,按下 x 键会删除当前光标所在处的字符。

常见的命令模式操作包括:

  • i:切换到插入模式,在光标当前位置开始输入文本。
  • x:删除当前光标所在处的字符。
  • ::切换到底线命令模式,以在最底一行输入命令。
  • a:进入插入模式,在光标下一个位置开始输入文本。
  • o:在当前行的下方插入一个新行,并进入插入模式。
  • O:在当前行的上方插入一个新行,并进入插入模式。
  • dd:剪切当前行。
  • yy:复制当前行。
  • p(小写):粘贴剪贴板内容到光标下方。
  • P(大写):粘贴剪贴板内容到光标上方。
  • u:撤销上一次操作。
  • Ctrl + r:重做上一次撤销的操作。
  • :w:保存文件。
  • :q:退出 Vim 编辑器。
  • :q!:强制退出 Vim 编辑器,不保存修改。

2. 插入模式(Insert Mode)

在命令模式下按下 i、a、o 等键可以切换到插入模式。在这个模式下,你可以像在普通的文本编辑器中一样输入文本。使用 Esc 键可以返回到命令模式。

插入模式中常用的按键包括:

  • 字符按键及 Shift 组合:输入字符。
  • Enter:回车键,换行。
  • Backspace:退格键,删除光标前一个字符。
  • Del:删除键,删除光标后一个字符。
  • 方向键:在文本中移动光标。
  • Home / End:移动光标到行首/行尾。
  • Page Up / Page Down:上/下翻页。
  • Insert:切换光标为输入/替换模式,光标将变成竖线/下划线。
  • Esc:退出插入模式,切换到命令模式。

3. 命令行模式(Command-Line Mode)

在命令模式下按下 : 键可以切换到命令行模式。在这个模式下,可以在最底一行输入更多的命令,如保存文件、退出编辑器等。

常见的命令行模式操作包括:

  • :w:保存文件。
  • :q:退出 Vim 编辑器。
  • :wq:保存文件并退出 Vim 编辑器。
  • :q!:强制退出 Vim 编辑器,不保存修改。
  • :w [filename]:将编辑的数据存储为另一个文件。
  • :r [filename]:在编辑的数据中读入另一个文件的内容。
  • :n1,n2 w [filename]:将 n1 到 n2 的内容存储为 filename 这个文件。
  • :! command:暂时离开 Vim 到命令行模式下执行命令。

Vim 使用实例

创建并编辑文件

假设你需要创建一个名为 runoob.txt 的文件,可以使用以下命令启动 Vim:

$ vim runoob.txt

启动后,你会进入命令模式。要开始编辑文本,按下 i 键切换到插入模式。编辑完成后,按下 Esc 键返回命令模式,然后输入 :wq 保存并退出。

光标移动和文本操作

Vim 提供了丰富的光标移动和文本操作命令,以下是一些常用的命令:

命令功能
h / 左箭头光标向左移动一个字符
j / 下箭头光标向下移动一个字符
k / 上箭头光标向上移动一个字符
l / 右箭头光标向右移动一个字符
0 / Home移动到行首
$ / End移动到行尾
G移动到文件末尾
nG移动到文件的第 n 行
gg移动到文件开头
n<Enter>光标向下移动 n 行
:n1,n2s/word1/word2/g在第 n1 到 n2 行之间将 word1 替换为 word2
:1,$s/word1/word2/g从第一行到最后一行将 word1 替换为 word2
:1,$s/word1/word2/gc从第一行到最后一行将 word1 替换为 word2,并提示确认
x / X删除光标所在处的字符(x 向后,X 向前)
dd剪切当前行
nyy复制当前行向下 n 行
p / P粘贴剪贴板内容到光标下方/上方
u撤销上一次操作
Ctrl + r重做上一次撤销的操作
.重复前一个操作

切换模式

在命令模式下,可以通过以下按键切换到不同的模式:

按键功能
i切换到插入模式,在光标当前位置开始输入文本
a切换到插入模式,在光标下一个位置开始输入文本
o切换到插入模式,在当前行下方插入新行
O切换到插入模式,在当前行上方插入新行
r替换光标所在处的字符
R进入替换模式,连续替换光标所在处的字符
Esc退出插入模式或替换模式,返回命令模式

Yum 常用命令

Yum(Yellow dog Updater, Modified)是 Fedora、Red Hat 和 SUSE 等 Linux 发行版中的一个包管理器。它基于 RPM 包管理系统,能够自动处理依赖关系并一次性安装所有依赖的软件包。

Yum 语法

yum [options] [command] [package ...]
  • options:可选参数,如 -h(帮助)、-y(自动确认所有提示)、-q(静默模式)等。

  • command:要执行的操作。

  • package:要操作的软件包名称。

常用命令

  • 列出所有可更新的软件包

    yum check-update
  • 更新所有软件包

    yum update
  • 安装指定的软件包

    yum install 
    <package_name>
  • 更新指定的软件包

    yum update 
    <package_name>
  • 列出所有可安装的软件包

    yum list
  • 删除软件包

    yum remove 
    <package_name>
  • 查找软件包

    yum search 
    <keyword>
  • 清除缓存

    yum clean packages  # 清除缓存目录下的软件包
    yum clean headers   # 清除缓存目录下的 headers
    yum clean oldheaders # 清除缓存目录下旧的 headers
    yum clean all       # 清除缓存目录下的所有内容

实例:安装 pam-devel

[root@www ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies  <== 先检查软件的依赖关系
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists

...

总结

通过本文,你已经了解了 Vim 的基本概念、使用方法和常见命令,以及 Yum 的基本用法。Vim 是一个功能强大的文本编辑器,适用于各种编程和文本编辑任务。Yum 则是一个高效的包管理器,可以帮助你轻松管理和维护系统中的软件包。希望这些知识能帮助你在 Linux 环境下更加高效地工作。