06-编辑器

gedit编辑器

gedit是Ubuntu系统自带的编辑器,可以用来轻度编辑和记录一些内容。

在终端中我们通过以下命令打开:

powershell 复制代码
gedit 要打开或者新建的文件名

虽然Ubuntu的图形界面也能通过gedit打开文件,但是用终端打开gedit可以动用更高的权限,在图形界面下默认使用的是用户身份,要修改某些需要管理员权限的文件是无法操作的,只能读不能写。

现在不加sudo来执行gedit来打开上一节配置软件源的文件:

对比加上了sudo权限来打开:

图形界面虽好,但网上教程一般都是用vi或者vim来修改配置文件,因为系统一般自带vi,而且不需要区分系统是否需要使用图形界面。同样vi/vim编辑器编辑某些文件也需要使用sudo权限。

Vi/Vim编辑器

大部分Linux系统中都会自带Vi编辑器已方便用户在终端上编辑文件,而Vim是Vi的升级版本。

Vim

Ubuntu下使用apt可安装Vim编辑器:

powershell 复制代码
sudo apt install vim

vi/vim使用

powershell 复制代码
vi 文件名
vim 文件名

Vim是在终端下使用,没有图形界面的,所以对它的所有控制都只能通过命令来实现。

Vim的三种模式
  • 一般模式:一般模式用来浏览文本,查找内容,但是不可以编辑,在该模式下的键盘输入会被当成快捷键,如复制粘贴等。打开Vim时,默认是工作在一般模式。
  • 插入模式:插入模式下具有普通编辑器的功能,该模式下的键盘输入会被当成文本内容。
  • 命令行模式:命令行模式支持保存、退出、替换等命令,以及Vim的高级功能。
模式切换
  • 在任意模式下,我们可以通过按键"Esc"进入到一般模式。
  • 在一般模式下,通过按键"a""i""o""O""r""R"等可进入到插入模式。
  • 在一般模式下,通过按键":"可进入到命令行模式。
插入模式

进入、退出插入模式的快捷键

  • i:在当前光标所在位置插入文本(常用)
  • a:在当前光标所在位置的下一个字符插入文本
  • o:在光标所在位置后插入新行
  • r:替换当前光标所在位置的字符
  • R:可以替换当前光标所在位置之后的字符,按下"Esc"则退出
  • ESC:退出插入模式
一般模式

常用快捷键

光标移动:

  • k/↑:光标向上移动
  • j/↓:光标向下移动
  • h/←:光标向左移动
  • l(小写的字母L)/→:光标向右移动
  • PageUp:向上翻页
  • PageDown:向下翻页

文本查找:

  • /word:在文件中搜索关键字word
  • n:查找下一个关键字
  • N:查找上一个关键字

撤销重做:u(撤销上一步操作,等价于windows的Ctrl+Z)

删除,复制,粘贴:

  • d:删除光标所选内容
  • dd:删除当前行
  • y:复制光标所选中的内容
  • yy:复制当前行
  • p:将复制的数据粘贴在当前行的下一行
  • P:将复制的数据粘贴在当前行的上一行

tips:Ctrl+Z强制退出vim。

命令行模式

在一般命令模式下,按下键盘的冒号键" :",就可以进入命令行模式,继续输入要执行的命令按回车即可执行。

  • w:保存文档
  • q:直接退出软件,前提是文档未做任何修改
  • q!:不保存修改,直接退出软件
  • wq:保存文档并退出软件

以上一般是较常用的命令或快捷键,还有很多操作就不列出来了,以上的命令对日常的编辑足够使用了。

相关推荐
AttackingLin12 分钟前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
学Linux的语莫1 小时前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
踏雪Vernon2 小时前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
学Linux的语莫2 小时前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器
legend_jz2 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py2 小时前
【Linux】-学习笔记04
linux·笔记·学习
黑牛先生2 小时前
【Linux】进程-PCB
linux·运维·服务器
友友马2 小时前
『 Linux 』网络层 - IP协议(一)
linux·网络·tcp/ip
猿java3 小时前
Linux Shell和Shell脚本详解!
java·linux·shell