Ubuntu—vi编辑器的使用一

2023-11-13

vi编辑器

  • vi是Linux中最基本的编辑器。但vi编辑器在系统管理、服务器配置工作中永远都是无可替代的。
    在这里插入图片描述|50

vi编辑器的使用

  • vi有以下三种模式
    • 命令行模式
      • 用户在用vi编辑文件时, 最初进入的是该模式。可以进行复制、粘贴等操作
    • 插入模式
      • 进行文件编辑, 按ESC键可以回到命令行模式
    • 底行模式
      • 光标位于屏幕的底行。可以进行文件的保存、退出、查找、替换、列出行号等。命令行转底行用:
    • 三种模式切换示意图:在这里插入图片描述|200

Linux的编辑器–vi

vi的基本使用方法(DEMO)

  • 输入模式
    在这里插入图片描述|50

  • 命令模式
    在这里插入图片描述|50

vi模式切换命令

命令 功能
A (Append) 进入编辑状态,从当前光标所在行的行尾开始插入键盘输入的字符。
a (Append) 进入编辑状态,在当前光标的下一个位置开始插入键盘输入的字符。
I (Insert) 进入编辑状态,在当前光标所在行的行首开始插入键盘输入的字符。
i (Insert) 进入编辑状态,在当前光标位置开始插入键盘输入的字符。
O (Open) 进入编辑状态,并在当前光标所在行的上方插入一新行,光标移到该新行的行首,以后键盘输入的字符将插入到光标位置。
o (Open) 进入编辑状态,并在当前光标所在行的下方插入一新行,光标移到该新行的行首,以后键盘输入的字符将插入到光标位置。
ESC 进入命令状态,从编辑状态切换回命令模式,可以执行各种命令,例如保存文件、退出编辑器等。
:! Command 在 Vim 中执行外部命令 Command,按回车键可以返回 Vim 继续工作。请注意,为了执行外部命令,可能需要使用 :! 前缀,例如 :!ls 可以列出当前目录中的文件。

vi拷贝与粘贴命令

小写p是当前行的下面, 大写P是上面
在这里插入图片描述|50

vi保存和退出命令

所有前面带冒号的命令都是底行模式下

在这里插入图片描述

总结

  • vi的基本命令
    • 三种模式、模式切换命令
    • 拷贝和粘贴命令
    • 保存和退出命令
    • 光标命令
  • vi编辑器是嵌入式Linux环境下开发人员每天工作都要使用的工具,因此,建议尽可能多的学习、熟练关于vi编辑器使用的命令
  • vi 文件名 如果该文件已存在, 它会直接打开, 如果说这个文件是不存在的文件, 它就给你新建文件, 并且底行显示[New file]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu—vi编辑器的使用一 的相关文章

  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 如何修复“iptables:没有该名称的链/目标/匹配”?

    我在我的 Linux 嵌入式系统上构建并安装了 iptables 如果我列出所有规则 则一切正常 iptables list Chain INPUT policy ACCEPT target prot opt source destinat
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • 如何在不反编译的情况下更改已编译的.class文件?

    我想更改 class 文件方法 我安装 JD Eclipse Decompiler 并打开 class 文件 我添加了一些代码并保存 class 文件 但是 class 文件没有改变 我不知道如何使用反编译器 如果可能的话 如何在不使用反编
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何在 shell 脚本中并行运行多个实例以提高时间效率[重复]

    这个问题在这里已经有答案了 我正在使用 shell 脚本 它读取 16000 行的输入文件 运行该脚本需要8个多小时 我需要减少它 所以我将其划分为 8 个实例并读取数据 其中我使用 for 循环迭代 8 个文件 并在其中使用 while
  • 大多数 Linux 系统头文件与 C++ 兼容吗?

    大多数 Linux 系统头文件 API C 兼容吗 今天我试图做这样的事情 include
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 如何有效截断文件头?

    大家都知道truncate file size 函数 通过截断文件尾部将文件大小更改为给定大小 但是如何做同样的事情 只截断文件的尾部和头部呢 通常 您必须重写整个文件 最简单的方法是跳过前几个字节 将其他所有内容复制到临时文件中 并在完成
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • 让 Rails 生产在端口 80 上运行

    我正在尝试让我的 Rails 应用程序在生产模式下运行 但遇到了一些困难 我正在使用 Passenger 和 apache 并运行 Ubuntu 12 04 我已经配置和创建了生产数据库 并设置了乘客 状态如下 rvmsudo passen
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im

随机推荐

  • 前端Gzip优化

    gZip GZIP是网站压缩加速的一种技术 对于开启后可以加快我们网站的打开速度 原理是经过服务器压缩 客户端浏览器快速解压的原理 可以大大减少了网站的流量 在 http 1 0 协议中关于服务端发送的数据可以配置一个 Content En
  • DMNet复现(二)之模型篇:Density map guided object detection in aerial image

    以前用Swin Transformer Tiny训练了40epoch的 官方用的Faster RCNN 这里先用Swin Transformer Tiny进行测试 模型训练 采用基于MMDetection的框架Swin Transforme
  • I2C的C语言实现

    I2C的C语言实现 起始信号 停止信号 应答信号ACK与非应答信号NACK 等待ACK信号 发送一个字节 读取一个字节 单字节写入 读取 连续写入 读取 起始信号 当SCL为高期间 SDA由高到低的跳变 void I2C Start voi
  • 在Mac OS环境安装Composer

    简介 Composer 是 PHP 的一个依赖管理工具 安装流程 打开终端 输入下面指令 进入用户根目录 cd 执行安装指令 php r readfile https getcomposer org installer gt compose
  • 2023年数学建模:基于模拟退火算法的旅行商问题求解

    订阅专栏后9月比赛期间会分享思路及Matlab代码 目录 一 模拟退火算法的基本原理 二 实战案例 旅行商问题
  • YoloV8改进策略:新出炉的EMA注意力机制助力YoloV8更加强大

    本次改进使用最新的注意力机制EMA改进YoloV8 我们一起来看看效果吧 论文翻译 摘要 https arxiv org ftp arxiv papers 2305 2305 13563 pdf 在各种计算机视觉任务中 通道或空间注意力机制
  • Python3 数据挖掘系统搭建(四)

    上一节学习了数据清洗如何对内容去重 这一节继续学习一个完整的挖掘系统是怎么构建的 以搜索百度新闻数据为例 首先要建立评分系统需要创建一个数据表 起名为article吧 字段如下图 字段有company title href source d
  • 6-Mysql子查询,多表连接(内连接,外连接,交叉连接)

    子查询 select from 学生表 查询高技2班的学生信息 select from 班级表 1 子查询当做查询条件的一部分 select from 学生表 where 班级ID in select 班级ID from 班级表 where
  • java heap space默认值_java heap space解决方法

    java heap space解决方法 在JVM中如果98 的时间是用于GC Garbage Collection 且可用的 Heap size 不足2 的时候将抛出异常信息 java lang OutOfMemoryError Java
  • OpenGL 7.测试框架,批渲染

    测试功能基类 本节搭建一个简单的测试框架 实现在窗口上显示一个菜单栏 点击不同的选项 进入不同的功能 附加目录中添加src 方便添加头文件 新建目录如下 测试基类 Test h 测试菜单TestMenu 用于管理所有的测试 pragma o
  • matlab 波形仿真,MATLAB仿真波形的处理

    MATLAB仿真波形的处理 由会员分享 可在线阅读 更多相关 MATLAB仿真波形的处理 14页珍藏版 请在人人文库网上搜索 1 示波器波形的处理1 示波器介绍首先介绍示波器的基本功能 对Simulink Model 搭建的模型 进行仿真之
  • C#知识系列:paritial class必须是同一个程序集,否则引用别的程序集的paritial class会报错

    C 知识系列 paritial class必须是同一个程序集 否则引用别的程序集的paritial class会报错 提示 A程序集的xxxx cs与B程序集的xxxx cs冲突 请使用A程序集的xxxx cs
  • RTK系列【1】小日子RTKLIB 2.4.3 b34 源码与算法研究(单点定位调试)

    小日子RTKLIB源码研究 1 VS2017下发现的一些bug 1 1 SPP 单点定位 1 1 1 问题描述 Run Time Check Failure 3 The variable dion is being used without
  • 客户下单软件

    一 订货系统后台能否通过手机进行操作 问 订货系统后台能否通过手机进行操作 我们购买订货系统后能不能通过手机操作订货企业后台 答 订货系统有手机版本和APP 可通过手机操作 二 订货系统企业后台能否及时了解到客户的欠款信息 小程序公司订单管
  • cocosCreator IOS 微信授权

    官方文档 iOS接入指南 微信开放文档 1 把你的项目构建ios版包 使用Xcode 打开 2 首先呢 我们进入微信开发者平台 选择到官方的ios 接入指南项 点击 资源下载页 下载 demo 然后把demo 中的SDKexport 文件直
  • 一起学nRF51xx 16 -  adc

    前言 nRF51的ADC设计得比较简单 它有几个可配置的部分 1 PSEL pinselection nRF51系列芯片有8个模拟输入通道 并且这几个脚是固定的 不能像GPIO那样可以重新映射 PSEL用来选择需要采集模拟电压的通道 当该通
  • C语言实现动态通讯录(附带文件保存)

    作者简介 嵌入式入坑者 与大家一起加油 希望文章能够帮助各位 个人主页 rivencode的个人主页 系列专栏 玩转C语言 推荐一款模拟面试 刷题神器 从基础到大厂面试题 点击跳转刷题网站进行注册学习 C语言实现动态通讯录 一 动态通讯录的
  • 「第五篇」全国电子设计竞赛-电源题设计方案总结

    点击上方 大鱼机器人 选择 置顶 星标公众号 福利干货 第一时间送达 0 前言 许多朋友给我留言说 有没有电源题目的一些文章可以参考 为了给大家找更多的关于电赛相关的经验贴 我在网上疯狂游泳 不断筛选 终于在知乎上看到一位优秀的大佬 刘阳
  • 新一代MacBook Pro外观、屏幕、性能全面升级

    去年十一月 苹果正式推出了搭载M1自研处理器的MacBook Pro 13 3 M1设备的的出色性能饱受消费者赞赏 有业内人士称 苹果将会在近两年的时间将自家的PC产品全部更换为自研处理器 近日 就有媒体曝光了一款2021款MacBook
  • Ubuntu—vi编辑器的使用一

    vi编辑器 vi是Linux中最基本的编辑器 但vi编辑器在系统管理 服务器配置工作中永远都是无可替代的 vi编辑器的使用 vi有以下三种模式 命令行模式 用户在用vi编辑文件时 最初进入的是该模式 可以进行复制 粘贴等操作 插入模式 进行