当前位置: 首页 > news >正文

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

往期目录:

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 an 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.mrgr.cn/news/65289.html

相关文章:

  • 鸿蒙进阶-AlphabetIndexer组件
  • Go 函数的使用
  • 【大数据学习 | kafka】简述kafka的消费者consumer
  • VsCode显示空格
  • 开源呼叫中心系统 FreeIPCC:WebRTC 详解
  • js中多let与var
  • java动态导入导出excel,javassist动态创建类
  • C/C++ stackful 有栈协同程式的一些缺点。
  • django电商易购系统-计算机设计毕业源码61059
  • JAVA通过AOP自定义注解记录日志
  • 100种算法【Python版】第38篇—— Tarjan算法
  • 智能推荐系统介绍
  • 【人工智能-初级】练习题:matplotlib基础练习30例
  • Python 中的迭代器与生成器详解
  • 关于halcon的可变形logo模板匹配find_local_deformable_modle_xld解释及简化匹配代码
  • JavaScript函数
  • 物联网赋能的人工智能图像检测系统
  • 探索 Python 的新天地:Helium 库揭秘
  • 代码随想录训练营Day15 | 530.二叉搜索树的最小绝对差 - 501.二叉搜索树中的众数 - 236. 二叉树的最近公共祖先
  • 15.函数的重载
  • 04741计算机网络原理真题-CRC的计算-案例分析
  • PHP+MySQL开发的一套招聘管理系统开发案例源码功能介绍
  • H5页面在线预览pdf
  • 照明灯十大知名品牌有哪些?2024灯具十大公认品牌排行榜出炉!
  • SpringMVC课时2
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十. 多线程控制帧率。循环播放,QT connect 细节,