快速了解Vi 和 Vim 编辑器三种模式及快捷键使用

news2024/12/28 5:37:50

😀前言
本篇博文是关于Vi 和 Vim 编辑器的三种模式及快捷键使用,希望你能够喜欢

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

文章目录

  • Vi 和 Vim 编辑器
    • vi和 vim 的基本介绍
    • vi和 vim 常用的三种模式
      • 正常模式
      • 插入模式
      • 命令行模式
    • vi 和 vim快捷键
    • 总结
      • 1. 熟悉基本快捷键
      • 2. 学会保存和退出
      • 3. 利用可视模式
      • 4. 使用搜索功能
      • 5. 错误处理

Vi 和 Vim 编辑器

vi和 vim 的基本介绍

Linux 系统会内置 vi 文本编辑器。
Vim 具有程序编辑的能力,可以看做是 Ⅵ 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

vi和 vim 常用的三种模式

正常模式

以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。

在这个模式中, 你可以使用『上下左右」按键来移动光标,你可以使用「删除字符」或「删除整行」来处理档案内容, 也可以使用「复制、粘贴」来处理你的文件数据。

image-20240816135505410 image-20240816135542375 image-20240816135639382

插入模式

按下i,I,o,O,a,A,r,R 等任何一个字母之后才会进入插入模式,一般来说按i即可。

在正常模式下按下 i (在光标所在位置开始插入)、I (在行首开始插入)、a (在光标后开始附加)、A (在行尾开始附加)、o (在当前行下方新开一行并插入) 或 O (在当前行上方新开一行并插入)。

可以使用退格键 (Backspace) 或删除键 (Del) 来删除字符。

返回正常模式:按下 Esc 键或者使用 Shift + [ 键。

image-20240816135705126

命令行模式

输入 esc 再输入:在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!

  • 功能:
    • 输入 :w 保存文件。
    • 输入 :q 退出编辑器。
    • 输入 :q! 强制退出,不保存更改。
    • 输入 :wq:x 保存并退出。
    • 输入 :set nu 显示行号;输入 :set nonu 隐藏行号。
    • 输入 :help [command] 获取帮助信息。
image-20240816134841698 image-20240816135730482

vi 和 vim快捷键

  1. 拷贝当前行yy,拷贝当前行向下的5行 5yy,并粘贴(输入p)。

  2. 删除当前行 dd ,删除当前行向下的5行 5dd。

  3. 在文件中查找某个单词「命令行下 /关键字, 回车 查找 ,输入 n 就是查找下。

  4. 设置文件的行号,取消文件的行号.[命令行下 :setnu 和 :set nonu]。

  5. 编辑 /etc/profile 文件,在一般模式下,使用快捷键到该文档的最末行[G]和最首行[gg]。

  6. 在一个文件中输入"hello",在一般模式下,然后又撤销这个动作 u。

  7. 编辑 /etc/profle 文件,在一般模式下,并将光标移动到,输入 20,再输入 shift+g。

    image-20240816135314975

总结

1. 熟悉基本快捷键

  • 切换模式:

    了解如何在正常模式、插入模式和命令行模式之间切换是非常重要的。

    • 进入插入模式:i, I, o, O, a, A, r, R
    • 退出插入模式:EscShift + [
    • 进入命令行模式::
  • 移动光标:

    掌握光标的快速移动技巧,例如使用h,j,k,l分别代表左、下、上、右移动。

    • 快速移动到文件顶部:gg
    • 快速移动到文件底部:G
    • 移动到行首:^
    • 移动到行尾:$
    • 移动到文件的某一行:nG (n为行数)
  • 复制与粘贴:了解如何复制文本(yy)、删除文本(dd)以及粘贴文本(p)。

  • 撤销与重做:撤销操作(u)和重做(Ctrl + r)。

  • 查找与替换:使用/进行查找,使用%s/old/new/g进行全局替换。

2. 学会保存和退出

  • 保存文件:w用于保存文件。
  • 退出编辑器:
    • 不保存退出::q!
    • 保存并退出::wq:x

3. 利用可视模式

  • 进入可视模式vVShift + v
  • 选择文本:在可视模式下使用箭头键或h, j, k, l来选择文本。
  • 复制或剪切选定文本y用于复制,d用于剪切。
  • 退出可视模式Esc

4. 使用搜索功能

  • 搜索:使用/后面跟搜索字符串来进行正向搜索,使用?后面跟搜索字符串来进行反向搜索。
  • 跳转到下一个匹配项n
  • 跳转到上一个匹配项N

5. 错误处理

  • 如果不小心进入了插入模式并且不知道如何退出,只需按下Esc键。
  • 如果忘记了命令,可以使用:help命令获取帮助。

通过熟悉这些技巧和注意事项,希望能够帮助你更加高效地使用vivim

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

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

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

相关文章

大数据产业链图谱_产业链全景图_大数据行业市场分析

数据作为新型生产要素,是数字化、网络化、智能化的基础,已快速融入生产、分配、流通、消费和社会服务管理等各环节,影响着千行百业,推动着我国数字经济的蓬勃发展。 大数据又称巨量数据、海量数据,是由数量巨大、结构…

C语言 | Leetcode C语言题解之第341题扁平化嵌套列表迭代器

题目&#xff1a; 题解&#xff1a; struct NestedIterator {int *vals;int size;int cur; };void dfs(struct NestedIterator *iter, struct NestedInteger **nestedList, int nestedListSize) {for (int i 0; i < nestedListSize; i) {if (NestedIntegerIsInteger(neste…

Sprache:轻量级C#解析器构建,可用于字符串验证等。

我们在开发中&#xff0c;经常需要对一些结构化文本进行解析&#xff0c;用于验证是否符合规则。我们一般会使用正则表达式&#xff0c;同时正则表达式也非常强大&#xff0c;但正则表达式在语法不便阅读与维护。 下面介绍一个简单、轻量级的库&#xff0c;方便我们在C#代码中…

React 学习——打包后,包体积可视化

1、安装插件 &#xff08; source-map-explorer &#xff09; npm i source-map-explorer 2、在配置文件package.json中加入 &#xff08; "analyze": "source-map-explorer build/static/js/*.js" &#xff09;&#xff0c;位置截图 "analyze&q…

Flask 线上高并发部署方案实现

目录 1、Flask默认多线程执行 2、使用gevent.pywsgi实现 3、是用uWSGI服务器实现 1、Flask默认多线程执行 前言&#xff1a;在Flask的较早版本中&#xff0c;默认并不支持多线程模式。然而&#xff0c;从Flask 0.9版本开始&#xff0c;引入了多线程模式的支持&#xff0c;并…

红酒与旅游攻略:旅行途中的风味之选

在旅行的道路上&#xff0c;我们总是渴望寻找那些能够触动心灵、留下深刻记忆的不同体验。而红酒&#xff0c;作为一种充满韵味和故事的饮品&#xff0c;无疑是旅行途中的风味之选。洒派红酒&#xff08;Bold & Generous&#xff09;&#xff0c;这款定制红酒&#xff0c;以…

基于xilinx IP的频域脉冲压缩算法的实现和matlab仿真

工具&#xff1a;matlabR2021b&#xff0c;vivado2018.3. 脉冲压缩的原理 脉冲压缩实际上就是对接收信号进行匹配滤波处理。根据发射的波形不同&#xff0c;脉冲压缩时选择不同的匹配滤波器系数。 数字脉冲压缩的实现方式有两种: 一是时域卷积法; 二是频域乘积法。依据傅里叶…

智能化包括自动化与非自动化

智能化通常指的是系统或设备具备智能功能&#xff0c;以提高其自主性和效率。智能化可以分为自动化与非自动化两大类&#xff0c;每一类都有其独特的特点和应用场景。 一、自动化 自动化指的是系统能够在无需人为干预的情况下完成任务或操作。自动化系统通常依赖于预设的规则、…

基于LangChain手工测试用例转接口自动化测试生成工具!

接口自动化测试用例是一个老生常谈的问题&#xff0c;在未引入人工智能之前&#xff0c;也有非常多的生成方案&#xff0c;比如如下所示&#xff0c;通过har生成接口自动化测试用例&#xff1a; 但是以上的生成方式依然是有一些弊端&#xff0c;比如 har 本身虽然能表述一定的接…

铁威马NAS教程丨TOS应用中心无法下载应用,显示0%或“准备中“?

故障排除 适用机型 所有 TNAS型号 原因分析 该现象通常是网络配置不正确或文件系统异常引起&#xff1a; 1.获取不到网关&#xff0c;状态栏甚至显示红色的“未连接” 2.路由器自动分配的DNS无法解析出下载服务器的域名 3.文件系统为只读文件系统 解决方法 1.重新获取…

中间件|day1.Redis

Redis 定义 Redis 是一个开源&#xff08;BSD许可&#xff09;的&#xff0c;内存中的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构&#xff0c;如 字符串&#xff08;strings&#xff09;&#xff0c; 散列&#xff08;hash…

TongHttpServer安装部署

TongHttpServer安装部署 毫无背景不是你堕落的理由&#xff0c;而更应该是你前进的动力。你该花时间思考&#xff0c;如何打好一副烂牌&#xff1b;而不是抱怨命运&#xff0c;或者干脆撕牌。 部署环境 TongHttpServer V6.0是一款轻量级负载均衡软件&#xff0c;支持 0SI 四层…

【瑞芯微RV1126(深度学习模型部署)】部署自己训练的yolov8-seg,实现足型检测!

前言 如果按照本系列第一篇博客那样交叉编译了opencv&#xff0c;那本文有些步骤就不用了&#xff0c;比如交叉编译工具链的下载&#xff0c;所以自己斟酌步骤。 本系列第一篇&#xff1a;https://blog.csdn.net/m0_71523511/article/details/139636367 本系列第二篇&#xff…

Android-RK356x GT9XX多点触控设置为单点触控的方法

本文基于RK356x Android11系统描述GT9XX驱动芯片由多点触摸改为单点触摸功能。本次介绍的是触觉智能的Purple Pi OH鸿蒙开源主板&#xff0c;Purple Pi OH是华为Laval官方社区主荐的一款鸿蒙开发主板。 该主板主要针对学生党&#xff0c;极客&#xff0c;工程师&#xff0c;极大…

大模型应用——智能客服、机器翻译、文本生成、情感分析、问答系统、金融行业、电商、教育、医疗健康、个性化推荐、图像处理、视频处理、自动驾驶

大模型在各行业中的应用 1. 智能客服 应用场景&#xff1a;大模型可以作为智能客服系统的核心&#xff0c;提供自然流畅的对话体验&#xff0c;解答用户问题、推荐服务或产品&#xff0c;显著提升客户满意度。 效果&#xff1a;通过自然语言处理技术&#xff0c;大模型能够准…

深度学习每周学习总结N7:seq2seq翻译实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 使用seq2seq实现文本翻译一、前期准备工作1. 搭建语言类2. 文本处理函数3. 文件读取函数 二、Seq2Seq 模型1. 编码器&#xff08;Enc…

MySQL基础架构和日志系统

MySQL基础架构和日志系统 1&#xff0c;逻辑架构图1.1 连接器1.2.1 查询缓存1.2.2 分析器1.3 优化器1.4 执行器 2&#xff0c;日志系统2.1 redo log&#xff08;重做日志&#xff09;2.2 binlog&#xff08;归档日志&#xff09;2.3 两阶段提交2.3.1 崩溃恢复机制是什么&#x…

ai智能改写工具,一键智能改写文案效率高

在当今这个信息如洪流般涌来的时代&#xff0c;文案创作的重要性不言而喻。无论是为了吸引读者的目光、还是传达准确的信息&#xff0c;一篇精彩的文案都能发挥巨大的作用。而在这一过程中&#xff0c;ai智能改写工具宛如一颗璀璨的新星&#xff0c;以其独特的魅力和强大的功能…

Datawhale X 魔搭 AI夏令营第四期魔搭-AIGC文生图方向Task3笔记

Task3&#xff1a;进阶上分-实战优化 part1&#xff1a;工具初探一ComfyUI应用场景探索 ComfyUI概述 ComfyUI是一个功能强大、高度模块化的Stable Diffusion图形用户界面和后端系统&#xff0c;它允许用户通过链接不同的节点来构建复杂的图像生成工作流程。这些节点可以包括各…

Windows设置定时任务进行oracle数据库备份

先找到“定时任务计划” 方法1.开始->所有程序->附件->系统工具->定时任务计划 方法2:控制面板->输入计划 进行查询操作 名称随便定&#xff0c;点击下一步 下一步 设置每天的定时执行时间&#xff0c;点下一步 点下一步选择启动程序&#xff0c;点下一步 点…