目录
[1. vim的基本概念](#1. vim的基本概念)
[2. vim的基本使用](#2. vim的基本使用)
[3. vim命令模式操作](#3. vim命令模式操作)
[3.1 移动光标](#3.1 移动光标)
[3.2 删除](#3.2 删除)
[3.3 复制](#3.3 复制)
[3.4 替换](#3.4 替换)
[3.5 撤销](#3.5 撤销)
[3.6 更改](#3.6 更改)
[3.7 跳转](#3.7 跳转)
[4. vim底行模式操作](#4. vim底行模式操作)
[4.1 列出行号](#4.1 列出行号)
[4.2 跳到文件中的某行](#4.2 跳到文件中的某行)
[4.3 查找字符](#4.3 查找字符)
[4.4 保存文件](#4.4 保存文件)
[4.5 离开vim](#4.5 离开vim)
1. vim的基本概念
Vim(Vi IMproved)是一个 高度可配置的文本编辑器,由 Bram Moolenaar 于 1991 年发布,是 Unix 系统经典编辑器 vi 的增强版。它以其 高效、轻量、可扩展 的特性,成为程序员、系统管理员和高级用户的必备工具。
在学习如何使用之前,我们先了解一下vim的三种主要模式(不止这三种模式):命令模式,插入模式,底行模式。
命令模式 (Command Mode) ------ 用于导航、复制、粘贴、删除等操作(默认模式)。
插入模式(Insert Mode) ------ 用于输入和编辑文本(类似普通文本编辑器),在命令行。
底行模式 (Last Line Mode) ------ 用于执行文件操作(保存、退出)、搜索、替换等命令。
2. vim的基本使用
输入命令 vim + 文件名 之后进入vim全屏编辑画面
此时进入vim之后是命令模式,按"a"键/"o"键/"i"键进入插入模式,或者按" shift+;"键即输入" :"进入底行模式。无论是在插入模式还是底行模式按"Esc"键就可以重新进入命令模式。
三种模式之间的切换方法:

切换到插入模式:
按"i"键进入插入模式后,从光标位置开始输入;
按"a"键进入插入模式后,从光标位置的下一位置开始输入;
按"o"键进入插入模式后,插入新的一行,从行首开始输入。
在进入底行模式后,退出vim的几种情况:
:w 保存当前文件
:wq 保存并退出
:q! 不保存强制退出
3. vim命令模式操作
3.1 移动光标
我们可以直接用键盘上的光标来上下左右移动,但正规的vim是用写英文字母「h」、「j」、 「k」、「l」,分别控制光标左、下、上、右移⼀格
• 按「G」:移动到文章的最后
• 按「 $ 」:移动到光标所在行的"行尾"
• 按「^」:移动到光标所在行的"行首"
• 按「w」:光标跳到下个字的开头
• 按「e」:光标跳到下个字的字尾
• 按「b」:光标回到上个字的开头
• 按「# l」:光标移到该行的第#个位置,如:5l,56l
• 按[gg]:进入到文本开始
• 按[shift+g]:进入文本末端
• 按「ctrl」+「b」:屏幕往"后"移动一页
• 按「ctrl」+「f」:屏幕往"前"移动一页
• 按「ctrl」+「u」:屏幕往"后"移动半页
• 按「ctrl」+「d」:屏幕往"前"移动半页
3.2 删除
• 「x」:每按⼀次,删除光标所在位置的一个字符
• 「#x」:例如,「6x」表示删除光标所在位置的"后面(包含自己在内)"6个字符
• 「X」:大写的X,每按⼀次,删除光标所在位置的"前面"⼀个字符
• 「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符
• 「dd」:删除光标所在行
• 「#dd」:从光标所在行开始删除#行
3.3 复制
• 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
• 「#yw」:复制#个字到缓冲区
• 「yy」:复制光标所在行到缓冲区。
• 「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
• 「p」:将缓冲区内的字符贴到光标所在位置。
注意:所有与"y"有关的复制命令可以与"p"配合完成复制与粘贴功能。
3.4 替换
•「r」:替换光标所在处的字符。
• 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
3.5 撤销
• 「u」:如果您误执行⼀个命令,可以马上按下「u」,回到上⼀个操作。按多次"u"可以执行多次回复。
• 「ctrl+r」:撤销的恢复
3.6 更改
• 「cw」:更改光标所在处的字到字尾处
• 「c#w」:例如,「c3w」表示更改3个字
3.7 跳转
• 「ctrl」+「g」列出光标所在行的行号。
• 「#G」:例如,「15G」,表示移动光标至文章的第15行首。
4. vim底行模式操作
在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进⼊末行模式。
4.1 列出行号
• 「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。
4.2 跳到文件中的某行
• 「#」:「#」号表示⼀个数字,在冒号后输入⼀个数字,再按回车键就会跳到该行了,如输入数字 15,再回车,就会跳到文章的第15行。
4.3 查找字符
• 「/关键字」:先按「/」键,再输入想寻找的字符,如果第⼀次找的关键字不是想要的,可以 ⼀直按「n」会往后寻找到您要的关键字为止。
• 「?关键字」:先按「?」键,再输入想寻找的字符,如果第⼀次找的关键字不是想要的,可 以⼀直按「n」会往前寻找到您要的关键字为止。
那么 / 和 ?查找有和区别?我们可以实际操作试验⼀下
4.4 保存文件
• 「w」:在冒号输入字母「w」就可以将文件保存起来
4.5 离开vim
• 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟⼀个「!」强制离开vim。
• 「wq」:⼀般建议离开时,搭配「w」⼀起使用,这样在退出的时候还可以保存文件。
大家可以多多实际操作一些,去熟悉这些操作。