Vi文本编辑器如何使用,这里有详细步骤

Vi是一个强大的文本编辑器,包含在大多数Linux系统中,甚至是嵌入式系统中。有时,你必须在不包括更友好的文本编辑器的系统上编辑文本文件,因此了解Vi是至关重要的。

与Nano不同,Nano是一款易于使用的终端文本编辑器,但Vi不同,它不会在屏幕上提供键盘快捷键列表。它是一个模式文本编辑器,同时具有插入和命令模式。

入门

Vi是一个终端应用程序,因此你必须从终端窗口启动它。使用vi /path/file命令打开带有vi的现有文件。如果文件还不存在,vi /path/file命令也可以使用;Vi将创建一个新文件,并在保存时将其写入指定位置。

如果要编辑系统文件,请记住使用sudo。因此,例如,如果你想编辑你的fstab文件,你可以键入sudo vi/etc/fstab。如果你使用的是不使用sudo的非Ubuntu版本的Linux,请使用su命令。

命令模式

这是当你在vi中打开一个文件时会看到的。看起来你可以开始打字,但你不能。Vi是一个模式文本编辑器,它以命令模式打开。尝试在此屏幕上键入将导致意外结果。

在命令模式下,可以使用箭头键移动光标。按x键删除光标下的字符。还有多种其他删除命令,例如,键入dd(按两次d键)可删除整行文本。

你可以在命令模式下选择、复制、剪切和粘贴文本。将光标放在要复制的文本的左侧或右侧,然后按v键。移动光标以选择文本,然后按y复制所选文本或按x剪切文本。将光标定位在所需位置,然后按p键粘贴复制或剪切的文本。

插入模式

除了命令模式,你需要了解的另一种模式是插入模式,它允许你在Vi中插入文本。一旦你知道插入模式的存在,就很容易进入插入模式,只需在将光标定位到命令模式后按i键一次。开始键入,Vi将把你键入的字符插入到文件中,而不是试图将它们解释为命令。

在插入模式下完成后,按escape键返回命令模式。​

保存和退出

你可以保存vi并从命令模式退出。首先,按下转义键确保你处于命令模式(如果你已经处于命令模式,再次按下转义键将不会起任何作用。)

键入:wq,然后按enter键将文件写入磁盘并退出vi。你也可以将此命令拆分,例如,键入:w,然后按enter键将文件写到磁盘而不退出,或者键入:q,退出vi而不保存文件。

如果自上次保存后修改了文件,Vi不会让你退出,但你可以键入:q!并按enter键忽略此警告。

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

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

相关文章

Shell 脚本应用(四)

正则表达式概述 正则表达式又称正规表达式,常规表达式。在代码中常简写为regex,regexp 或RE.正则表达式 是使用单个字符串来描述,匹配一系列符合某个句法规则的字符串,简单来说,是一种匹配字符串 的方法,通…

JVM入门到入土-Java虚拟机寄存器指令集与栈指令集

JVM入门到入土-Java虚拟机寄存器指令集与栈指令集 HotSpot虚拟机中的任何操作都需要入栈和出栈的步骤。 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小&#x…

PyCharm安装PyQt5一系列工具

目录 目录 一、安装IDE 二、安装Pycharm 三、Pycharm内安装一系列工具 1.新建一个项目 2.点击左上角File-Setting-点击加号 3.添加环境变量 4.配置qtdesigner,pyuic,pyrcc 三、用Pyinstaller打包成exe(简单版) 四、我的解释器装在了中文路径&a…

如何分析信号的频率信息?

1 简介 当信号的频率信息是已知的,或者近似已知的,则采样频率容易选择,选择最大采样频率的2倍以上(奈奎斯特采样)。 这里,将讨论信号频率未知的情况。尤其是,考虑如何避免混叠错误。 2 低通滤波(反混叠) 去除混叠错…

SpringBoot实用开发(二)-- Redis客户端选择

目录 引言: Redis客户端切换成jedis客户端技术操作步骤,具体如下: 1.在pom.xml文件里,导入jedis坐标

二、基于图像和结构化数据多模态融合的回归预测网络【框图讲解+源码】

整理读研期间做的项目与日常小实验 本篇未完待续…代码部分整理后补充 0. 背景 实验室有一些材料的SEM(扫描电镜)图像、也有对应的组分信息(结构化数据,包含类别特征和连续的数值特征),以及对应的力学性能…

WEB 3D技术 three.js带着大家简单在文档上过一下集合体 并理解如何在文档中调试参数

前面讲了 自己创建集合体 顶点分组 但是这样其实挺麻烦的 three.js 其实已经给我们封装好了 官网直接搜索 geometry 这边这个立方体 应该算是我们用的最多的 这里 这个就是通过三个参数设置 它们分别对应 高度 宽度 厚度 拉下来 我们看到 其实他有六个参数 前面的 x y z三个…

有什么好用的C/C++源代码混淆工具?

​ 有什么好用的C/C源代码混淆工具? 开始使用ipaguard 前言 iOS加固保护是直接针对ios ipa二进制文件的保护技术,可以对iOS APP中的可执行文件进行深度混淆、加密。使用任何工具都无法逆向、破解还原源文件。对APP进行完整性保护,防止应用…

Python打包

将 Python 脚本打包成可执行的 .exe 文件,通常可以使用 PyInstaller 这个库来实现。PyInstaller 是一个流行的工具,它可以将 Python 程序和所有相关的依赖打包成一个独立的可执行文件,适用于 Windows、Linux 和 macOS 系统。安装 PyInstaller 首先,需要安装 PyInstaller。…

sqlmap各个命令的解释及其基本用法

各个命令的用法 -h,--help Show basic help message and exit(显示基本帮助消息并退出) -hh Show advanced help message and exit(显示高级帮助信息并退出) --version Show programs version number and exit(显示程序的版本…

HTML 实操试题(二)

创建一个简单的HTML文档&#xff1a; 包含<!DOCTYPE html>声明。包含<html>标签&#xff0c;并设置lang属性为英语。包含<head>标签&#xff0c;其中包含<meta charset"UTF-8">和一个自定义的页面标题。包含<body>标签&#xff0c;其…

力扣刷题记录(18)LeetCode:474、518、377、322

目录 474. 一和零 518. 零钱兑换 II 377. 组合总和 Ⅳ 322. 零钱兑换 总结&#xff1a; 474. 一和零 这道题和前面的思路一样&#xff0c;就是需要将背包扩展到二维。 class Solution { public:int findMaxForm(vector<string>& strs, int m, int n) {vector&l…

C语言结构体内存对齐

文章目录 一、结构体内存对齐问题二、查看结构体成员起始位置三、设置内存对齐方式 一、结构体内存对齐问题 如下的info_s结构体类型&#xff0c;包含一个int型成员age, 一个char型成员gender, 一个int型成员id。 单从数据成员的大小进行分析&#xff0c;整个结构体的大小应为…

输入两个时间,判断时间是否为非工作日,并且是日期否为同一天。是的话返回true,否返回false

工作遇到这么一个逻辑&#xff0c;前端回传两个时间&#xff08;必须是两个那一种&#xff09;。然后&#xff0c;我后端需要判断这两个时间是否为同一天&#xff0c;并且这个时间是否为非工作日&#xff0c;是的话返回true&#xff0c;反之返回false 代码&#xff1a; packa…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Dialog对话框组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Dialog对话框组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Dialog对话框组件 对话框的使用场景也很高频&#xff0c;比如 APP 上架应…

单元测试实战

文章目录 为什么要做单元测试&#xff1f;单元测试的几个核心要点是&#xff1a;单元测试目标单元测试框架JUnitTestNG 单元测试工具&#xff1a; 为什么要做单元测试&#xff1f; 测试代码&#xff1a;通过编写和运行单元测试&#xff0c;开发者能够快速验证代码的各个部分是否…

共享和独享的区别是什么?有必要用独享IP吗?

通俗地讲&#xff0c;共享IP就像乘坐公共汽车一样&#xff0c;您可以到达目的地&#xff0c;但将与其他乘客共享旅程&#xff0c;座位很可能是没有的。独享IP就像坐出租车一样&#xff0c;您可以更快到达目的地&#xff0c;由于车上只有您一个人&#xff0c;座位是您一个人专用…

安卓开发转鸿蒙开发到底有多简单?学习鸿蒙开发有什么价值?

相信各位小伙伴们多多少少都了解过鸿蒙了&#xff0c;有些一知半解而有些已经开始学习起来。那这个鸿蒙到底好不好搞&#xff1f;要不要搞&#xff1f; 据了解安卓反正目前工作感觉不好找&#xff0c;即便是上海这样的大城市也难搞&#xff0c;人员挺饱和的。最近临近年关裁员…

在PyTorch中设置随机数生成器的种子值

在PyTorch中设置随机数生成器的种子值的方法 CPU&#xff1a;可以使用torch.manual_seed()函数 GPU&#xff1a;需要额外设置torch.cuda.manual_seed()来设置GPU上的随机数生成器种子值。 import torch# 设置随机种子 torch.manual_seed(0)if torch.cuda.is_available():tor…

iceberg1.4.2 +minio通过spark创建表,插入数据

iceberg 是一种开放的表格式管理&#xff0c;解决大数据数据中结构化&#xff0c;非结构化和半结构化不统一的问题。主要是通过对表的管理实现增删改查&#xff0c;同时支持历史回滚&#xff08;版本旅行&#xff09;等操作。下层支持hadoop&#xff0c;s3,对象存储&#xff0c…