【Linux】编辑器 vim

1、vim的基本概念

  • vi/vim【一款文本编辑器】
  • vim【一款多模式编辑器】
  • vi/vim 的区别简单点来说,它们都是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x window、 mac os、windows

2、vim的5种常用模式

  • 正常/普通/命令模式(Normal mode)
    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode
  • 插入模式(Insert mode)
    只有在 Insert mode 下,才可以做文字输入,按「ESC」键可回到命令行模式
  • 底行模式(last line mode)
    文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,「shift + :」即可进入该模式
  • 替换模式【shift + r = R】
  • 视图模式【ctrl + v】
  • 要查看你的所有模式:打开vim,底行模式直接输入「:help vim-modes」

在这里插入图片描述


3、vim的基本操作

  • 进入vim,在系统提示符号输入vim 及文件名称后,就进入vim 全屏幕编辑画面:
    [LMY@hecs-38755 ~]$ vim test.c
    【注】进入vim之后,是处于 [正常模式],你要切换到 [插入模式] 才能够输入文字。
  • [正常模式] 切换至 [插入模式]
    输入a
    输入i
    输入o
  • [插入模式] 切换至 [正常模式]
    目前处于 [插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到 [正常模式] 再删除文字。当然,也可以直接删除。
  • [正常模式] 切换至 [末行模式]
    「shift + ;」, 其实就是输入「:」
  • 退出 vim 及保存文件,在 [命令模式] 下,按一下「:」冒号键进入「底行模式」
    : w (保存当前文件)
    : wq (存盘并退出vim)
    : w!强制写入
    : q! (不存盘强制退出vim)
    : wq!强制保存并退出vim)

4、vim命令模式命令集

(1)光标命令

按[gg]【定位到文本开始】
按[shift+g(G)]【定位到文本末尾】
按[n + shift+g]【定位到第 n 行】
按[shift + 6(^)]【定位到该行的最左侧】
按[shift + 4($)]【定位到该行的最右侧】
vim 可以直接用键盘上的光标来上下左右移动,但正规的 vim 是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头

(2)复制粘贴命令

「yw」:将光标所在之处到字尾的字符复制到缓冲区中,即复制单词【「nyw」复制 n 个单词到缓冲区】
「yy」:复制光标所在行到缓冲区。【可以 nyy 复制 n 行】
「p」:将缓冲区内的字符贴到光标所在位置【注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能】【可以「np」粘贴 n 次】

(3)撤销上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
「ctrl + r」:撤销的恢复【对 ctrl + r 后悔,还按 u】

(4)删除

「x」:每按一次,删除光标所在位置的一个字符【可以 nx 删除后面 n 个字母】
「X」:大写的X,每按一次,删除光标所在位置的 “前面” 一个字符【可以 nx 删除前面 n 个字母】

「dd」:删除光标所在行【和 p 配合,实现剪切】【可以 ndd 剪切 n 行】

(5)替换

「r」:替换光标所在处的字符【支持 nr 用一个字符替换多个字符】
「R」:进入替换模式,替换光标所到之处的字符,直到按下「ESC」键为止

(6)补充命令

「shift + ~ 」:自动切换字母大小写
「shift + # 」:自动查询选出和光标所在单词相同的所有单词,按 n 倒着查看下一个


5、vim底行模式命令集

  • : set nu显示行号
  • : set nonu去掉行号
  • : !gcc test.c加了!,不退出 vim 直接编译
  • : !./a.out加了!,不退出 vim 直接运行
    在这里插入图片描述
  • : /XXX搜索关键字)【按 n 查下一个】

6、补充(如何注释解注释)

在这里插入图片描述

7、添加信任列表(实现sudo)

在这里插入图片描述

8、配置vim

👉【链接:自动配置 vim】

在这里插入图片描述

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

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

相关文章

ubuntu安装k8s(docker版)

(一)简介 k8s是什么就不介绍了,下面是k8s的官方文档,这里仅演示安装的过程,使用一主一从的结构 传送门 PS:推荐安装可以先使用云服务器把环境搭起来,这样系统比较干净,不然不知道会…

Java与MySQL的绝妙结合:打造高效审批流程

是流程思路等分析🐱‍👤 审批流程🐱‍💻 1️⃣.串行流程 当前节点审批完成后,下一次节点才能进行操作,例如经理通过之后,总监才能审批; 2️⃣.并行流程 一个审批节点需要多人联审。…

为什么Python赢了,别的语言都干嘛去了?

人工智能时代,为什么Python大放异彩,别的语言都干嘛去了? 为什么不是使用者众多的Java?也许是Java啰里啰唆,不如Python那么简洁? 为什么不是Ruby? 和Python一样简洁,但是更加优雅。…

【谢希尔 计算机网络】第1章 计算机网络概述

目录 1.1.1计算机网络概念,功能,组成,分类 计算机网络的概念 计算机网络的功能 计算机网络的组成 计算机网络的分类 1.1.2标准化工作 1.1.3速率相关的性能指标 速率 带宽 吞吐量 时延 时延带宽积​编辑 往返时延RTT 利用率 1.…

Python:函数和代码复用

嗨喽,大家好呀~这里是爱看美女的茜茜呐 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了,直接在文末名片自取就可 1、关于递归函…

深度学习:cross-attention介绍以及与self-attention的区别

1.Cross-attention vs Self-attention Cross-attention的输入来自不同的序列,Self-attention的输入来自同序列,也就是所谓的输入不同,但是除此之外,基本一致。 具体而言, self-attention输入则是一个单一的嵌入序列。 …

Open3D 点云配准——可视化匹配点对之间的连线

点云配准 一、算法原理1、概述2、主要函数二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、概述 可视化源点云和目标点云中匹配点对之间的连线,这对于点云配准,尤…

MySQL基础终端命令与Python简单操作MySQL

文章目录 MySQL终端命令1. 进入mysql2. 创建数据库3. 选择数据库4. 创建数据表1. 主键约束2. 外键约束3. 非空约束4. 唯一约束5. 使用默认约束6. 设置id为自增列 5. 查看数据表6. 修改数据表1. 修改表名2. 修改表的字段类型3. 修改表的字段名4. 为表添加字段5. 删除字段6. 调整…

驱动开发,stm32mp157a开发板的led灯控制实验

1.实验目的 编写LED灯的驱动,在应用程序中编写控制LED灯亮灭的代码逻辑实现LED灯功能的控制; 2.LED灯相关寄存器分析 LED1->PE10 LED1亮灭: RCC寄存器[4]->1 0X50000A28 GPIOE_MODER[21:20]->01 (输出) 0X50006000 GPIOE_ODR[10]-&g…

SSL Windows环境诊断修复工具,保持shell连接活跃

SangforHelperToolInstaller.exe 接入内网遇到网络故障,修复网络问题,可以使用这个软件,修复网络问题非常强大。

二叉树的具体原理及实现

文章目录 一.树的专业术语二.二叉树的原理三.常见的二叉树分类1.完全二叉树2.平衡二叉树3.二叉搜索树 四.二叉搜索树算法具体实现五.二叉搜索树具体实现代码 一.树的专业术语 首先先介绍树的专业术语 二.二叉树的原理 二叉搜索树(Binary Search Tree&#xff0c…

【rar密码】WinRAR整理密码,如何使用?

之前给大家介绍过WinRAR自动加密的设置方法,今天再介绍一种RAR压缩包加密方法:整理密码。 什么是整理密码: 在加密rar文件的时候,点击下拉框选择密码,不用输入密码 设置方法: 前面的操作步骤和设置自动…