系列文章目录
文章目录
- 系列文章目录
- 前言
- 一、vim的基本概念
- 二、vim的基本操作
- 1.退出vim编辑器
- 2.进入vim编辑器
- 3.模式功能及切换
 
- 三、vim命令模式命令集
- 1.光标移动
- 2.查找字符
- 3.复制粘贴删除
- 4.撤销、重做与重复做
- 5.插入模式
- 6.保存与退出
- 7.环境修改
 
- 四、总结
- 1.vim的三种基本模式
- 2.vim基本操作
 
前言
Linux,是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。博主将全程带领大家学习Linux的相关知识,本系列文章参考《鸟哥的Linux私房菜》推荐大家进行阅读学习。
一、vim的基本概念

 vim分为三种基本模式:
- 命令模式(Normal mode):
 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
- 插入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
- 底行模式(last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。
二、vim的基本操作
1.退出vim编辑器
-  先按「ESC」 
-  请根据自己情况决定退出操作 - 误入vim,不想修改文件,希望安全退出,请输入:q!
 如果你是误入vim编辑器的纯小白,为了防止你对文件进行误修改,:q!强制退出对文件的修改不会进行保存。 - 已经按自己需求对文件进行编辑,需要保存并退出,请输入:wq
 对有较为明确的目的去修改文件,但不知道如何进行保存并退出的操作,:wq可以进行保存并退出的操作。 
-  恭喜你成功退出vim,如果有相关需求,请仔细阅读本文,了解vim的相关操作。 
2.进入vim编辑器
vim [文件名]

注意:进入vim之后是出于[命令模式],命令模式下无法对内容进行直接编辑。
3.模式功能及切换

 [命令模式] 切换到 [插入模式]
- 输入 i
- 输入 a
- 输入 o
当处于[插入模式],可以进行文本编辑
[插入模式]切换至[命令模式]
- 按「ESC」
当想退出[插入模式]时可以先按一下「ESC」键转到[正常模式]。
[命令模式]切换至[底行模式]
 
- 「shift + ;」, 其实就是输入「:」
- : w(保存当前文件)
- : q(不保存直接退出vim)
- : wq(存盘并退出vim)
- : q!(强制退出)
当处于底行模式时可以保存退出,或者运行其他指令
三、vim命令模式命令集

1.光标移动
| 输入 | 功能 | 
|---|---|
| h 或 ← | 光标向左移动一个字符 | 
| j 或 ↓ | 光标向下移动一个字符 | 
| k 或 ↑ | 光标向上移动一个字符 | 
| l 或 → | 光标向右移动一个字符 | 
| 0 | 移动到光标所在行的开头位置 | 
| $ | 移动到光标所在行的结尾位置 | 
| G | 移动到文件的最后一行 | 
| nG | 移动到第n行 | 
| gg | 移动到文件的第一行 == 1G | 
| n[Enter] | 光标向下移动n行 == nj | 
2.查找字符
| 输入 | 功能 | 
|---|---|
| /str | 光标向下寻找名为str的字符串 | 
| ?str | 光标向上寻找名为str的字符串 | 
| n | 光标向下继续寻找名为str的字符串 | 
| N | 光标向上继续寻找名为str的字符串 | 
3.复制粘贴删除
| 输入 | 功能 | 
|---|---|
| x | 向后删除一个字符 | 
| X | 向前删除一个字符 | 
| nx | 向后删除n个字符 | 
| nX | 向前删除n个字符 | 
| dd | 删除(剪切)光标所在的那一整行 | 
| ndd | 删除(剪切)光标所在的向下n行 | 
| d$ | 删除(剪切)光标所在处到该行结尾的所以字符 | 
| d0 | 删除(剪切)光标所在处到该行开头的所以字符 | 
| yy | 复制光标所在的那一行 | 
| nyy | 复制光标所在行及其向下n行 | 
| y$ | 复制光标所在处到该行结尾的所以字符 | 
| y0 | 复制光标所在处到该行开头的所以字符 | 
| p | 将已复制(剪切)的数据在光标的下一行向下进行粘贴 | 
| P | 将已复制(剪切)的数据在光标的所在行向上进行粘贴 | 
4.撤销、重做与重复做
| 输入 | 功能 | 
|---|---|
| u | 恢复前一个操作,win下的[Ctrl]+z操作 | 
| [Ctrl]+r | 重做前一个操作,win下的[Ctrl]+[Shift]+z操作 | 
| . | 重复前一个操作,例如重复删除,重复粘贴 | 
5.插入模式
| 输入 | 功能 | 
|---|---|
| i | 从目前光标处插入 | 
| I | 从目前光标所在行的第一个非空格符处开始插入 | 
| a | 从目前光标所在的下一个字符处开始插入 | 
| A | 从目前光标所在行的最后一个字符处开始插入 | 
| o | 在目前光标所在行的下一行处插入新的一行 | 
| O | 在目前光标所在行的上一行处插入新的一行 | 
| r | 替换光标所在处的一个字符 | 
| R | 会一直替换自光标开始向后的字符,直到按下「ESC」停止 | 
6.保存与退出
| 输入 | 功能 | 
|---|---|
| :w | 将编辑的内容写入硬盘文件中 | 
| :w! | 若文件属性为只读时强制写入该文件。至于是否可以成功写入,与你对该文件的文件权限有关 | 
| :q | 退出vim | 
| :q! | 若曾修改过文件,但又不想保存,可以不保存强制退出 | 
| :wq | 保存后退出 | 
| :wq! | 强制保存后退出 | 
| :ZZ | 若文件没有修改,则不保存退出;若文件修改,则保存退出 | 
| :w [filename] | 将编辑的文件另存为[filename]文件中 | 
| ! command | 可以在不退出vim的情况下使用Linux指令 | 
7.环境修改
| 输入 | 功能 | 
|---|---|
| :set nu | 显示vim编辑器行号 | 
| :set nonu | 取消显示vim编辑器行号 | 
注意:在vim中,数字通常表示重复做几次,或者是去到第几个位置的意思。
四、总结
1.vim的三种基本模式
- 命令模式
- 插入模式
- 底行模式
2.vim基本操作
- 打开,关闭,查看,查询,插入,删除,替换,撤销,复制等操作









![快速搭建ChatGPT的AI聊天QQ机器人[含问题解决办法]](https://img-blog.csdnimg.cn/1d4fc2ce693c4c63a29ff2309e95e7a5.png)



![P2010 [NOIP2016 普及组] 回文日期————C++](https://img-blog.csdnimg.cn/9b8396dc072b42bea58220973b89dea8.png)





