🏝️专栏:计算机操作系统
🌅主页:猫咪-9527-CSDN博客
"欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。"
目录
[一、Vim 的基本概念](#一、Vim 的基本概念)
[1.Vim 的主要模式:](#1.Vim 的主要模式:)
[二、Vim 的基础操作](#二、Vim 的基础操作)
[1. 文件打开与关闭](#1. 文件打开与关闭)
[2. 普通模式操作](#2. 普通模式操作)
[2.1 光标移动](#2.1 光标移动)
[2.2 文本删除](#2.2 文本删除)
[2.3 文本复制与粘贴](#2.3 文本复制与粘贴)
[2.4 撤销与重做](#2.4 撤销与重做)
[2.5 替换](#2.5 替换)
[3. 插入模式操作](#3. 插入模式操作)
[4. 命令模式操作](#4. 命令模式操作)
[4.1 文件操作](#4.1 文件操作)
[4.2 搜索与替换](#4.2 搜索与替换)
[5. 高级操作](#5. 高级操作)
[5.1 多文件编辑](#5.1 多文件编辑)
[5.2 分屏](#5.2 分屏)
一、Vim 的基本概念
Vim 是一种强大的文本编辑器,支持模式化编辑。它主要通过 模式切换 和 快捷键操作 来高效地编辑文本。
1.Vim 的主要模式:
1.1普通模式 (Normal Mode)
操作:默认模式,进入 Vim 时即处于该模式,按 Esc
回到普通模式
作用:用于文件浏览、文本导航、删除、复制粘贴等操作。
1.2插入模式 (Insert Mode)
作用:用于文本输入。
操作:在普通模式下按 i
或 a
进入,按 Esc
退出。
1.3命令模式 (Command Mode)
作用:用于执行保存、退出、搜索、替换等命令。
操作:在普通模式下按 :
进入,命令执行后会返回普通模式。
二、Vim 的基础操作
1. 文件打开与关闭
打开文件:
bash
vim [文件名]
例如:
bash
vim text.c
2. 普通模式操作
普通模式是 Vim 最核心的模式,用于导航、删除、复制粘贴等操作。
2.1 光标移动
2.1.1单字符移动
h
:向左移动一个字符。l
:向右移动一个字符。j
:向下移动一行。k
:向上移动一行。
2.1.2括号匹配跳转
%
:在匹配的括号间跳转(适用于()
、[]
、{}
等结构)。
2.1.3屏幕滚动
Ctrl + d
:向下滚动半屏。Ctrl + u
:向上滚动半屏。Ctrl + f
:向下滚动一屏。Ctrl + b
:向上滚动一屏。:n
:跳到第n
行(如输入:10
跳到第 10 行)。gg
:跳到文件的开头。G
:跳到文件的结尾。
2.1.4行内移动
0
:移动到当前行的行首。^
:移动到行首第一个非空字符。$
:移动到行尾。
2.1.5单词移动
w
:跳到下一个单词的开头。e
:跳到当前单词的结尾,或下一个单词的结尾。b
:跳到前一个单词的开头。
2.2 文本删除
x
:删除当前字符。dd
:删除当前行。dw
:删除从光标位置到单词末尾。d$
:删除从光标位置到行尾。d0
:删除从光标位置到行首。dgg
:删除从光标到文件开头。dG
:删除从光标到文件结尾。
2.3 文本复制与粘贴
yy
:复制当前行。y
:复制选定区域(可与可视模式结合)。yw
:复制从光标到单词末尾。y$
:复制从光标到行尾。p
:粘贴到光标后。P
:粘贴到光标前。
2.4 撤销与重做
u
:撤销上一步操作。Ctrl + r
:重做撤销操作。
2.5 替换
r+单个字母
:用 单个字母 替换当前字符。R
:进入替换模式,覆盖原文字。
3. 插入模式操作
在普通模式下,按以下键进入插入模式:
i
:从光标前进入插入模式。I
:从行首进入插入模式。a
:从光标后进入插入模式。A
:从行尾进入插入模式。o
:在当前行下插入新行并进入插入模式。O
:在当前行上插入新行并进入插入模式。- 退出插入模式:按
Esc
。
4. 命令模式操作
在普通模式下,按 :
进入命令模式,可执行以下命令:
4.1 文件操作
:w
保存文件。:q
退出文件。:wq
保存并退出。:q!
强制退出。:sav new_filename
另存为。
4.2 搜索与替换
4.2.1搜索
/text
:向下搜索text
。?text
:向上搜索text
。n
:跳到下一个匹配项。N
:跳到上一个匹配项。
4.2.2替换
:s/old/new/
:将当前行的第一个old
替换为new
。:s/old/new/g
:将当前行的所有old
替换为new
。:%s/old/new/g
:将整个文件中的old
替换为new
。:%s/old/new/gc
:替换前逐一确认。
5. 高级操作
5.1 多文件编辑
-
打开多个文件:
vim file1 file2 file3
-
文件切换:
-
:n
:下一个文件。 -
:prev
:上一个文件。 -
:ls
:列出已打开的文件。 -
:b n
:切换到编号为 n 的文件。
-
5.2 分屏
-
垂直分屏:
:vsplit filename
。 -
水平分屏:
:split filename
。 -
分屏切换:
-
Ctrl + w + h
:切换到左侧窗口。 -
Ctrl + w + l
:切换到右侧窗口。 -
Ctrl + w + j
:切换到下方窗口。 -
Ctrl + w + k
:切换到上方窗口。
-
三、vim的配置
详细请看:vim的配置
编辑 ~/.vimrc
文件可自定义 Vim。例如:
set number " 显示行号
syntax on " 开启语法高亮
set tabstop=4 " 设置 Tab 宽度为 4
set shiftwidth=4 " 设置自动缩进宽度为 4
set expandtab " 用空格代替 Tab