Linux vi和vim编辑器、快捷键的使用

Linux vi和vim编辑器、快捷键的使用

  • vi和vim的三种模式
  • 使用vim编写Hello.java文件
  • vim快捷键和命令

在Linux下一般使用vi编辑器来编辑文件,vim是它的增强版。vim用于在远程环境下用命令形式对文本进行在线编辑,既可以查看文件也可以编辑文件。

vi是Linux系统内置的,vim可以主动的以字体颜色辨别语法的正确性,方便程序设计,还有代码补完、编译及错误跳转等方便编程的功能特别丰富。

vi和vim的三种模式

普通模式: 默认模式,以vim打开一个文件就直接进入的模式,可以使用【上下左右】键移动光标,使用【删除字符】或【删除整行】来处理内容,也可以使用【复制、粘贴】来处理文件数据。

插入模式: 编辑模式,普通模式按i 键进入,或者按IoOaArR也能进入,一般i即可。

命令模式: 先输入esc,再输入:+命令,使用相关命令来执行读取、保存、替换、搜索、退出、显示行号等操作

用法格式: vim [选项] [文件]

使用vim编写Hello.java文件

第一步:键入以下命令

vim hello.java

如果之前该文件夹下没有hello.java文件,则会新建一个此文件
在这里插入图片描述

第二步:按i进入编辑模式

第三步:编写HelloWorld程序
在这里插入图片描述

第四步:按ESC键退出编辑模式
第五步:输入:wq命令保存并退出
在这里插入图片描述

此时就能看到刚刚的文件了
在这里插入图片描述

第六步:查看该文件
执行以下命令

vim Hello.java

因为当前目录已经有Hello.java文件了,所以没有新建文件,而是进入了查看模式
在这里插入图片描述

在这里插入图片描述

vim快捷键和命令

在这里插入图片描述

命令/快捷键描述
vim aaa.xml打开aaa.xml文件
yy【普通模式】复制当前行,5yy拷贝当前行开始向下的5行
p【普通模式】粘贴
dd【普通模式】删除当前行,5dd删除当前行开始向下的5行
G【普通模式】快捷到最后一行
gg【普通模式】快捷到第一行
u【普通模式】撤销一步操作
行号 shift + g【普通模式】快速跳转到某行,先输入数字,再按快捷键
/【命令模式】/xxx + 回车,表示搜索某个单词,区分大小写,n查找下一个,N查找上一个
:set nu【命令模式】打开行号显示
set nonu【命令模式】关闭行号显示

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LINUX入门篇【7】--git提交指令以及代码调试工具gdb

前言: 我们今天来介绍一下我们工具篇的最后两个工具,即git提交指令以及代码调试工具gdb,再结合前面的知识点,我们就可以基本完成我们VS上的基本的功能:编写,调试,编译,执行程序的这些过程。 1…

leetcode:反转链表

题目描述 题目链接:206. 反转链表 - 力扣(LeetCode) 分析题目 思路一 我们可以设计算法让整个链表掉头 定义三个代码n1,n2,n3 n1指向NULL,n2指向head,n3指向第二个结点 当n2不为NULL的时候,让n2->ne…

ResizeObserver观察元素宽度的变化

ResizeObserver观察元素宽度的变化 ResizeObserver观察元素宽度的变化 ResizeObserver观察元素宽度的变化 ResizeObserver 构造函数创建一个新的 ResizeObserver 对象,它可以用于监听 Element 内容盒或边框盒或者 SVGElement 边界尺寸的大小。查看详细说明 案例 &l…

电影:从微缩模型到AI纹理

在线工具推荐: 三维数字孪生场景工具 - GLTF/GLB在线编辑器 - Three.js AI自动纹理化开发 - YOLO 虚幻合成数据生成器 - 3D模型在线转换 - 3D模型预览图生成服务 自胶片问世以来,电影制作人必须以模仿现实的方式使用纹理,让观众相信他…

Semi-Supervised Multi-Modal Learning with Balanced Spectral Decomposition

Y是所有模态的表征矩阵, ∑ i 1 d h ( λ i ) \sum_{i1}^dh(\lambda_i) ∑i1d​h(λi​) is the proposed eigenvalue-based objective function,the final similarity matrix W for the multimodal data as a block matrix 辅助信息 作者未提供代码

研究前沿| Nature:艰难梭菌引发肠道神经源性炎症的新机制

前言 艰难梭菌感染(Clostridioides difficile infection)是目前发达国家医院和社区内获得性肠道细菌感染腹泻的最主要原因之一。在美国,每年有约50万例病例和导致约29,000例死亡。艰难梭菌(C. difficile)是一种产生孢子…

力扣C++学习笔记——C++ 给vector去重

要使用std::set对std::vector进行去重操作,您可以将向量中的元素插入到集合中,因为std::set会自动去除重复元素。然后,您可以将集合中的元素重新存回向量中。以下是一个示例代码,演示如何使用std::set对std::vector进行去重&#…

Android Studio 安装及使用

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

IP地址的分包与组包:网络通信的关键技术解析

在计算机网络中,IP地址的分包与组包是网络通信过程中关键的技术环节,分别涉及将数据拆分为适当大小的包以及在接收端重新组装这些包的过程。这两个过程对于确保高效、可靠的数据传输至关重要。以下将深入探讨IP地址的分包与组包的概念、原理以及在网络通…

内置函数和消息传递API

消息传递范式 消息函数、聚合函数与更新函数 消息函数接受一个参数 edges,这是一个 EdgeBatch 的实例, 在消息传递时,它被DGL在内部生成以表示一批边。edges 有 src、 dst 和 data 共3个成员属性, 分别用于访问源节点、目标节点…

LeetCode | 19. 删除链表的倒数第 N 个结点

LeetCode | 19. 删除链表的倒数第 N 个结点 OJ链接 思路: 定义虚拟头节点dummy并初始化使其指向head然后定义快慢指针让快指针先走n步然后一起走最后删除倒数第n个节点然后释放虚拟节点dummy struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {…

论文导读 | 大语言模型与知识图谱复杂逻辑推理

前 言 大语言模型,尤其是基于思维链提示词(Chain-of Thought Prompting)[1]的方法,在多种自然语言推理任务上取得了出色的表现,但不擅长解决比示例问题更难的推理问题上。本文首先介绍复杂推理的两个分解提示词方法&a…

LaTex 使用颜色突出文中链接或引用

在导言区添加下面的LaTex语句: \usepackage[colorlinks,linkcolorblue]{hyperref}在LaTex中渲染结果如下图,公式会被渲染为蓝色,文献引用会被渲染为绿色:

Java-final

【1】修饰变量; 1.public class Test { 2. //这是一个main方法,是程序的入口: 3. public static void main(String[] args) { 4. //第1种情况: 5. //final修饰一个变量,变量的值不可以改变&#…

为何公司强调流程员工总是觉得反感?

在企业管理中,流程设计对于提高效率和降低风险至关重要。然而,很多企业在流程设计时常犯一些常见的错误,导致基层员工对流程感到烦扰,甚至产生抵触情绪。本文将通过分析一个企业的报销流程问题,探讨如何优化流程以提高…

Android自动化测试,5个必备的测试框架

Appium Appium是一个开源的移动测试工具,支持iOS和Android,它可以用来测试任何类型的移动应用(原生、网络和混合)。作为一个跨平台的工具,你可以在不同的平台上运行相同的测试。为了实现跨平台的功能,Appi…

SQLserver-快速复制一行数据到数据库并修改ID

右击表名,点击选择前1000行 在前面写插入到哪个表,并且对唯一标识字段进行重写 后面是筛选,具体复制哪条数据

Keras训练一个基本体系化的分类模型流程案例

Keras训练一个基本体系化的分类模型流程案例 import numpy as np from keras.datasets import mnist from keras.utils import np_utils # 导入keras提供的numpy工具包 from keras.models import Sequential from keras.layers import Dense from keras.optimizers impo…

day17-高速缓冲区的管理机制

1.目的 用户与磁盘进行文件交互时的流程 磁盘与高速缓冲区的关系 加深块设备驱动的理解 hash 循环链表 单链表的使用方法 2.高速缓冲区的工作流程 高速缓冲区中存储这对应的块设备驱动的数据 当从块设备中读取数据的时候,OS首先会从高速缓冲区中进行检索&#xff0…

当代职场人做分析,当然要用大数据分析工具

不管是从效率、分析的可用性以及灵活性来看,用大数据分析工具都还板上钉钉的。毕竟大数据分析工具集齐了大数据时代数据分析工具应具备的特点优势。 1、对接ERP,立得100BI报表 点击对接金蝶、用友ERP后,BI系统立即即可取数分析,…