1.vim基本模式
Vim 有以下三个主要模式,每种模式都有特定的功能和快捷键:
- 正常模式:这是 Vim 的默认模式,打开 Vim 时即处于该模式。在正常模式下,用户可以进行光标移动、文本删除、复制等操作。处于其它模式按 `ESC` 键可随时回到正常模式。
- 插入模式 :插入模式用于文本输入。在正常模式下按 `i` 进入插入模式,此时可以像其它文本编辑器一样输入文本。
- 底行模式 :也叫末行模式,用于执行文件保存、退出、查找和替换等命令。在正常模式下按 :(也就是shift + ;) 进入底行模式,输入相应命令并按 `Enter` 执行。
除此之外还有可视模式、替换模式、选择模式等辅助模式。
2.vim基本操作
了解了 Vim 的模式后,让我们进入基本操作部分,包括打开文件、保存、退出、切换模式等日常编辑操作。
- 打开文件:vim 文件名。例如 vim myfile.txt。
- 保存文件:在底行模式下输入 `:w` 并按 `Enter`。
- 退出编辑:在底行模式下输入 :q ,如果有未保存更改,则可以使用 `:q!` 强制退出。
- 保存并退出:输入 `:wq` 或 `:x` 保存并退出。
- 切换到插入模式:在正常模式下按 i 开始编辑,按 `ESC` 退出插入模式。(o、a也可以进入插入模式,区别是a会使光标向后移动一位,o会新起一行)

3.vim正常模式命令集
在正常模式下,可以执行各种文本编辑、移动、删除等命令。以下是常用命令集:
(1)光标移动
h:光标左移
j:光标下移
k:光标上移
l:光标右移
方向键也支持光标移动
0:移动到行首
$:移动到行尾
gg:移动到文件的第一行开头
G(shift + g):移动到最后一行开头
(2)删除文本(支持在正常模式下进行删除操作,而不用换成插入模式)
x:删除当前光标所在字符
dw:删除 “从光标位置到下一个单词开头” 的内容
diw:删除 “光标所在的完整单词”
dd:删除当前行并复制(剪切)
d$:删除光标到行尾
(3)复制和粘贴
yy:复制当前行
yw:复制“从光标位置到下一个单词开头”的内容
yiw:复制 “光标所在的完整单词”
p:将暂存内容粘贴到光标后(行级内容粘贴到下一行,字符/单词粘贴到光标右侧)
P:粘贴到光标前(行级内容粘贴到上一行,字符/单词粘贴到光标左侧)
(4)查找和替换
/关键字:从当前光标位置向下查找 “关键字”,找到后光标跳转到第一个匹配项
?关键字:从当前光标位置向上查找 “关键字”,找到后光标跳转到第一个匹配项
n:查找下一个匹配项
N:查找上一个匹配项
(5)撤销操作
u:撤销上一个操作。按多次u可连续撤销多个操作
U:撤销对当前整行的所有更改。
Ctrl + r:对u进行撤销
(6)组合命令
n + p:粘贴n行复制的内容(这里的n是指一个数)

p

10 p

n + dd:剪切或删除n行

10 dd

按p粘贴

n + x/X:正常模式下的删除n个字符

3 x
![]()
(7)文本替换命令
~ 或(shift + ·):切换当前光标所在字符的大小写, 按一次切换一个字符;
![]()
按住shift+·
![]()
n + ~:批量切换
n + r:小范围文本替换,替换n个字符
![]()
5 r w
![]()
R(shift + r):进入替换模式(直接替换原来的字符)
![]()
输入printf
![]()
shift + zz:保存并退出
掌握这些命令可以让您在不离开键盘的情况下完成大部分文本编辑任务。
4.vim底行模式命令集
底行模式主要用于一些文件操作命令和文本处理。以下是常用的末行模式命令:
(1)保存退出
:w:保存文件
:q:退出 Vim
:wq 或 :x:保存并退出(等于正常模式下的shift+zz)
:q!:不保存强制退出
:w 文件名:另存为新文件
(2)文本处理
:%s/旧文本/新文本/g:全文替换
:g:表示 “全局替换”(global),不加 g 则只替换每行的第一个匹配项
:set nu:显示行号
:set nonu:取消显示行号


(3)跳转操作
:数字:跳转到指定行
若数字超过文件总行数,会跳转到最后一行
简写等价:nG,正常模式下直接按数字 + G,无需进命令行
:e 文件名:打开其他文件
1. 若文件存在,直接加载;若不存在,会创建新文件(保存时才实际生成);
2. 若当前文件有未保存的修改,Vim 会提示 E37: No write since last change (add ! to override),需先保存(:w)或强制打开(:e! 文件名,丢弃当前文件修改);
3. 支持路径:打开其他目录的文件需加路径(如 :e ../src/avl.h,../ 表示上一级目录)
(4)搜索操作
:/xxx + n
/main:找到main,按n/N可以上下查找

(5)执行外部命令
:! command:在不退出vim的情况下,执行命令行命令
! ls
![]()
! man 3 printf

底行模式的操作主要用于文件管理、全局替换等,适用于复杂的文本处理。
5. 分屏操作
在 Vim 中,分屏操作(Vertical Split 和 Horizontal Split)可以让您在同一窗口内查看或编辑多个文件,甚至同一个文件的不同部分。以下是一些常用的分屏命令:
1. 垂直分屏(Vertical Split)
:vsp 文件名 或 :vsplit 文件名:垂直分屏并打开指定文件。
:vsp:垂直分屏并重新打开当前文件(适合查看不同位置)。
快捷键:在正常模式下按 Ctrl + w, v 快速垂直分屏。

2. 水平分屏(Horizontal Split)
:sp 文件名 或 :split 文件名:水平分屏并打开指定文件。
:sp:水平分屏并重新打开当前文件。
快捷键:在正常模式下按 Ctrl + w, s 快速水平分屏。

3. 分屏窗口间的导航
在分屏状态下,可以使用以下快捷键在不同窗口间切换:
Ctrl + w, h:移动到左边的窗口。
Ctrl + w, j:移动到下方的窗口。
Ctrl + w, k:移动到上方的窗口。
Ctrl + w, l:移动到右边的窗口。
Ctrl + w, w:在窗口间循环切换。
4. 调整窗口大小
Ctrl + w, +:增加当前窗口的高度。
Ctrl + w, -:减少当前窗口的高度。
Ctrl + w, >:增加当前窗口的宽度。
Ctrl + w, <:减少当前窗口的宽度。
Ctrl + w, =:使所有窗口大小相等。
5. 关闭分屏
:q:关闭当前分屏窗口。
:close:同样用于关闭当前分屏。
Ctrl + w, c:在正常模式下快速关闭当前分屏。
:only:保留当前窗口,关闭其他所有分屏窗口。
通过分屏操作,可以有效提升在 Vim 中编辑多个文件的效率。
6. 视图模式下操作
(1)批量化注释:ctrl + v -> hjki -> shift + i -> // ->Esc

注释全文:gg -> ctrl + v -> G -> shift + i -> // - > Esc

(2)批量化去注释
ctrl + v -> hjki -> d

d

(3)快速执行最近的命令
! + 命令首字符

850

被折叠的 条评论
为什么被折叠?



