【Linux】vim编辑器

前言:

上文我们讲到了Linux中权限相关的指令【Linux】权限相关指令-CSDN博客

本文来讲解以下能让我们在Linux下编写代码的工具:vim

1.vim简单介绍

vim是Linux中一个较为常用的编辑器,也是Linux中上手难度最大的编辑器之一。有的同学可能知道vi这个编辑器,其实vim就是vi的增强升级版。只要我们学会了如何使用vim,那Linux下的其他编辑器就可以说是到手就顷刻炼化了。

2.vim的模式

vim的模式有特别特别多,但对于正常使用来说,我们掌握其中3种即可:

1.普通模式(Normal mode)

**普通模式也称命令模式。**使用命令操控vim达到目标效果,一般的命令效果讲从光标位置开始生效。而想要进入其他模式,也必须在普通模式下通过命令进入。

2.插入模式(Insert mode)

插入模式由普通模式通过点击"i"或"insert"进入。 在该模式下,可以实现信息的输入与编辑,通过esc可以回退到普通模式。

3.底行模式((last line mode)

**底行模式由普通模式执行"Shift+;"进入。**在该模式下,可以实现文件的保存与退出操作,也可以实现文本替换、查找字符串等功能

注:插入模式和底行模式之间并不能相互切换

3.vim的基本操作演示

1.进入vim

执行vim或vim+文件名

复制代码
hyc@hcss-ecs-4ce7:~$ vim new.c

2.编辑信息

点击" i "或" insert ",进入插入模式。这时候可以编辑信息

3.保存信息并退出vim

先点击Esc,退出插入模式。再点击" shift + ; "进入底行模式

在底行在输入命令:wq,w表示保存,q表示退出。点击Enter,退出vim

4.普通模式命令合集

模式切换:

i 或 Insert:进入插入模式

Shift + ; :进入底行模式

光标移动:

gg:光标回到文本第一行

shift + g :光标回到文本最后一行

shift + 4($) :光标回到当前行的最后一个字母

shift + 6(^) :光标回到当前行的第一个字母

H:向左移动

J:向下移动

K:向上移动

L:向右移动

(键盘上的上下左右键也可以实现,HJKL是在没有方向键的时代诞生的)

w:以单词为单位向后移动

b:以单词为单位向前移动

内容编辑:

yy:复制光标所在行的内容

p:在光标位置处粘贴

dd:剪切或删除光标所在行的内容

x:删除光标右侧内容

Shift + x:删除光标左侧内容

r:替换光标所在位置的字母

Shift + r:批量替换

Shift + ~:大小写切换

Shift + 3(#):选中光标位置的单词

n:从下往上找选中的单词

补充:

撤销操作:

u:撤销之前的操作

Shift + r:撤销u

补充:文件只要没有退出就可以撤销之前的操作,但是如果退出了就无法再撤销之前的操作了。

5.底行模式命令合集

常规:

w:保存文件内容

q:退出vim

!:强制执行命令

set nu:显示行号

set nonu:不显示行号

补充:

!命令:可以在vim下执行Linux指令

%s /目标字符/替换字符/:可以用替换字符替换目标字符(当然也可以是字符串)

vs 文件名:可以分为多屏,一次性展示多个文件

演示:

6.补充模式:视图模式

在普通模式下,点击Ctrl + v,进入视图模式

视图模式主要是为了批量修改文本,例如批量注释代码、批量添加换行符

批量注释演示:

1.进入视图模式

2.移动光标旋转自己要注释的内容

3.点击Shift + i,进入插入模式,打出//注释符号

4.点击Esc,之前我们选择的内容就全部被注释掉了,而且回到普通模式

批量添加换行符演示:

1.先移动光标到换行符将要被添加的位置

2.进入视图模式,选择需要添加换行符的行

3.点击Shift + i 进入插入模式,输入 "\n"

4.点击Esc,批量添加换行符功能。此时模式也回到了普通模式

总结:

相关推荐
碧海潮生_CC4 分钟前
【CUDA笔记】04 CUDA 归约, 原子操作,Warp 交换
笔记·cuda
稚辉君.MCA_P8_Java21 分钟前
DeepSeek 插入排序
linux·后端·算法·架构·排序算法
摇滚侠30 分钟前
2025最新 SpringCloud 教程,从单体到集群架构,笔记02
笔记·spring cloud·架构
风123456789~1 小时前
【OceanBase专栏】OB背景知识
数据库·笔记·oceanbase
数据库学啊1 小时前
团队小希望运维简单,时序数据库选型有什么推荐?
运维·数据库·时序数据库
霍格沃兹软件测试开发2 小时前
Playwright MCP浏览器自动化指南:让AI精准理解你的命令
运维·人工智能·自动化
郝学胜-神的一滴2 小时前
Linux命名管道:创建与原理详解
linux·运维·服务器·开发语言·c++·程序人生·个人开发
宾有为2 小时前
【Linux】Linux 常用指令
linux·服务器·ssh
wanhengidc2 小时前
云手机性能如何?
运维·服务器·科技·智能手机·云计算
智者知已应修善业3 小时前
【51单片机普通延时奇偶灯切换】2023-4-4
c语言·经验分享·笔记·嵌入式硬件·51单片机