从0开始学习Linux——文本编辑器

news2024/12/29 22:47:55

往期目录:

1、从0开始学习Linux——Linux简介&安装

2、从0开始学习Linux——搭建属于自己的Linux系统

 我们通过前面教程的学习已经了解了什么是Linux,并且我们也定制安装了属于我们自己的一个Linux系统。从这个章节开始我们将开始学习如何去操作Linux系统。

Linux 的文本编辑器是用于创建、编辑和处理文本文件的程序。它们在 Linux 操作系统中扮演着重要角色,尤其是在编程、配置系统和管理文件时。文本编辑器可以是命令行工具,也可以是图形用户界面(GUI)应用程序。

文本编辑器的功能特点如下所示:

  • 文本编辑:基本的创建、删除、复制、粘贴、搜索和替换文本。
  • 语法高亮:支持多种编程语言的语法高亮显示。
  • 多文档支持:同时打开和编辑多个文件。
  • 插件支持:可以通过插件扩展功能,增加工作效率。
  • 版本控制:与 Git 等版本控制系统集成,方便管理代码。

Linux中的文本编辑器主要分为两大类即命令行文本编辑器和图形桌面文本编辑器。

一、命令行文本编辑器

1.1 Nano编辑器

Nano 是一个简单易用的命令行文本编辑器,广泛用于 Linux 和其他类 Unix 操作系统。它特别适合新手用户,因为它的界面友好且操作直观。

1.1.1 安装Nano编辑器

首先我们可以在我们的linux系统中输入一条命令:nano --version。

nano --version

然后我们可以发现报错找不到nano命令,因此下面我们就需要先去安装nano。

对于nano我们可以使用yum进行安装。

yum install nano

有的同学在执行这条命令的时候可能会抛出一个错误即镜像源错误。

如果发生镜像源错误,那么我们可以将镜像源给修改为阿里云镜像源。

首先我们使用vi命令打开CentOS-base.repo文件去修改镜像源。

vi /etc/yum.repos.d/CentOS-Base.repo

接着将下列内容给替换到上述文件中。

[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-centos7

[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.aliyun.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-centos7

[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.aliyun.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-centos7

替换完成以后按下键盘上的Esc键,再按下“:”,接着再输入wq并按下回车进行文件内容的一个保存。

接下来我们需要清理yum缓存即删除所有缓存以确保YUM使用新的配置。

yum clean all

紧接着我们需要去更新yum源,以确保yum可以访问新的资源。

yum makecache

最后我们来验证一下yum的配置是否生效。

yum repolist

到此为止我们的yum镜像源已经更新完成了。

下面我们就可以继续安装我们的nano。

yum install nano

现在我们的nano编辑器就已经安装好了。

1.1.2 启动Nano

在命令行中使用nano命令,然后在该命令后面加上文件路径+文件名。

例如我们要去编辑/opt目录下的的一个user.txt文件。

nano /opt/user.txt

注意:对于nano的目录文件结构将在后续文章中讲解。

执行完上述命令以后就可以直接进入该文件了。

补充:我们如果在使用文本编辑器去编辑文件的时候若该文件不存在,那么就会创建一个空的文件然后再进行编辑,就如我们的/opt目录下没有user.txt文件,那么就会创建一个空的user.txt文件,然后再进入该文件进行编辑状态。

1.1.3 编辑文本

当我们执行完1.1.2中的命令以后就已经进入了文件的编辑状态,我们可以直接编辑。

1.1.4 保存文件

如果我们已经编辑好了文件,那么我们可以按下Ctrl+O,再按下Enter就可以完成文件的保存操作。

1.1.5 退出Nano

我们在编辑好文件并且保存好以后可以按下Ctrl+X退出Nano了。

注意:如果有未保存的更改,Nano 会提示是否保存。

1.1.6 常用快捷键

上述我们使用Nano的一些命令,当然Nano还有很多命令供我们使用,如下所示:

  • Ctrl + G:显示帮助信息。
  • Ctrl + X:退出 Nano。
  • Ctrl + O:保存文件。
  • Ctrl + W:搜索文本。
  • Ctrl + K:剪切当前行。
  • Ctrl + U:粘贴剪切的行。
  • Ctrl + J:自动换行。
  • Ctrl + C:显示光标位置。

1.1.7 高级功能

Nano文本编辑器支持多文档,也就是说可以在一个 Nano 会话中打开多个文件,使用Ctrl+R可以打开其他文件。

注意:打开多文档就需要确保另外打开的文档是存在的,例如我们这里编辑user.txt文档,那么我们使用Nano的多文档模式打开student.txt就需要确保该文件的存在。

当然我们可以直接去编辑~/nanorc文件去定制编辑器的行为和外观。

nano ~/.nanorc

接下来我们就可以去定制我们的Nanno编辑器的行为和外观了。

例如我们在该文件中设置语法高亮等。

# 启用语法高亮
include /usr/share/nano/*.nanorc

# 启用软换行
set softwrap

1.2 Vi编辑器

Vi编辑器是一种强大的文本编辑器,广泛用于 Unix 和类 Unix 系统。它以其高效和灵活性而著称,尤其适合于编程和系统管理。

补充:Vi编辑器通常是 Unix 和类 Unix 系统(如 Linux 和 macOS)自带的文本编辑器。几乎所有的 Unix 系统都会预装Vi或其增强版本。

1.2.1 文件类型

Vi编辑器处理的文件是普通文本文件,适用于任何文本编辑任务。

1.2.2 模式

Vi编辑器有三种模式,如下所示:

  • 普通模式(Normal Mode):默认模式,可以使用命令进行导航和编辑。
  • 插入模式(Insert Mode):用于输入文本。可以通过在普通模式下按 iao 等进入。
  • 命令行模式(Command-Line Mode):用于执行文件保存、退出等命令。可以通过在普通模式下按 : 进入。

1.2.1 文件启动

如果我们想要使用vi去编辑一个文件,那么我们可以直接使用vi命令然后在后面跟上文件。

例如这里我们去/opt目录下编辑student.txt文件。

注意:这里和nano一样若student.txt文件不存在,那么就会先创建student.txt空白文件,然后再进入vi模式。

vi /opt/student.txt

1.2.2 文件内容插入&修改

我们使用vi命令打开student.txt文件以后进入的是普通模式,如果我们想要再文件中添加内容或者修改内容,那么我们就需要进入插入模式,对此我们可以使用如下命令完成操作:

  • i:在当前光标前修改内容
  • I:在当前光标所在行首修改内容
  • a:在当前光标后修改内容
  • A:在当前光标所在行尾修改内容
  • o:在当前光标所在行下方新建一行并插入。
  • O:在当前光标所在行上方新建一行并插入。

注意:进入插入模式以后会在文件的下方显示一个INSERT标志。

如果添加/修改操作完成以后就可以按下Esc按键进入到普通模式。

1.2.3 光标移动

在普通模式下如果想要移动光标,一方面我们可以使用键盘上的上下左右按键完成操作另外也可以通过其它按键完成该功能,如下所示:

  • h:向左移动一个字符
  • j:向下移动一行
  • k:向上移动一行
  • l:向右移动一个字符
  • o:移动到行首
  • $:移动到行尾
  • G:移动到文件末尾
  • gg:移动到文件开头

1.2.4 内容删除

对于文件中内容删除既可以在插入模式完成也可以在普通模式下完成,在插入模式中如果要删除内容可以使用键盘中的Delete按键和Backspace按键完成,在普通模式下可以使用Delete按键完成内容的删除,当然在普通模式下vi编辑器提供了更多的删除操作,如下所示:

  • x:删除光标处的字符
  • dd:删除光标所在的行
  • d数字d:删除指定行内容,从光标所在行开始计数
  • d+数字+其它命令:删除命令指定的内容

上述删除操作中x、dd可能很好理解,这里说明一下d数字d和d+数字+其它命令,例如d3d表示删除3行内容,从光标所在行开始计算,例如d3k表示删除从当前光标所在行的往上数3行内容。

1.2.5 内容复制粘贴

在普通模式下我们可以通过命令完成快速完成文件中内容的复制和粘贴操作,如下所示:

  • yy:表示复制光标所在行的内容
  • y数字y:表示复制自光标后往下数指定数字行的内容
  • y+数字+其它命令:复制命令指定内容
  • p:表示将复制的内容粘贴到光标后

上述复制操作中yy可能很好理解,这里说明一下y数字y和y+数字+其它命令,例如y3y表示复制3行内容,从光标所在行开始计算(往下数),例如p3k表示复制从当前光标所在行的往上数3行内容。

1.2.6 内容撤销&重做

在普通模式下我们可以通过指定命令完成内容的撤销和重做:

  • u:撤销上一步操作
  • Ctrl+u:重做撤销的操作

1.2.7 内容搜索

有时候我们需要快速定位到某部分内容,那么在普通模式下我们可以使用如下命令完成:

  • /搜索字符:向下搜索内容
  • ?/搜索字符:向上搜索内容
  • n:跳转到搜索内容的下一个匹配项
  • N:跳转到搜索内容的上一个匹配项

例如我在这里搜索29这个字符,那么我就可以在普通模式下先按下“/”按键然后输入要搜索的字符,最后在回车就可以去匹配。

1.2.8 内容替换

如果我们想要对文件中指定内容完成替换,那么我们可以在命令行模式下完成(在普通模式下按下":"就可以进入命令行模式),具体如下所示:

  • :%s/旧的内容/新的内容/g:将整个文档中的所有旧的内容替换为新的内容
  • :s/旧的内容/新的内容/g:将光标所在行的旧的内容替换为新的内容

例如我想把文本中的“李四”替换成“我是李四”。

1.2.9 文件保存&退出

我们在编辑好文件以后便可以去保存或者退出vi命令,那么我们旧需要在命令行模式下完成这些操作,如下所示:

  • :w:保存文件
  • :wq:保存文件并退出
  • :q:不保存仅退出
  • :q!:不保存且强制退出
  • :w 文件名:文件另存为

1.2.10 其它操作

Vi编辑器提供的操作还有很多,这里就不去一一赘述,上述我们完成文件的增删改查,下面我们探讨一下Vi编辑器的其它用法如下所示:

  • 行号显示:命令模式下:set number可以显示行号
  • 打开文件:命令模式下:e 文件

1.3 Vim编辑器

Vim是一个类似于Vi的高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。Vim是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个。

对于vim编辑器我们需要自行下载。

yum install vim

 Vim编辑器是Vi编辑器的一个升级版本,Vi编辑器的操作在Vim编辑器中也是可以使用的,对此Vim编辑器操作在这里省略,当然Vim编辑器相比于Vi编辑器有着更加强大的功能,大家可以根据自己的需求去学习。

二、图形文本编辑器

对于图形文本编辑器,如果有感兴趣的可以自行学习一下,由于后面我们的所有操作都是命令行操作,对此就先不去讲解图形编文本辑器,常见图形文本编辑器如下所示:

  • gedit:GNOME桌面环境下的默认文本编辑器,简单易用。
  • Kate:KDE桌面环境的编辑器,功能强大,支持多文档编辑。
  • Sublime Text:跨平台编辑器,支持多种语言和强大插件。

本次内容就到此为止,新的内容将在下一个教程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2235118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

外包干了三年,精神严重内耗。。。

前段时间我同事(做测试的一个妹子)跟我讲,感觉早上起来十分的疲惫,不想上班,问我们这是什么样的现象,其实有时候我也有这种感觉,虽然我卷,但我也是肉体凡胎啊!不是机器人…

华宇TAS应用中间件入围鲲鹏应用创新大赛2024全国总决赛

近日,鲲鹏应用创新大赛2024全国总决赛入围名单出炉。华宇TAS应用中间件经过区域赛、半决赛一路披荆斩棘,在众多优秀的解决方案中脱颖而出,成功入围全国总决赛。 这也表明华宇TAS应用中间件在方案创新性、技术领先性、商业前景、社会价值等方…

惊爆!内容创业新纪元:AI工作流助你打造自媒体帝国!

又是一个研究AI工作流的深夜。看着扣子商店里各种神奇的智能体,我不禁感叹技术的魔力。一个简单的工作流模板,居然能把过去需要一整天才能完成的工作,压缩到几分钟… 扣子模板 大家好,我是momo,一个专注教人使用AI工作流做自媒体的创业者。今天想和你分享一个能让内容创作效率…

史上最大应用层DDoS攻击 H2 Rapid Reset攻击研究

前言 2023年10月Cloudflare、Google、AWS等厂商公布了一种利用HTTP/2快速重置进行应用层DDoS攻击的0day漏洞(CVE-2023-44487)[1][2],即H2 Rapid Reset DDoS。Google宣传其监控到此种攻击峰值超过每秒3.98亿个请求,打破互联网历史最大应用层DDoS攻击记录…

饱和限幅器MATLAB和CODESYS平台下的实现

1、博途PLC限幅器(SCL代码) 博途PLC限幅器(SCL代码)-CSDN博客文章浏览阅读182次。本文详细介绍了博途PLC的限幅器功能,包括饱和限幅器的概念,并提供了完整的SCL编程代码示例,帮助读者理解和应用PLC限幅器。https://rxxw-control.blog.csdn.net/article/details/136029196 …

在 CSS 中,gap 是 布局容器(flex 或 grid)的属性。它用于设置容器内子元素之间的间距。

在 CSS 中,gap 是 布局容器(flex 或 grid)的属性。它用于设置容器内子元素之间的间距。以下是 gap 属性在不同布局中的应用: 1. 在 CSS Grid 布局中 gap 定义了网格行和列之间的间距。可以分别使用 row-gap 和 column-gap 设置行…

JavaWeb项目-----博客系统

一.设计数据库 1.创建数据库 create database if not exists java108_blog_system character set utf8; drop table if exists user; drop table if exists blog;2.创建博客列表 create table blog(blogId int primary key auto_increment,title varchar(20),content varcha…

一文读懂:AIOps 从自动化运维到智能化运维

今天跟大家聊一聊AIOps(人工智能运维) 为了应对企业面临着日益复杂的运营挑战,AIOps(人工智能运维)作为一种创新的方法应运而生,结合了人工智能和机器学习技术,来提升IT运营的效率和性能。 这…

从0开始学习Linux——文件目录

往期目录: 从0开始学习Linux——简介&安装 从0开始学习Linux——搭建属于自己的Linux虚拟机 从0开始学习Linux——文本编辑器 从0开始学习Linux——Yum工具 从0开始学习Linux——远程连接工具 上期教程我们学习了如何使用远程连接工具去连接Linux系统&#xff0…

C++入门基础知识140—【关于C++ 类构造函数 析构函数】

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C 类构造函数 & 析构函数的相关内容…

MSC“名实之辩”:精准鉴定只为精准治疗

前 言 MSC是一群来源广泛、能够体外增殖分化的异质性细胞。MSC具有免疫调节、促进组织修复等作用,应用于多种疾病的治疗。由于科学进程、习惯等原因,MSC具有多种名称。自先秦以来,就有“名实之辩”,今日我们就讲一讲MSC的名称与…

零基础 Vue 入门:个人主页完整示例教程” “Vue 实战:构建简洁美观的个人主页界面” “从零开始使用 Vue 构建个人主页,包含详细代码解析”

效果图 博客教程:使用 Vue 构建简易个人主页界面 目录 前言项目结构和准备HTML 与 CSS 布局Vue 数据绑定和渲染功能实现总结 前言 本教程将带你逐步使用 Vue.js 创建一个简易的“个人主页”界面。通过学习该项目,你将掌握 Vue 的基本数据绑定、指令的…

(二)基于Bayes方法的道路分割

一、实验目的 1、实验目标 学习掌握Bayes定理(Bayes Theorem)的基本原理及推导过程,以及公式中的先验概率、条件概率、后验概率、相似度等概念。在MATLAB的概率分布函数基础上,通过编写程序,实现图像块内结果统计和序…

从新手到专家:7款电脑平面设计软件评测

平面设计在时尚、广告等多个领域扮演着重要角色,而创作出独特且富有创意的设计作品则需要依赖优秀的电脑平面设计软件。市场上的电脑平面设计软件众多,每款软件都有其独到之处。本文将为你推荐几款值得关注的电脑平面设计软件,并分析它们的特…

Django安装

在终端创建django项目 1.查看自己的python版本 输入对应自己本机python的版本,列如我的是3.11.8 先再全局安装django依赖包 2.在控制窗口输入安装命令: pip3.11 install django 看到Successflully 说明我们就安装成功了 python的Scripts文件用于存…

elementui中的新增弹窗在新增数据成功后再新增 发现数据无法清除解决方法

elementui中的新增弹窗在新增数据成功后再新增 发现数据无法清除解决方法 试过网上其他方法,发现表单清空数据还是有问题,索性用下面方法解决: // 给弹框里面添加 v-ifvisible测试无问题,暂时先这样解决,如果有其他方法&#x…

计算机网络——路由器构成

算路由表是分布式去算——你算你的,我算我的 输出队列非先来先传 调度发生在哪里 缓存队列一般是应对——来数据方向的速度过快问题

PMP–一、二、三模、冲刺–分类–7.成本管理–技巧–挣值分析

文章目录 技巧一模7.成本管理--4.控制成本--数据分析--挣值分析--进度绩效指数(SPI)是测量进度效率的一种指标,表示为挣值与计划价值之比,反映了项目团队完成工作的效率。 当 SPI小于 1.0 时,说明已完成的工作量未达到…

CentOS 7 更换软件仓库

CentOS 7 于2024年6月30日停止维护,官方仓库已经没有软件了,想要继续使用 ,需要更换软件仓库,这里更换到阿里云的软件仓库 https://developer.aliyun.com/mirror/ 查看目前可用的软件数量 yum repolist 更换软件仓库&#xff1a…

Dermaseptin;抗菌肽;皮抑菌肽;ALWKTMLKKLGTMALHAGKAALGAAADTISQGTQ;136212-91-4

【Dermaseptin 简介】 Dermaseptin,也被称为皮抑菌肽,是一类由蛙类皮肤分泌的多阳离子抗菌肽,主要存在于树蛙科(Hylid frogs)的蛙类,特别是 Agalychnis 和 Phyllomedusa 属的蛙类。它具有显著的抗菌活性&a…