Linux_vi/vim编辑器

3.VI 与 VIM

3.1概述

  • vi编辑器:是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。

  • vim是:vi的增强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。

3.2 vi 和 vim 三种常见模式

在这里插入图片描述

  • 一般模式:以vi/vim 命令打开一个档案就直接进入一般模式了(这是默认的模式)
  • 编辑模式:按下i, I, o, O, a, A, r, R等任何一个字母之后才会进入编辑模式,,通常使用 i
  • 命令模式:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim 、显示行号等

3.3常用操作(重点)

  • 命名行模式下(输入英文 “:” 时会切换到命令行模式)
    • 查找某一个单词 /查找的单词
      • n 是下一个
      • N是上一个
    • 设置行号 set nu
    • 取消行号 set nonu
    • q 是退出文档
    • 保存文档 wq
    • ! 表示强制执行
  • 一般模式下
    • 拷贝当前行yy 数字yy 拷贝当前光标往下的第几行
    • 粘贴下一行 p
    • u 是撤销
    • 删除当前行 dd
    • 跳转到文档最末行 G
    • 最首行 gg
    • 光标移动到具体行数 (行数)shift + g
    • 插入
      • O 是在下一行插入 o 是在上一行
      • i 是在本行插入
    • 快速移动
      • end 快速跳转到行末
      • home 移动到头部

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

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

相关文章

Qt图形设计

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//窗口相关设置//设置窗口标题this->setWindowTitle("王者荣耀");//设置窗口图标this->setWindowIcon(QIcon("C:\\Users\\28033\\Pictures\\Saved Pictures\\pict…

ESP32单片机案例

工具&#xff1a;VScode PlatformIO IDE 注&#xff1a;B站视频学习笔记。 1、继电器 1&#xff09;硬件电路 2&#xff09;程序 #include <Arduino.h> #define RELAY_PIN 15//初始化定时器 hw_timer_t *timer NULL;void timer_interrupt(){ //将引脚传入的电平信号…

二、范围管理

1、范围管理的6个子过程 &#xff1a;规、集、定、创、确、控 规划范围管理&#xff1b; 收集需求&#xff1b; 定义范围&#xff1b; 创建WBS&#xff08;创建工作分解结构&#xff09;&#xff1b; 确认范围&#xff1b; 控制范围。 2、范围管理各过程的输入、输出、工具与…

公众号word文档

在数字化时代&#xff0c;信息的快速获取和高效整理变得尤为重要。微信公众号作为信息传播的重要平台&#xff0c;其内容经常需要被转换成更易于编辑和存档的格式&#xff0c;如Word文档。这里&#xff0c;我们将介绍如何利用“微附件”小程序实现这一过程&#xff0c;并分享一…

第二十一章

网络通信这一章 基本分为三个部分 网络基础概念和TCP,UDP这三个部分主要如下&#xff1a; 计算机网络实现了堕胎计算机间的互联&#xff0c;使得它们彼此之间能够进行数据交流。网络应用程序就是再已连接的不同计算机上运行的程序&#xff0c;这些程序借助于网络协议&#xf…

利用 Python 进行数据分析实验(三)

一、实验目的 使用Python解决简单问题 二、实验要求 自主编写并运行代码&#xff0c;按照模板要求撰写实验报告 三、实验步骤 本次实验共有4题&#xff1a; 自行给定一个从小到大排好序的数组&#xff0c;输入一个数并将其插入到原始数组中&#xff0c;新的数组还是满足从…

【Effective C++】条款5:了解C++默默编写并调用了哪些函数

某些情况下&#xff0c;编译器会拒绝为你提供默认构造函数 template<class T> class NameObject { public:NameObject(string& name, const T& object):nameValue(name),objectValue(object){} private:string& nameValue;const T objectValue; };int main(…

mixamo根动画导入UE5问题:滑铲

最近想做一个跑酷游戏&#xff0c;从mixamo下载滑铲动作后&#xff0c;出了很多动画的问题。花了两周时间&#xff0c;终于是把所有的问题基本上都解决了。 常见问题&#xff1a; 1.【动画序列】人物不移动。 2.【动画序列】人物移动朝向错误。 3.【蒙太奇】人物移动后会被拉回…

java的多线程技术概览

java的多线程技术 前言今天学习大纲是多线程第一步&#xff1a;学习基础知识第二步&#xff1a;深入学习第三步&#xff1a;实践项目第四步&#xff1a;深度理解高级主题 前言 时代变了&#xff0c;旧的知识需要重新拿起&#xff0c;今天开始记录自己所学同时也是给自己一个复…

谈谈 .NET8 平台中对 LiteDB 的 CRUD 操作

哪个啥&#xff01;纯 C# 编写的 LiteDB 你还不会操作&#xff1f; LiteDB 简介LiteDB 安装1、同步版 LiteDB2、异步版 LiteDB.Async LiteDB StudioLiteDB CRUD 操作举例1、.net cli 命令创建项目2、项目添加相关 nuget 包3、改造项目结构4、改造项目代码 LiteDB vs SQLite 对比…

PostgreSQL 实现 Oracle 多表插入语句

Oracle 数据库提供了一个多表插入功能&#xff0c;也就是 INSERT ALL 语句。这个功能可以方便数据仓库中的 ETL 操作&#xff0c;基于不同逻辑将数据插入一个或者多个不同的表中。 PostgreSQL 被称为开源领域的 Oracle&#xff0c;虽然没有提供 INSERT ALL 语句&#xff0c;但…

用c#实现记事本的功能

知识点&#xff1a; openFileDialog1 是一个 Windows 窗体应用程序中的控件&#xff0c;用于实现文件选择对话框的功能。它是 System.Windows.Forms.OpenFileDialog 类的一个实例。 OpenFileDialog 控件允许用户浏览文件系统并选择要打开的文件。它提供了一些属性和方法&#x…

怎样挖掘客户的需求?有哪些方法?

需求是什么&#xff1f; 需求是人们在某一特定的时期内在愿意付出各种可能的成本&#xff08;时间、精力、现金&#xff09;购买某个具体或者虚拟的商品、服务的数量或数量集合。例如肚子饿了又懒得做&#xff0c;在线点餐外送就是一种需求&#xff0c;用户愿意多花费比线下饭…

JAVA8时间日期类详解

JAVA8 时间日期类 LocalDateTime类(用于代替Date类使用) 用于表示没有时区信息的日期和时间,这个类是不可变的,线程安全的,用于处理日期和时间 LocalDateTime类常用API 常用方法 方法名说明public static LocalDateTime now()获取当前日期与时间public static LocalDateTi…

MySQl int(1)、int(20) 的区别到底在哪里

MySQl int(1)、int(20) 的区别到底在哪里 常思一二&#xff0c;便得自然… int(1)数据类型介绍 在MySQL中&#xff0c;INT(1) 是一种定义整数类型的数据字段&#xff0c;其中的数字表示显示宽度而不是存储范围。具体说&#xff0c;INT(1) 中的数字 1 表示显示宽度&#xff0…

前端小技巧: 写一个异步程序示例, 使用任务队列替代promise和async/await等语法糖

异步程序设定场景 1 &#xff09;场景设定 可以使用懒人每做几件事&#xff0c;就要休息一会儿&#xff0c;并且不会影响做事的顺序这种场景来模拟定义单例名称为: lazyMan支持 sleep 和 eat 两个方法支持链式调用 2 ) 调用示例 const lm new LazyMan(www) lm.eat(苹果).…

LinuxBasicsForHackers笔记 --添加和删​​除软件

使用apt处理软件 apt (Advanced Packaging Tool)。可以使用 apt-get 下载和安装新的软件包&#xff0c;也可以用它更新和升级软件。 许多 Linux 用户更喜欢使用 apt 命令而不是 apt-get。它们在很多方面都很相似&#xff0c;但 apt-get 具有更多功能。 搜索包 在下载软件包之…

高级搜索——ST表,离线RMQ问题

文章目录 前言可重复贡献问题ST表的定义ST表的存储结构ST表的预处理预处理的实现 ST表的区间查询对于k的获取区间查询的实现 OJ链接 前言 对于查询区间最值的方法&#xff0c;我们常用的就是线段树&#xff0c;树状数组&#xff0c;单调队列&#xff0c;而树状数组更适合用于快…

解决Qt发送信号指定重载

现象 信号发送者找不到正确的信号函数 connect(ui->LSpinBox,&QSpinBox::valueChanged,ui->hSlider,&QSlider::setValue);QSpinBox的valueChanged函数分为int和QString两种&#xff0c;存在函数重载&#xff0c;需让编译器加以区分。 不区分的话会爆出&#xff1…

让 ChatGPT 永远重复输出一个词,它就能告诉你很多秘密数据?国内的大模型表现如何?

文章目录 让 ChatGPT 永远重复输出一个词&#xff0c;它就能告诉你很多秘密数据&#xff1f;国内的大模型表现如何&#xff1f;文心一言通义千问百川智能智普清言moonshot星火附件ChatGPT Data Extraction Example 让 ChatGPT 永远重复输出一个词&#xff0c;它就能告诉你很多秘…