[Linux] vi编辑器

命令模式&文本模式

命令模式就输入命令然后执行,文本模式就是系统把你的输入都当成写进文件里的字符

切换模式:

刚进入默认是命令模式,按:

i I a A o O

进入文本模式,

通过他们进入文本模式有什么不同?

然后按esc进入命令模式

命令模式:

退出:(命令模式基本就是用来保存退出,没有别的特殊的命令)

wq #write and quit

q #quit,如果你对文件有修改,那么你q的时候会不让你q,你必须wq或者q!

q! #强制quit

光标移动(命令模式下):

hjkl,方向键左下上右

文本修改:

搜索字符串:

替换

不加g,就只替换每一行的匹配的第一个

文件恢复

swp文件,当打开vi时创建,关闭vi时删除,

如果出现异常情况,vi未正常关闭,则swp不被删除,

则下次再通过vi打开filea时,vi检测到swp,询问用户是否要恢复

vi操作符的域:

删除操作符和域:

文本模式:

没什么好说的

缓冲区:

一次编辑多个文件:

vi file1 file2 ...... fileN

我这里有两个文件:

一次编辑这两个文件:

进入vi以后,首先编辑第一个文件:

编辑完了以后,切换到下一个文件,有两种命令:

n

e file2

这两种命令,都要求你已经对修改的第一个文件进行保存,如果没有保存,是不能切换的,no write since last change

可以先w一下,保存修改,

如果要放弃修改,可以

n!

e! file2

强制切换

查看当前正在编辑的文件

ar

中括号里就是当前正在编辑的文件

插入其他文件内容

r file1即可将file1中的内容插入到当前编辑的文件中

将文件部分写入其他文件

1,2 w file3

将当前正在编辑的文件的第1行到第2行,写入叫file3的文件中,如果file3不存在于当前目录,那么创建一个新文件,如果已经存在

那么必须

1,2 w! file3 强制覆盖

linux中的缓冲区,等同于windows系统中的剪贴板

d+p相当于剪切

y+p相当于复制

寄存器:

显示所有寄存器内容:regs(vi中)

vi中执行shell命令

可以就这样在vi的命令模式中输入!后跟一条指令,

然后系统会进入这样的等待状态:

按回车即可返回到vi编辑状态

可以把命令执行结果写入到文件中

r ! command

相关推荐
minji...2 分钟前
Linux高级IO(五)epoll 的两种工作模式(LT/ET),多路转接之epoll版本的TCP服务器,对比 select/poll/epoll
linux·运维·服务器·epoll·epoll的工作模式·selectpollepoll·水平触发边缘触发
IOT.FIVE.NO.18 分钟前
Codex+Vscode+Remote ssh+ 服务器自定义第三方API配置保姆级教程
ide·vscode·编辑器
xiaoye-duck17 分钟前
《Linux系统编程》Linux 命名管道 FIFO 详解:突破亲缘限制的跨进程通信实现
linux
文青小兵17 分钟前
Linux云计算——docker镜像(三)
linux·docker·云计算
爱和冰阔落20 分钟前
【Linux系统编程】环境变量深度解析——从 fork 继承到 export 内建命令,两张表打通进程上下文
linux·c++·环境变量·系统调用
Dlrb121133 分钟前
数据结构-内核链表
linux·数据结构·链表·内核链表·inline·容器宏
zzzsde42 分钟前
【Linux】线程同步和互斥(5):线程池的实现&&线程安全
linux·运维·服务器·开发语言·算法·安全
不吃土豆的马铃薯1 小时前
高性能服务器程序框架详解(包括Reactor,有限状态机等)
linux·服务器·开发语言·网络·c++
bucenggaibian1 小时前
搭建CMD编译C语言环境
linux·c语言·windows
程序猿乐锅1 小时前
Linux常用命令详解:目录、文件、压缩、编辑与查找
linux·运维·服务器