linux入门到精通-第三章-vi(vim)编辑器

news2024/11/25 4:24:30

目录

  • 文本编辑器
    • gedit介绍
    • vi(vim)
      • 命令模式
        • 命令模式
        • 编辑模式
        • 末行模式
      • 帮助教程
      • 保存文件
      • 切换到编辑模式
      • 光标移动(命令模式下)
      • 复制粘贴
      • 删除
      • 撤销恢复
      • 保存退出
      • 查找
      • 替换
      • 可视模式
      • 替换模式
      • 分屏
      • 其他用法
      • 配置文件

文本编辑器

gedit介绍

gedit是一个GNOME桌面环境下兼容UTF-8的文本编辑器。它使用GTK+编写而成,它十分的简单易用,有良好的语法高亮,对中文支持很好,支持包括gb2312、gbk在内的多种字符编码。gedit是一个自由软件。
这是 Linux 下的一个纯文本编辑器,但你也可以把它用来当成是一个集成开发环境 (IDE), 它会根据不同的语言高亮显现关键字和标识符。

vi(vim)

vi(Visualinterface)编辑器是 Linux 系统中最常用的文本编辑器,vi在linux界有编辑器之神的没有,几乎所有Linux 发行版中都包含 vi 程序。
vi 工作在字符模式下,不需要图形界面,非常适合远程及嵌入式工作,是效率很高的文本编辑器,尽管在 Linux上也有很多图形界面的编辑器可用,但是vi的功能实那些图形编辑器所无法比拟的。
vim是vi的升级版,它不仅兼容 vi的所有指令,而且还有一些新的特性,例如vim 可以撤消无限次、支持关键词自动完成、可以用不同的颜色来高亮你的代码。vim普遍被推崇为类vi 编辑器中最好的一个。

命令模式

命令模式

任何时候,不管用户处于何种模式,只要按一下ESC键,即可使vi进入命令模式。我们在shell环境(提示符为$)下输入启动vim命令,进入编辑器时,也是处于该模式下。
在命令模式下,用户可以输入各种合法的vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的vi命令,则vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是vi的合法命令,vi会响铃报警。

编辑模式

在命令模式下输入插入命令i (I) 、附加命令a (A) 、打开命令o(O) 、替换命s (S)都可以进入文本输入模式,此时vi窗口的最后一行会显示“插入”。
在这里插入图片描述

末行模式

末行模式下,用户可以对文件进行一些附加处理,尽管命令模式下的命令可以完成很多功能,但要执行一些如字符串查找、替换、显示行号等操作还是必须要进入末模式的。
在命令模式下,输入冒号即可进入末行模式。此时vi窗口的状态会显示出冒号,等待用户输入命令。用户输入完成后,按回车执行,之后vi编辑器又自动返回到命令模式下。

帮助教程

vimtutor

保存文件

一定要先退出插入模式(按ES进入命令模式),然后(小写状态下),shift +zz (按住“shift”+ 按两下“z”键),或者(大写状态下: Zz) 即可保存退出当前文件
第一步: 进入命令模式(ESC)
第二步: shifit+zz

切换到编辑模式

按键功能
i光标位置当前处插入文字
l光标所在行首插入文字
o(字母)光标下一行插入文字(新行)
O(字母)光标上一行插入文字(新行)
a光标位置右边插入文字
A光标所在行尾插入文字
s删除光标后边的字符,从光标当前位置插入
S删除光标所在当前行,从行首插入

光标移动(命令模式下)

按键功能
Ctrl + f向前滚动一个屏幕
Ctrl + b向后滚动一个屏幕
gg到文件第一行行首
G(大写)到文件最后一行行首,G必须为大写
mG或mgg到指定行,m为目标行数
0(数字)光标移到到行首(第一个字符位置)
$光标移到到行尾
I(小写L)向右移动光标
h向左移动光标
k向上移动光标
j向下移动光标
^光标移到到行首(第一个有效字符位置)

复制粘贴

按键功能
[n]yy复制从当前行开始的 n 行
p把粘贴板上的内容插入到当前行

删除

按键功能
[n]x删除光标后 n 个字符
[n]X删除光标前n个字符
D
[n]dd删除从当前行开始的n行(准确来讲,是剪切,剪切不粘贴即为删除)
dG删除光标所在开始到文件尾的所有字符
dw删除光标开始位置的字,包含光标所在字符
d0(0为数字)删除光标前本行所有内容,不包含光标所在字符
dgg删除光标所在开始到文件首行第一个字符开始的所有字符

撤销恢复

按键功能
.(点)执行上一次操作
u撤销前一个命令
ctrl+r反撤销
100 + .执行上一次果作100次

保存退出

按键功能
ZZ(shift+z+z)保存退出

查找

按键功能
/字符串从当前光标位置向下查找 (n,N查找内容切换)
?字符串从当前光标位置向上查找 (n,N查找内容切换)

替换

按键功能
r替换当前字符
R替换当前行光标后的字符(ESC退出替换模式)

可视模式

按键功能
v按字符移动,选中文本,可配合h、i、k、l选择内容,使用d删除,使用y复制
Shift +v行选 (以行为单位)选中文本,可配合h、i、k、l选择内容,使用d删除,使用y复制
Ctrl+v列选选中文本,可配合h、i、k、l选择内容,使用d删除,使用v复制

替换模式

在这里插入图片描述

分屏

在这里插入图片描述

其他用法

在这里插入图片描述

配置文件

在这里插入图片描述

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

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

相关文章

SpringCLoud——Docker的基本介绍

什么是Docker 项目部署问题 大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题: 依赖关系复杂,容易出现兼容性问题开发、测试、生产环境有差异。 Docker Docker如何解决依赖的兼容问题的? 将应用的LIbs&…

GDPU 数据结构 天码行空2

实验内容 用顺序表实现病历信息的管理与查询功能。具体要求如下: 利用教材中定义顺序表类型存储病人病历信息(病历号,姓名,症状);要求使用头文件。 设计顺序表定位查找算法,写成一个函数,完成的功能为:在线性表L中查找数据元素x…

CSS 链接:Link

文章目录 CSS 链接链接样式常见的链接样式文本修饰背景颜色案例1,添加不同样式的超链接2,高级 - 创建链接框 CSS 链接 CSS可以用来设置链接的样式,包括未访问的链接(a:link)、已访问的链接(a:visited&…

【Linux 应用】 kworker 进程

1.简介 “kworker” 是 Linux 内核的工作线程,用于异步处理工作队列中的任务。这些任务包括处理硬件中断、文件系统事件、管理系统内存等。你可能会看到多个 kworker 进程,每个进程的名称后面都有一个数字,如 “kworker/0:1”、“kworker/1:…

GIF动画如何生成?简单几步快速生成gif

gif动画图片制作的方法有哪些?gif动图就是由一帧一帧的静态图像合成的动态效果。gif动图能够在日常聊天中缓解尴尬的气氛,表达你的内心想法等等。那么,gif动图如何自制呢?通过使用专业的gif动画制作(https://www.gif.c…

Tomcat7+ Weak Password Backend Getshell Vulnerability

漏洞描述 Tomcat 支持通过后端部署 war 文件,所以我们可以直接将 webshell 放入 Web 目录下。为了访问后端,需要权限。 Tomcat7 的权限如下: 经理(后台管理) 管理器-GUI(HTML 页面的权限)管理…

JMeter压力测试初体验:线程组、取样器、监听器的简单使用以及如何查看压测结果

🧑‍💻作者名称:DaenCode 🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开…

王国纪元 - 龙火战场+国战+IP联动ACW

IGG出品 龙火战场 类似于一个演习战场,给平时不常打仗的小伙伴一个打仗的机会。 大致流程:进场5分钟可以和朋友聊天打屁,商量战术,之后5分钟可以进攻哨塔和传送阵(低级联赛没有传送阵),哨塔没什…

如何写出一个成熟的线上线下结合的营销方案?

分享一下咱们案例库里策划的一个线上线下结合的活动的案例。 这个活动是为了推广一个新品牌,增加品牌知名度和用户粘性。 你可以根据以下几个要点来进行活动策划: 1、目标: 让目标用户了解并喜欢新品牌,激发用户参与和分享&am…

使用延迟队列解决分布式事务问题——以订单未支付过期,解锁库存为例

目录 一、前言 二、库存 三、订单 一、前言 上一篇使用springcloud-seata解决分布式事务问题-2PC模式我们说到了使用springcloud-seata解决分布式的缺点——不适用于高并发场景 因此我们使用延迟队列来解决分布式事务问题,即使用柔性事务-可靠消息-最终一致性方…

【JAVASE】图书管理系统

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈Java 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 图书管理系统 1. 设计思路图2. 创建 boo…

2023年 国赛 数学建模C 基于遗传算法和神经网络的销量定价模型

一、写在开头 阅读者可能需要先阅读2023年国赛C题才能读懂下面的内容。 文章着重于解题方向指引和经历分享,只解释部分核心代码。 二、内容概述 刚刚做完比赛,对这段经历和对问题的处理方法进行下记录。 三、个人经历 今年大三,第一…

stm32f103步进电机S曲线计算

S曲线主要实现低速扭力大,更快更稳 https://zhuanlan.zhihu.com/p/396648926?utm_campaign&utm_mediumsocial&utm_oi1361101006265331712&utm_psn1686906450235133952&utm_sourcezhihu 可点击上面链接查看啤酒杯的运动动画 摘自一段知乎上一段关于…

html div span 容器元素

html div && span 容器元素 div 标签定义 HTML 文档中的一个分隔区块或者一个区域部分, 标签常用于组合块级元素,以便通过 CSS 来对这些元素进行格式化 span 用于对文档中的行内元素进行组合 标签提供了一种将文本的一部分或者文档的一部分独立出来的方式 &…

【ELFK】之zookeeper

一、Zookeeper是什么? zooleeper是一个分布式服务管理框架。存储业务服务节点元数据及信息,并复制;通知客户端在zookeeper上注册的服务节点状态,通过文件系统通知机制 1、Zookeeper工作机制 Zookeeper从设计模式角度来理解 是…

Java——文件操作IO

一 、文件File 狭义的文件: 指硬盘上的 文件 和 目录 。 广义的文件: 泛指计算机中的很多软硬件资源。 针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时, 往往不是保存成一个整体,而是独立成一个个的单位…

C/C++简单计算器 2019年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C简单计算器 一、题目要求 1、编程实现 2、输入输出 二、解题思路 1、案例分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 C/C简单计算器 2019年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 一个最简单的计算器,支持…

Hadoop NameNode执行命令工作流程

Hadoop NameNode执行命令工作流程 客户端API或者CLI与NameNode的交互命令数据的格式(1) 预处理流程(2) 创建NameNode与NameNodePrcServer流程(3) HDFS API以及CLI的命令到NameNode的工作执行流程(4) 执行命令的参数流动 客户端API或者CLI与NameNode的交互命令数据的格式 hadoop…

读高性能MySQL(第4版)笔记10_查询性能优化(上)

1. 三管齐下 1.1. 不做、少做、快速地做 1.2. 如果查询太大,服务端会拒绝接收更多的数据并抛出相应错误 1.3. 如果查询写得很糟糕,即使库表结构再合理、索引再合适,也无法实现高性能 1.4. 查询优化、索引优化、库表结构优化需要齐头并进&…

JS的WebAPI

WebAPI背景知识 什么是 WebAPI 前面学习的 JS 分成三个大的部分 ECMAScript: 基础语法部分 DOM API: 操作页面结构 BOM API: 操作浏览器 WebAPI 就包含了 DOM BOM. 什么是 API API 是一个更广义的概念. 而 WebAPI 是一个更具体的概念, 特指 DOMBOM,所谓的 API …