【Linux中的vi 和vim 编辑器简析】

2024-08-24 08:12
文章标签 linux 编辑器 vim 简析 vi

本文主要是介绍【Linux中的vi 和vim 编辑器简析】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

vi 和 vim 编辑器是在 Linux 系统中广泛使用的文本编辑工具。vi 是所有 Unix 和 Linux 系统内置的标准文本编辑器,而 vim 是 vi 的增强版。

vi 编辑器具有简单易用、快速高效的特点,在红帽 Linux 系统中被默认安装。它通过键盘上的命令进行操作,无需依赖鼠标和图形界面。在 vi 编辑器中,有三种主要的工作模式:命令模式、插入模式和底行模式。命令模式是默认模式,可执行各种操作命令,如移动光标、删除或复制内容等。插入模式用于输入和编辑文本。底行模式用于保存文件、退出编辑器等特殊操作。

vim 具有更多强大的功能,如支持多级撤销、跨平台使用、语法高亮、支持图像界面、支持自定义编程设置等。例如,使用 vim 打开一个文件后,可以通过按下“i”键进入插入模式进行编辑。以下是一些常见的操作示例:

  • 拷贝当前行:【yy】,拷贝当前行(包括当前行)向下的 5 行:【5yy】,粘贴:【p】
  • 删除当前行【dd】,删除当前行(包括当前行)向下的 5 行:【5dd】
  • 在文件中查找某个单词:【命令行模式下 /关键字或者?关键字】,回车查找,输入【n】就是查找下一个设置文件的行号,取消文件的行号:【命令行模式下: set nu 和 set nonu】

文件编辑好以后,可以进入命令模式保存和退出 。例如:

  • q:直接退出(不保存退出)
  • wq:修改后保存退出
  • q!:强制退出,不保存修改的内容

此外,还可以使用快捷键到文档的最末行【G】和首行【gg】 ,在一个文件中输入“内容”, 然后又撤销这个动作:【u】 ,0 或功能键 Home:这是数字 0,移动到这一行的最前面字符处 ,$或功能键 End:移动到这一行的最后面字符处 ,H:光标移动到这个屏幕的最上方那行的第一个字符。

以下是一些在 Linux 中使用 vivim 编辑文件的示例:

示例 1:创建并编辑一个新的文本文件

打开终端,输入以下命令创建并编辑一个名为 example.txt 的文件:

vim example.txt

进入 vim 编辑器后,按下 i 键进入插入模式,输入以下内容:

This is the first line.
This is the second line.

编辑完成后,按下 Esc 键回到命令模式,输入 :wq 保存并退出。

示例 2:在已存在的文件中添加内容

假设有一个已存在的文件 existing.txt ,内容如下:

Old content.

使用以下命令打开并编辑:

vim existing.txt

在命令模式下,按下 G 键移动到文件末尾,按下 i 键进入插入模式,添加以下新行:

New line added.

然后按下 Esc 键回到命令模式,输入 :wq 保存更改。

示例 3:删除文件中的某一行

打开一个名为 data.txt 的文件,内容如下:

Line 1
Line 2
Line 3

使用 vim data.txt 打开文件,在命令模式下,将光标移动到要删除的行(比如第二行),输入 dd 即可删除该行。最后按下 :wq 保存修改。

示例 4:查找和替换文本

假设有一个文件 text.txt ,内容如下:

Apple is a fruit.
Banana is also a fruit.

使用 vim text.txt 打开文件,在命令模式下输入 :%s/Apple/Orange/g ,这将把文件中所有的 Apple 替换为 Orange 。然后按 :wq 保存并退出。

示例 5:复制和粘贴文本

在一个名为 source.txt 的文件中,内容为:

This is the source text.

使用 vim source.txt 打开,在命令模式下,将光标移动到要复制的行,输入 yy 复制该行。然后打开另一个文件 destination.txt ,在命令模式下输入 p 粘贴复制的内容。最后保存并退出。

希望这些示例能帮助您更好地理解和使用 vivim 编辑器。

vi 和 vim 编辑器在 Linux 系统中是非常实用的工具,熟练掌握它们的使用方法可以提高文本编辑的效率。

vi编辑器在Linux中的特点

vi是Linux系统中最基本的文本编辑工具之一。它具有以下特点:

  • 高效性:vi不需要图形界面,仅通过键盘操作就能完成文本编辑,在远程服务器管理等场景中非常实用。
  • 简洁性:vi的操作命令相对简洁,熟练掌握后能快速进行文本处理。
  • 广泛适用性:几乎在所有Linux系统中都默认安装了vi,无需额外安装即可使用。

例如,在修改系统配置文件时,使用vi可以快速定位并修改关键参数。假设要修改/etc/hosts文件,通过命令vi /etc/hosts打开文件,然后使用移动光标命令如h(左移)、j(下移)、k(上移)、l(右移)来定位到需要修改的位置进行编辑。

vim编辑器的强大功能

Vim是vi的增强版,具有众多强大的功能:

  • 强大的编辑模式:Vim支持多种编辑模式,如普通模式、插入模式和命令行模式,让用户能灵活地进行文本编辑。
  • 丰富的快捷键:通过各种快捷键,如yy(复制当前行)、dd(删除当前行)等,大大提高了编辑效率。
  • 可扩展性:Vim支持插件,用户可以根据自己的需求扩展其功能。
  • 高效的搜索和替换:能够快速准确地查找和替换文本内容。

例如,当需要在一个大型代码文件中查找特定的函数定义时,可以使用/函数名进行搜索。

vi编辑器的工作模式

vi编辑器主要有三种工作模式:

  • 命令模式:这是vi的默认模式,用于移动光标、删除、复制、粘贴等操作。例如,使用dd删除当前行,使用p粘贴已复制或删除的内容。
  • 插入模式:在此模式下可以输入文本内容。通过按键如ia等进入插入模式。
  • 末行模式:用于执行保存、退出、查找替换等操作。在命令模式下输入:进入末行模式,然后输入相应命令,如:wq保存并退出。

vim编辑器的操作示例

以下是一些vim编辑器的常见操作示例:

  • 打开文件:使用vim filename命令打开文件。
  • 进入插入模式:按i键进入插入模式开始输入文本。
  • 移动光标:使用hjkl键分别向左、下、上、右移动光标。
  • 复制和粘贴:使用yy复制当前行,使用p粘贴。
  • 查找文本:在命令模式下输入/text查找指定文本。

例如,编辑一个readme.txt文件,打开后移动光标到合适位置,按i插入新的内容,然后通过dd删除不需要的行,使用/关键字查找特定内容。

vi和vim编辑器的保存和退出方式

vi和vim编辑器有多种保存和退出的方式:

  • 保存但不退出:在命令模式下输入:w
  • 保存并退出:输入:wqx
  • 不保存直接退出:输入:q!

例如,在编辑完文件后,如果确定修改无误且需要保存并退出,就输入:wq

vi和vim编辑器的快捷键使用

vi和vim编辑器提供了丰富的快捷键以提高编辑效率:

  • 移动光标:除了hjkl,还有gg移动到文件首行,G移动到文件尾行。
  • 编辑操作:x删除当前字符,dw删除从光标位置到下一个单词开头的字符。
  • 复制粘贴:yy复制当前行,p粘贴。

在编辑大段文本时,利用这些快捷键可以快速定位和处理内容。

这篇关于【Linux中的vi 和vim 编辑器简析】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101926

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4