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:保存文档并退出软件

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

相关推荐
Forest_HAHA1 小时前
<10>_Linux网络基础(上)
linux·服务器
c++逐梦人1 小时前
Linux下的编辑器vim的介绍
linux·编辑器·vim
大锦终2 小时前
【Linux】Reactor
linux·运维·服务器·c++
爱吃面条的猿2 小时前
Python修改pip install 指定安装包的路径和默认镜像源
linux·python·pip
代码AC不AC3 小时前
【Linux】版本控制器Git
linux·git·gitee
杨云龙UP3 小时前
【MySQL逻辑备份】基于mysqldump的MySQL 8.0全量逻辑备份脚本
linux·运维·数据库·sql·mysql·mssql
BS_Li3 小时前
【Linux系统编程】基础IO
linux·服务器·文件操作
百***35943 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos
赖small强4 小时前
【Linux C/C++开发】第16章:多线程编程基础
linux·c语言·c++·多线程编程·进程和线程的本质区别
朕要睡了4 小时前
aws-sdk-cpp编译
linux·运维·服务器