vi编辑器的用法linux中的vim编辑器大全

vim的介绍

vi 和 vim 命令是linux中强⼤的⽂本编辑器, 由于Linux系统⼀切皆⽂件,⽽配置⼀个服务就是在修改其配置⽂件的参数。 vim 编辑器是运维⼯程师必须掌握的⼀个⼯具, 没有它很多⼯作都⽆法完成。

其中有vivim两种

vi和vim的区别

Vim是Vi的升级版本,不仅兼容Vi的所有指令,还增加了许多新特性。Vim和Vi的主要区别包括:

1.多级撤消。在Vi中,按u只能撤消上次命令,而在Vim中可以无限制地撤消操作。

平台兼容性。Vi主要运行于Unix系统;Vim不仅可以在Unix上运行,还可以在Windows、Mac等多个操作系统上运行。

2.语法高亮。Vim可以以不同的颜色加亮显示代码,这有助于提高阅读和编辑的便利性。

可视化操作。Vim不仅可以在终端运行,还可以在X Window、Mac OS、Windows等环境下运行,提供更丰富的编辑环境。

总的来说,Vim相比Vi是一个更先进、功能更丰富的文本编辑器,特别适合编程和开发使用。

安装方式:

python 复制代码
1. vi不需要安装,直接可以使用
2. vim 用yum装  `yum install -y vim` 即可

vim模式介绍

Vim编辑器中设置了三种模式: 命令模式、编辑模式、末⾏模式 ,每种模式分别⼜⽀持多种不同的命令快捷键,⼤⼤提⾼了⼯作效率,⽽且⽤户在习惯之后也会觉得相当顺⼿。要想⾼效率地操作⽂本,就必须先搞清这三种模式的操作区别以及模式之间的切换⽅法。

复制代码
命令模式: 控制光标移动, 可对⽂本进⾏复制、粘贴、删除等⼯作。
使⽤vim filename 编辑⼀个⽂件时,⼀进⼊该⽂件就是命令模式了。
在这个模式下,可以进⾏光标移动、复制、删除、粘贴操作。


编辑模式: 正常的⽂本写⼊。
从命令模式进⼊编辑模式,只需你按⼀个键即可(i, I, a, A, o, O, r, R)。
当进⼊编辑模式时,会在屏幕的最下⼀⾏出现"INSERT的字样。
从编辑模式回到命令模式只需要按键盘左上⽅的 ESC 键即可。


末⾏模式: 保存或退出⽂档,以及设置编辑环境
在命令模式下,输⼊ ":" 或者 "/" 即可进⼊末⾏模式。
在该模式下,可以进⾏的操作有,显示⾏号、搜索、替换、保存、退出。

vim 编辑器配置⽂件整体流程如下:

1.默认打开⽂件处于命令模式

2.需要从命令模式切换⾄编辑模式

3.编辑模式修改配置⽂件, 然后返回命令⾏模式.

4.最后通过命令模式进⼊末⾏模式,保存和退出操作.

注意:在vim中,⽆法直接从编辑模式切换到末⾏模式

vim命令模式

命令⾏模式:(默认打开⽂件进⼊的是命令⾏模式)

python 复制代码
//命令光标跳转
G			跳转光标⾄末端
gg		跳转光标⾄顶端
Ngg	跳转光标⾄当前⽂件内的22⾏
$			将当前光标跳转⾄光标所在⾏的末端(尾部)
^			将当前光标跳转⾄光标所在⾏的头部		--->	数字0 可实现类似效果
//⽂件内容较多
ctrl+f		往下翻⻚(⾏⽐较多)		
ctrl+b		往上翻⻚
//复制				
yy复制当前光标所在的⾏
5yy复制当前光标以及光标向下4⾏
							
//粘贴		
p(⼩写) 粘贴⾄当前光标下⼀⾏			
P(⼤写) 粘贴⾄当前光标上⼀⾏
//删除			
dd		删除当前光标所在的⾏			
4dd	删除当前光标所在的⾏以及往下的3⾏
dG		删除当前光标以后的所有⾏
D			删除当前光标及光标以后的内容		
x			删除当前光标标记往后的字符
X			删除当前光标标记往前的字符
//剪贴
先删除dd(number	dd),后粘贴p
//撤销
u			撤销上⼀次的操作(类似windows下的ctrl+z)
//替换				
r			替换当前光标标记的单个字符
R			进⼊REPLACE模式,	连续替换,ESC结束

vim编辑模式

编辑模式(从命令⾏模式进⼊到编辑模式)

python 复制代码
i			进⼊编辑模式,光标不做任何操作
VIM编辑模式
I			进⼊编辑模式,并且光标会跳转⾄本⾏的头部
a			进⼊编辑模式,将当前光标往后⼀位
A			进⼊编辑模式,将光标移动⾄本⾏的尾部
o			进⼊编辑模式,并在当前光标下添加⼀⾏空⽩内容
O			进⼊编辑模式,并在当前光标上添加⼀⾏空⽩内容

vim末行模式

末⾏模式主要⽤于搜索, 保存, 退出⽂件, 还可以让⽤户执⾏外部的Linux命令或跳转到所编写⽂档的特定⾏数

末⾏模式(必须退回到命令⾏模式)

python 复制代码
E37: No	write	since	last	change	(add	!	to	override)
:w						保存当前状态
:w!					强制保存当前状态
:q						退出当前⽂档(⽂档必须保存才能退出)
:q!					强制退出⽂档不会修改当前内容
:wq					先保存,在退出
:wq!				强制保存并退出
:x						先保存,在退出
ZZ						保存退出,	shfit+zz
:number 跳转⾄对应的⾏号

末⾏模式(查找和替换)

python 复制代码
查找	    /string	需要搜索的内容(查找)
		n 按搜索到的内容依次往下进⾏查找
		N 按搜索到的内容依次往上进⾏查找
替换
	:1,5s#sbin#test#g			替换1-5⾏中包含sbin的内容为test
	:%s#sbin#test#g 替换整个⽂本⽂件中包含sbin的替换为test
	:%s#sbin#test#gc		替换内容时时提示是否需要替换
另存
:w	/root/test		将⽂件所有内容另存为/root/test
				
读⼊
:r		/etc/hosts		读⼊/etc/hosts⽂件⾄当前光标下⾯
:5r	/etc/hosts		指定/etc/hosts⽂件当前⽂件的哪⾏下⾯

VIM视图模式

视图模式(从命令⾏模式进⼊视图模式)

python 复制代码
ctrl+v	进⼊VISUAL	BLOCK	选中需要注释的⾏(可视块模式)
		1.插⼊:按shift+i进⼊编辑模式,输⼊#,结束按ESC键
		2.删除:选中内容后,按x或者d键删除
		3.替换:选中需要替换的内容,	按下r键,然后输⼊替换后的内容
shift+v	进⼊VISUAL	LINE	选中⾏内容(可视⾏模式)
		1.复制:选中⾏内容后按y键及可复制。
		2.删除:选中⾏内容后按d键删除。

VIM环境变量

1.环境变量临时⽣效

python 复制代码
:set	nu	显示⾏号
:set	ic	忽略⼤⼩写,	在搜索的时候有⽤
:set	ai	⾃动缩进
:set list			显示制表符(空⾏、tab键)
:set no[nu|ic|ai...]		取消临时设定的变量
环境变量永久⽣效
~/.vimrc	个⼈环境变量(优先级⾼)	/etc/vimrc		全局环境变量

2.环境变量永久生效

python 复制代码
#	vim		~/.vimrc			
set nu
set	ic
//如果个⼈vim环境没有配置,	则使⽤全局vim环境变量配置。
//如果个⼈vim环境和全局环境变量产⽣冲突,	优先使⽤个⼈vim环境变量。

vim拓展

python 复制代码
1.如何同时编辑多个⽂件
vim	-o	file1	file2	⽔平分割
vim	-O	file1	file2	垂直分割
//ctrl+ww	⽂件间切换

2.相同⽂件之间差异对⽐
diff		⽂件对⽐(⽤的不多)				
vimdiff		以vim⽅式打开两个⽂件对⽐,标记不同的内容

3.如果VIM⾮正常退出 (ctrl+z)挂起或强制退出终端没关闭VIM后
//删除同⽂件名的.swp⽂件即可解决
.filename.swp			rm	-f	.filename.swp
相关推荐
ICscholar6 小时前
ExaDigiT/RAPS
linux·服务器·ubuntu·系统架构·运维开发
sim20206 小时前
systemctl isolate graphical.target命令不能随便敲
linux·mysql
米高梅狮子7 小时前
4. Linux 进程调度管理
linux·运维·服务器
再创世纪8 小时前
让USB打印机变网络打印机,秀才USB打印服务器
linux·运维·网络
fengyehongWorld8 小时前
Linux ssh端口转发
linux·ssh
知识分享小能手10 小时前
Ubuntu入门学习教程,从入门到精通, Ubuntu 22.04中的Shell编程详细知识点(含案例代码)(17)
linux·学习·ubuntu
Xの哲學11 小时前
深入解析 Linux systemd: 现代初始化系统的设计与实现
linux·服务器·网络·算法·边缘计算
龙月11 小时前
journalctl命令以及参数详解
linux·运维
EndingCoder11 小时前
TypeScript 的基本类型:数字、字符串和布尔
linux·ubuntu·typescript
YJlio12 小时前
Kali Linux 外置无线网卡接入与识别排障(VMware 环境|合规学习版)
linux·网络·学习