Linux系统中文本编辑器vi命令

简介: Linux系统中文本编辑器vi命令

什么是vi/vim

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。


vi作用:


创建或修改文本文件

维护linux系统中的各种配置


vi编辑器三种工作模式

命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作;


输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“–INSERT–”的状态提示信息;


末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符。


不同工作模式之间的切换

image.png


命令模式切换至输入模式

a 在当前光标位置之后插入内容

i 在当前光标位置之前插入内容

I 在所在行的行首插入内容

o 在光标所在行之下插入一个新行内容

O 在光标所在行之上插入一个新行内容

A 在所在行的行尾插入内容


命令模式中的基本操作

翻页操作:

age Down键或 Ctrl + F 向下翻动一整页内容

Page Up键或Ctrl + B 向上翻动一整页内容

行内快速跳转

Home键或^键、数字0键 跳转到本行的行首

End键或者$键 跳转到本行的行尾

行间快速跳转

1G或者gg 转到文件内容的第一行

G 跳转到文件的最后一行

#G 跳转到文件的第#行(#用具体的数字替换)

M 跳转到当前页的中间位置

显示行号

:set nu 在编辑器中显示行号

:set nonu 取消行号显示

删除

替换字符

x或Delete键 删除光标处的单个字符

dd 删除当前光标所在行(有剪切功能)

#dd 删除从光标处开始的#行内容

d^ 删除当前光标之前到行首的所有字符

d $ 删除当前光标处到行尾的所有字符

dw 删除当前光标处的整个单词

R或Shift+r 替换当前光标处字符

复制

yy 复制当前行整行的内容到剪切板

#yy 复制从光标处开始的#行内容

粘贴

p 粘贴到光标所在行之下

大写P 粘贴到光标所在行之上

查找

/ word 从当前光标处开始向后进行查找字符串“word”

?word 从当前光标处开始向前进行查找字符串“word”

n 定位下一个匹配的被查找字符串

N 定位上一个匹配的被查找字符串

U 用于取消对当前行所做的所有编辑

保存退出(在末行模式)

:w 保存修改的内容

:w /位置/新文件名 另存为其他文件

:q 退出

:q! 放弃对文件内容的修改并退出

ZZ或wq、:x 保存当前的文件内容并退出vi编辑器

打开新文件

:e 其他文件名 打开新的文件进行编辑

读入文件内容

:r 其他文件名 在当前文件中读入其他文件内容

文件内容替换

:[查找范围]s /old/new /[替换的范围] 将当前行中查找的第一个字符串“old”替换为:“new”,查找范围不写,默认在光标所在行

:s old/new/g 将当前行中查找的所有字符串“old”替换为“new”

:#,# s/old/new/g 将行号#,#范围内替换所有的字符串“old”为“new”

:% s/old/new/g 将整个文件范围内的所有字符串的“old”换为“new”

:s old/new/c 对每个替换动作进行用户确认

复制/剪切/粘贴

:5,10 m 15 将5-10行的内容剪切到15行下面

:5,10 co 15 将5-10行的内容复制到15行下面


相关文章
|
4天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
19 5
linux系统服务二!
|
4天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
21 3
linux系统服务!!!
|
3天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
20 3
|
4天前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
16 2
|
5天前
|
Ubuntu Linux Shell
Linux 系统中的代码类型或脚本类型内容
在 Linux 系统中,代码类型多样,包括 Shell 脚本、配置文件、网络配置、命令行工具和 Cron 定时任务。这些代码类型广泛应用于系统管理、自动化操作、网络配置和定期任务,掌握它们能显著提高系统管理和开发的效率。
|
8天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
50 3
|
10天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
11天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
6月前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
1547 0
|
6月前
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
229 0