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

总结:

相关推荐
VNDR30 分钟前
工欲善其事,必先利其器
linux
维尔切1 小时前
Nginx 反向代理与负载均衡
运维·nginx·负载均衡
心灵宝贝1 小时前
Fedora 38 安装 perl-JSON RPM 包步骤(含依赖问题解决及附安装包)
linux
lilili也1 小时前
Linux——0:安装与配置、命令、gcc
linux
知白守黑2671 小时前
反向代理和负载均衡
运维·负载均衡
杨云龙UP2 小时前
小工具大体验:rlwrap加持下的Oracle/MySQL/SQL Server命令行交互
运维·服务器·数据库·sql·mysql·oracle·sqlserver
is08152 小时前
全志 H3 armbian 备份
linux·服务器·网络
初九之潜龙勿用2 小时前
技术与情感交织的一生 (十四)
笔记·印象笔记
love530love2 小时前
【笔记】 Podman Desktop 中部署 Stable Diffusion WebUI (GPU 支持)
人工智能·windows·笔记·python·容器·stable diffusion·podman
Olrookie2 小时前
若依前后端分离版学习笔记(十九)——导入,导出实现流程及图片,文件组件
前端·vue.js·笔记