【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,批量添加换行符功能。此时模式也回到了普通模式

总结:

相关推荐
姜鱼问生14 分钟前
Nginx 缓存命中率监控:从 X-Cache-Status 到实时统计
运维·nginx·缓存
Apipi*37 分钟前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP2 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_2 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
此时不提桶,更待何时2 小时前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
qq_284274053 小时前
机械原理笔记:平面机构自由度计算(复合铰链、局部自由度、虚约束)与四杆机构入门(含考点)
笔记·学习·平面·自动化·制造
广州浮点FLOATLIC4 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
qq_284274054 小时前
数控铣床与加工中心笔记:铣刀与刀柄系统、G54试切对刀、镜像加工指令、孔加工工艺(钻扩铰镗)与固定循环G73/G83/G81/G76/G87/G84
笔记·学习·自动化·制造
IT研究所4 小时前
AI-ITR平台如何减少客户问题反复升级?
大数据·运维·人工智能·低代码·自然语言处理·安全架构·企微
BLUcoding4 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom