wenyongda f1f3aac13b docs: 更新多个技术文档内容
更新Nginx安装指南,添加源码编译和AlmaLinux安装方法
补充Linux系统监控文档,增加网络和PCI/USB设备信息
新增WSL2安装配置文档
完善Vim编辑器文档,增加安装和基础命令
扩展Linux软件安装文档,添加MySQL、Redis、Node.js等安装指南
2026-04-17 10:42:41 +08:00

9.0 KiB
Raw Permalink Blame History

title, date, tags, categories
title date tags categories
Vim 2023-09-21 15:00:20
Vim
编辑器
Linux
开发工具
开发工具
Vim

Vim 编辑器

简介

Vim 是 Linux 系统中常用的文本编辑器,是 vi 的增强版本。它具有强大的编辑功能和可扩展性。

特点:语法高亮、多级撤销/重做、插件系统

安装 Vim

CentOS/RHEL/AlmaLinux

yum install -y vim

Ubuntu/Debian

sudo apt install vim

Arch Linux

sudo pacman -S vim

vi 基础命令

vi 是 Vim 的前身,以下是 vi 的基本操作命令:

进入编辑模式

按键 功能
i 在光标前插入
I 在光标当前行的行头插入
a 在光标后插入
A 在光标当前行的行尾插入
o 在当前行的下方插入一个新行
O 在当前行的上方插入一个新行

保存与退出

匉键 功能
:wq 保存并退出
:q 不保存退出
:w 保存
:q! 强制不保存退出
:wq! 强制保存退出
Shift + zz 保存退出(与 :wq 相同)

其他常用命令

按键 功能
:set nu 显示行号
:set nonu 取消显示行号
gg 到文本的第一行
G 到文本的最后一行
u 后退一步(相当于 Ctrl + z
Ctrl + r 前进一步
起始行号,结束行号 del 删除对应范围内的行

💡 提示:更多详细的 Vim 使用方法请参考下面的章节。

Vim 的工作模式

vim 有6种工作模式

  • 普通模式:使用 vim 打开一个文件时默认模式。也叫命令模式,运行用户通过各种命令浏览代码、滚屏等操作。
  • 插入模式也可以叫做编辑模式在普通模式下敲击i、a 或 o 就进入插入模式,允许用户通过键盘输入、编辑。
  • 命令行模式:在普通模式下,先输入冒号:,接着输入命令 ,就可以通过配置命令对 vim 进行配置了,如改变颜色主题、显示行号等,这些配置命令也可以保存到/etc/vim/vimrc配置文件中每次打开默认配置执行
  • 可视化模式:在普通模式下敲击键盘上的 v 键,就进入可视化模式,然后移动光标就可以选中一块文本,常用来完成文本的复制、粘贴、删除等操作
  • 替换模式:如果我们想修改某个字符,不需要先进入插入模式,删除,然后再输入新的字符,直接在普通模式下,敲击R键就可以直接替换
  • EX模式:类似于命令行模式,可以一次运行多个命令 vim 的各种工作模式可以通过不同的键进行切换,用户统一使用ESC键返回到普通模式。

命令模式

用户刚刚启动vim便进入里命令模式 此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。 以下是普通模式常用的几个命令:

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

输入模式

在命令模式下按下i就进入了输入模式,使用Esc键可以返回到普通模式 在输入模式中,可以使用以下按键:

  • 字符按键以及Shifi组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标输入为输入\替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式 底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。 在底线命令模式中,基本的命令有(已经省略了冒号):

  • :w 保存文件
  • :q 退出 Vim 编辑器
  • :wq 保存文件并退出 Vim 编辑器
  • :q! 强制退出 Vim 编辑器,不保存修改
  • :set nu 开启行号
  • :set nonu 关闭行号 按ESC键可随时退出底线命令模式 简单的说,我们可以将这三个模式想成底下的图标来表示: img

Vim 的按键说明

第一部分:命令模式可用的光标移动、复制粘贴、搜索替换等

移动光标的方法
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键,亦即加上想要进行的次数(数字)后,按下动作即可!
Ctrl + f 屏幕『向下』移动一页,相当于 Page Down 按键 (常用)
Ctrl + b 屏幕『向上』移动一页,相当于 Page Up 按键 (常用)
Ctrl + d 屏幕『向下』移动半页
Ctrl + u 屏幕『向上』移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n『空格』 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20『空格』 则光标会向后面移动 20 个字符距离。
0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键[End] 移动到这一行的最后面字符处(常用)
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个档案的最后一行(常用)
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
gg 移动到这个档案的第一行,相当于 1G 啉! (常用)
n『 Enter 』 n 为数字。光标向下移动 n 行(常用)
搜索替换
# Vim配置文件 ## 当前用户配置文件(~/.vimrc) 若在当前用户目录下没有`.vimrc`,则手动新建即可 ```bash vim ~/.vimrc ``` 其中可添加如命令模式中的命令,比如`set nu`之后再打开vim则默认开启行号 ``` set nu ``` `:wq`保存退出后,需使用`source ~/.vimrc`使改动生效