Linux成神第一步——VI编辑器的使用

2024-03-23 23:48

本文主要是介绍Linux成神第一步——VI编辑器的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

都说Linux会不会,就看VI会不会,可见VI编辑器在Linux操作系统使用过程中的重要性!下面来学学这高大上的玩意儿。据说,如果你在VI编辑器下编辑文本如行云流水一般轻松自如的话,你会有龙入大海的感觉,雇主的火眼金睛也会顿时发光。

VI全称Visual Interface,也就是可视化接口,她是Linux的标配,所有Linux操作系统中都有她的影子,就像Windows中的记事本一样。Linux环境下的文本编辑器还有vim、emacs等。Vi编辑器有三种工作模式,如下图所示。



VI编辑器的三种工作模式为:Command Mode - 命令模式(输入的是命令)、Insert Mode - 输入模式(输入的是文本)和Last Line Mode - 底行模式(尾行,末行)(输入的是命令)。当在终端输入vi abc,回车后即进入命令模式,这时是不能输入文本的,按下i键,即进入了输入模式,这时可以开始输入文本了,在输入模式下,按Esc键进入命令模式,在命令模式下,按shift + :键进入底行模式。

首先看看常用vi指令:

vi abc  // 如果文件abc存在,则直接打开,否则创建文件abc并打开;打开后光标定位到文件第一行的行首
vi + abc // 打开文件abc,光标定位到文件最后一行的行首
vi +2 abc // 打开文件abc,光标定位到第二行行首
vi +/im abc // 打开文件abc,光标定位到文本中“im”这个单词第一次出现的那行的行首,打开后,按字母n,可以来回地在单词“im”出现的行之间切换

vi aa bb cc // 同时打开三个文件aa,bb,cc,打开后在底行模式中输入n,回车,可以切换到下一个文件,输入N,回车,可以切换到上一个文件

底行模式下常用指令:
  :w    写入修改(保存文件)
  :q     退出
  :wq   保存并退出
  :wqa 保存所有文件并退出
  :!       强制执行
  :ls     列出打开的所有文件
  :n      切换到下一个文件
  :N     切换到上一个文件
  :set nu  显示行号
  :sp a.c  新建文件a.c
  :15        把光标定位到第15行行首
  :/xxx     在光标当前位置向后搜索“xxx”,搜索到后光标定位到第一次出现“xxx”的行首
  :?xxxx   在光标当前位置向前搜索“xxx”,搜索到后光标定位到第一次出现“xxx”的行首

命令模式下常用指令:
 h          光标左移
 j           光标下移
 k          光标上移
 l           光标右移
 ctrl + f  向下翻页(front)
 strl + b 向上翻页(back)
 ctrl + d 向下翻半页(down)
 strl + u 向上翻半页(up)
 shift + a 光标移到行尾
 shift + i 光标移到行首
 x    删除光标所在位置的单个字符
 dd  删除光标所在行
 o    在光标所在行的下方插入一行并切换到输入模式
 yy  复制光标所在行
 p    在光标所在行的下方粘贴
 P   在光标所在行的上方粘贴


这篇关于Linux成神第一步——VI编辑器的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma