当前位置: 首页 > news >正文

Linux命令篇(六):vi/vim专项

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝您生活愉快!

文章目录

  • 一、什么是vim
  • 二、vim操作说明
    • 2.1 vim的三种模式
      • 2.1.1 命令模式
      • 2.1.2 输入模式
      • 2.1.3 命令行模式
  • 三、vi/vim命令使用说明
    • 3.1 vi创建文件
    • 3.2 vi/vim编辑文件
    • 3.3 保存退出
    • 3.4 vi/vim常用按键说明
  • 四、结束语

一、什么是vim

Vim 是从 vi 发展出来的一个文本编辑器。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

二、vim操作说明

2.1 vim的三种模式

基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)

2.1.1 命令模式

启动vi/vim命令,便进入到了命令模式,此时敲击键盘操作便会被vim识别为命令动作,在该模式下可以进行如下操作命令:

  • i:切换到输入模式,在光标当前位置开始输入文本
  • x:删除当前光标所在处的字符
  • : – 切换到底线命令模式,以在最底一行输入命令
  • dd:剪切当前行
  • yy:复制当前行
  • u:撤销上一次操作
  • :w – 保存文件,不退出
  • :q – 退出,不保存文件
  • :wq – 保存退出
  • ZZ – 保存退出

2.1.2 输入模式

在命令模式下,按 i 即可进入输入模式,使用Esc键可以退出输入模式。在输入模式中可以使用的操作如下:

  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

2.1.3 命令行模式

在输入模式中按esc键退出输入模式后,按“:”键便可进入底线命令行模式,在底线命令模式中,可以进行查询字符串等内容的操作,基本常用的命令有(已经省略了冒号):

:w -保存文件
:q -退出 Vim 编辑器
:wq -保存文件并退出 Vim 编辑器
:ZZ -保存文件并退出 Vim 编辑器
按Esc键可以退出底线命令行模式

三、vi/vim命令使用说明

3.1 vi创建文件

我们可以使用 vi 命令来建立一个名为 tes.txt 的文件,可以进行如下命令操作:

vi test.txt

注意:vi 后面一定要加文件名,不管该文件存在与否!

3.2 vi/vim编辑文件

按下 i 进入输入模式(也称为编辑模式),开始编辑文字,此时会出现如下画面,表示目前处于编辑过程
在这里插入图片描述

3.3 保存退出

返回到一般模式中,输入:wq保存退出
在这里插入图片描述

3.4 vi/vim常用按键说明

  • [Ctrl] + [f] – 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
  • [Ctrl] + [b] --屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
  • [Ctrl] + [d] --屏幕『向下』移动半页
  • [Ctrl] + [u] --屏幕『向上』移动半页
  • $ 或功能键[End] --移动到这一行的最后面字符处(常用)
  • H --光标移动到这个屏幕的最上方那一行的第一个字符
  • L --光标移动到这个屏幕的最下方那一行的第一个字符
  • G --移动到这个档案的最后一行(常用)

四、结束语

以上总结linux编辑文件的两个常用命令vi/vim,并列举了每个命令高频使用的参数和应用场景,如有其他疑问请大家评论留言指出,欢迎大家指正。最后,希望这篇博文能给大家提供些许帮助,感谢大家的支持!

linux相关文章索引文章链接
Shell 流程控制Shell 流程控制
Shell 基本运算符Shell 基本运算符
Shell 变量Shell 变量
Linux命令篇(一):文件管理部分Linux命令篇(一):文件管理部分
Linux命令篇(二):文档编辑部分Linux命令篇(二):文档编辑部分
Linux命令篇(三):磁盘管理部分Linux命令篇(三):磁盘管理部分
Linux命令篇(四):系统管理部分Linux命令篇(四):系统管理部分
Linux命令篇(五):解压缩部分Linux命令篇(五):解压缩部分
Linux命令篇(六):vi/vim专项Linux命令篇(六):vi/vim专项
Linux系列:系统目录结构Linux系列:系统目录结构
Linux系列–shell基础语法Linux系列–shell基础语法
Linux系列–定时任务设置Linux系列–定时任务设置

相关文章:

Linux命令篇(六):vi/vim专项

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝您生活愉快! 文章目录 一、什么是vim二…...

Java 还能不能继续搞了?

金三银四招聘季已落幕,虽说行情不是很乐观,但真正的强者从不抱怨。 在此期间,我收到众多小伙伴的宝贵反馈,整理出132道面试题,从基础到高级,有八股文,也有对某个知识点的深度解析。包括以下几部…...

【日记】遇到了一个很奇怪的大爷(845 字)

正文 花了昨天和今天两天时间,把数据转移完了。这块 2T 的硬盘可以光荣退休了。目前是没什么存储焦虑了。 农发行净开发一些垃圾系统。今天没什么业务,但跟 ActiveX 斗智斗勇了一整天,最后实在搞不过 IE 浏览器。我也懒得管了,又不…...

Python 机器学习 基础 之 处理文本数据 【处理文本数据/用字符串表示数据类型/将文本数据表示为词袋】的简单说明

Python 机器学习 基础 之 处理文本数据 【处理文本数据/用字符串表示数据类型/将文本数据表示为词袋】的简单说明 目录 Python 机器学习 基础 之 处理文本数据 【处理文本数据/用字符串表示数据类型/将文本数据表示为词袋】的简单说明 一、简单介绍 二、处理文本数据 三、用…...

GAT1399协议分析(10)--视频定义及解析

一、官方定义 二、字段解析 VideoID 类型BasicObjectID 解析参考GAT1399协议分析(8)--ImageInfo字段详解-CSDN博客 InfoKind 采集类型...

【C语言】学生管理系统:完整模拟与实现

🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔记 🌈C笔记专栏: C笔记 🌈喜欢的诗句:无人扶我青云志 我自踏雪至山巅 🔥引言 本篇文章为修改了在校期间实训报告,使用C…...

pypi 发布自己的包

注册pypi个人用户 网址:https://pypi.org 目录结构dingtalk_utils 必须-pkgs- __init__.py .gitignore LICENSE 必须 README.md 必须 requirements.txt setup.py 必须安装依赖 pip install setuptools wheel安装上传工具 pip install twinesetup.py i…...

关闭windows11磁盘地址栏上的历史记录

关闭windows11的磁盘地址栏上的历史记录 windows11打开磁盘后访问某一个磁盘路径后会记录这个磁盘路径,而且有时候会卡住这个地址栏(关都关不掉),非常麻烦。 如下图所示: 关闭地址栏历史记录 按下windows键打开开…...

DDS自动化测试落地方案 | 怿星科技携最新技术亮相是德科技年度盛会

5月28日,怿星科技作为是德科技的重要合作伙伴亮相Keysight World Tech Day 2024。在此次科技盛会上,怿星科技不仅展示了领先的DDS自动化测试解决方案等前沿技术,还分享了在“周期短、任务重”的情况下,如何做好软件开发和测试验证…...

新品!和芯星通全系统全频高精度板卡UB9A0首发

6月6日,和芯星通发布了UB9A0全系统全频高精度GNSS板卡,主要应用于CORS站、便携基站、GNSS全球监测跟踪站等。延续了上一代产品高质量原始观测量的特点,UB9A0在性能和稳定性方面均表现出众。 UB9A0基于射频基带及高精度算法一体化的GNSS SoC芯…...

Cognita RAG:模块化、易用与可扩展的开源框架

Cognita RAG是一个开源框架,它通过模块化设计、用户友好的界面和可扩展性,简化了将领域特定知识整合到通用预训练语言模型中的过程。本文介绍了Cognita的特点、优势、应用场景以及如何帮助开发者构建适合生产环境的RAG应用程序。 文章目录 Cognita RAG介…...

linux虚拟机免密登录配置

1、假设A服务器要免密登录B服务器 2、在A服务器上执行命令: cd /root/.ssh/ ssh-keygen -t rsa #这里会生成两个文件 一个是id_rsa私钥和公钥rsa.pub2、我们把公钥的内容复制粘贴到B服务器的/root/.ssh/authorized_keys文件下 #在A服务器上执行命令记录内容 cat …...

Qt_C++ RFID网络读卡器Socket Udp通讯示例源码

本示例使用的设备&#xff1a; WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QHostInfo> #include <QNetworkInterface> #include <…...

C++ 实现Python 列表list 的两种方法

1、vector里面放多种参数。在C中&#xff0c;如果你想要在std::vector中存储不同类型的参数&#xff0c;你可以使用std::any&#xff08;C17及以上&#xff09;或std::variant&#xff08;C17以前的版本需要使用Boost库或者C17及以上标准&#xff09;。以下是使用std::vector&l…...

vue3+ elementPlus PC端开发 遇到页面已进入就form校验了的问题

form表单一进页面就校验了 rules里配置的 require 提示语 如图所示代码是这样的 最后发现是form表单下面的一个按钮的展示规则 会导致规则校验 canAddInsured 这个字段的变化会导致form表单校验 这个字段是computed maxInsureds 也是个computed监听 maxInsured.value >1 就…...

transformers DataCollator介绍

本博客主要介绍 transformers DataCollator的使用 from transformers import AutoTokenizer, AutoModel, \DataCollatorForSeq2Seq, DataCollatorWithPadding, \DataCollatorForTokenClassification, DefaultDataCollator, DataCollatorForLanguageModelingPRETRAIN_MODEL &qu…...

rust学习(字节数组转string)

最新在写数据传输相关的操作&#xff0c;发现string一个有趣的现象&#xff0c;代码如下&#xff1a; fn main() {let mut data:[u8;32] [0;32];data[0] a as u8;let my_str1 String::from_utf8_lossy(&data);let my_str my_str1.trim();println!("my_str len is…...

Docker:技术架构演进

文章目录 基本概念架构演进单机架构应用数据分离架构应用服务集群架构读写分离/主从分离架构冷热分离架构垂直分库微服务容器编排架构 本篇开始进行对于Docker的学习&#xff0c;Docker是一个陌生的词汇&#xff0c;那么本篇开始就先从技术架构的角度出发&#xff0c;先对于技术…...

汽车MCU虚拟化--对中断虚拟化的思考(2)

目录 1.引入 2.TC4xx如何实现中断虚拟化 3.小结 1.引入 其实不管内核怎么变&#xff0c;针对中断虚拟化无非就是上面两种&#xff0c;要么透传给VM&#xff0c;要么由Hypervisor统一分发。汽车MCU虚拟化--对中断虚拟化的思考(1)-CSDN博客 那么&#xff0c;作为车规MCU龙头…...

python的继承

本章正式开始之前&#xff0c;先让我们回顾一下什么是 对象 &#xff1f; 什么是 类 &#xff1f; 小贝 喜欢 猫咪&#xff0c;今年领养了一只名叫 Kitty 的 布偶猫。则下列哪项是 对象 呢&#xff1f;  A. 猫咪 B. Kitty C. 布偶猫 相比之下&#xff0c;闻闻 更喜欢 犬科 动…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...