linux之vim编辑器

news2024/9/28 19:24:15

文章目录

  • 1. 概念
  • 2.安装
  • 3. vim的使用
    • 1.使用一些按键没有反应
    • 2. 模式转换
      • 1.命令模式转换到插入模式
        • 1. a
        • 2. i
        • 3. o
        • 2.命令模式切换到底行模式
        • 1. 退出
      • 3. 整体概念图
  • 4. 热键的使用
    • 1. 命令模式下
      • 1.复制——yy 粘贴——p
        • 复制若干行—— n yy
        • 粘贴若干行—— n p
      • 2. 撤销操作——u
      • 3. 对撤销操作进行撤销——ctrl r
      • 4. 剪切当前行 —— dd
        • 剪切若干行—— n dd
      • 5. 光标移动到文档尾 ——shift g
      • 6.光标到文档始——gg
        • 光标到指定行 ——n shift g
      • 7. 光标到文档行尾——shift $
      • 8.光标到文档行始——shift ^
      • 9. 向前移动——n b
      • 10 .向后移动 —— n w
      • 11.行内大小写切换——shift ~
        • 切换大写
        • 切换小写
      • 12. 替换光标所在字符——r
        • 替换若干字符 —— n r
      • 13. 无脑替换
      • 14. 删除光标字符——x(左->右)
        • 行内删除n个字符——n x
      • 15. 删除光标字符——shift x (右->左)
    • 2. 底行模式下
      • 1. 设置行号——set nu
      • 2. 删除行号—— set nonu
      • 3.搜索——/ 字符
      • 4. 整体替换
      • 5.执行命令行的命令,不想退出vim
      • 6.将声明和实现分离 —— vs

1. 概念

一款编辑器,只负责写代码

2.安装

[yzq@VM-8-8-centos ~]$ sudo yum install vim

3. vim的使用

1.使用一些按键没有反应

在这里插入图片描述

当我们 使用 vim +文件名 进入文件中时,发现一些按键 按了没有反应
这是因为vim是一个多模式的编辑器,默认在命令模式下,按键都被当做命令了

2. 模式转换

1.命令模式转换到插入模式

1. a

在这里插入图片描述

输入a后,光标会向后移一位

2. i

在这里插入图片描述

使用i从命令模式转换到插入模式,光标不变

3. o

在这里插入图片描述

使用o,从命令模式切换到插入模式,光标会重起一行

2.命令模式切换到底行模式

如果处于插入模式,输入ESC切换到命令模式
在处于命令模式下,输入 冒号:,从命令模式切换到底行模式

1. 退出

在处于底行模式下
w代表保存,q代表退出
1.保存退出 :
输入: wq
2.强制退出:
输入 :q!
3.强制保存并退出
输入:wq!

3. 整体概念图

在这里插入图片描述

4. 热键的使用

1. 命令模式下

以下必须处于命令模式下才可以操作

1.复制——yy 粘贴——p

复制当前行 yy
粘贴一行到当前光标所在行之下 p

输入 yy,复制光标所在行
输入 p,自动粘贴到下一行

在这里插入图片描述

复制若干行—— n yy

复制当前行在内的指定若干行 n yy
假设为 5 yy 复制 int main 及以下内容
输入 p,在原来光标下粘贴出5行内容

在这里插入图片描述

粘贴若干行—— n p

粘贴多行相同的内容到当前光标所在行之下 n p
假设在当前光标处 输入 yy
再次输入 10 p ,粘贴出10行

在这里插入图片描述

2. 撤销操作——u

u:撤销刚刚的操作
刚刚使用 10 p 复制 10行的printf 内容

例如输入 u,撤销 10 p 的操作
在这里插入图片描述

3. 对撤销操作进行撤销——ctrl r

对撤销的操作进行撤销 ctrl r
刚刚使用 u 撤销 10 p的操作 ,输入 ctrl r 对 u 进行 撤销,相当于进行 10 p的操作

在这里插入图片描述

4. 剪切当前行 —— dd

在这里插入图片描述

剪切若干行—— n dd

剪切当前行所在指定的若干行 n dd
以 3 dd 剪切 3 行 为例
在这里插入图片描述
如果 只进行 dd / n dd 就是删除操作

5. 光标移动到文档尾 ——shift g

将光标定位到文档结尾 shift g
在这里插入图片描述

6.光标到文档始——gg

将光标定位到文档开始 gg
在这里插入图片描述

光标到指定行 ——n shift g

将光标移动到指定行 n shift g
以 8 shift g ,移动到第8行 为例
在这里插入图片描述

7. 光标到文档行尾——shift $

将光标定位到文档行的结尾 shift $
在这里插入图片描述

8.光标到文档行始——shift ^

将光标定位到文档行的开始 shift ^
在这里插入图片描述

9. 向前移动——n b

在行内,按照单词为单位 向前移动n个 :n b
将非单词作为一个整体跳过
以 3 b 为例
在这里插入图片描述

10 .向后移动 —— n w

在行内,按照单词为单位 向后移动n个 : n w
将非单词作为一个整体跳过
以 4 w为例在这里插入图片描述

11.行内大小写切换——shift ~

行内大小写切换 : shift ~

切换大写

在这里插入图片描述
从光标开始 ,shift ~ 按一次切换一次 切换为大写

切换小写

在这里插入图片描述
从光标开始 ,shift ~ 按一次切换一次 切换为小写

12. 替换光标所在字符——r

替换光标所在字符 r
在这里插入图片描述
光标所在w处,输入 r 后,输入 m,将 w字符换成 m

替换若干字符 —— n r

将若干个字符替换指定字符: n r
在这里插入图片描述
光标所在a处,输入 7r 后 再次输入 m,将aaaaaad 替换成mmmmmmm

13. 无脑替换

输入shift r,从命令模式进入替换模式

直接输入想要输入的字符,最后ESC返回命令模式

14. 删除光标字符——x(左->右)

行内删除光标所在字符 x (左侧->右侧)
在这里插入图片描述
直接输入x,删除光标后所在字符

行内删除n个字符——n x

行内删除光标及后面n个字符 : n x
在这里插入图片描述
输入 8 x,删除光标后的 7个m及空格

15. 删除光标字符——shift x (右->左)

删除光标的字符 :shift x(右侧->左侧)
在这里插入图片描述shift x 删除光标前的字符

2. 底行模式下

以下必须处于底行模式下才可以操作

1. 设置行号——set nu

在插入模式下 ,正常输入是没有行号的
在这里插入图片描述
使用 shift :切换到 底行模式,输入 set nu 设置行号
在这里插入图片描述

2. 删除行号—— set nonu

在底行模式下,再次输入 set nonu 删除行号
在这里插入图片描述

3.搜索——/ 字符

在底行模式下 输入/wolrd , 把要搜索的字符高亮出来
输入 n,可以直接匹配下一个

在这里插入图片描述

4. 整体替换

%s/被替换字符/替换成的字符/g
例 输入 %s/hello/HELLO/g,将 hello 全部替换成 HELLO
在这里插入图片描述

5.执行命令行的命令,不想退出vim

如果在vim编辑器且进入底行模式,进行编译
执行命令行的命令,不想退出vim 前面带上
在底行模式下 输入 ! ls -l
在这里插入图片描述
按任意键返回vim编辑器

6.将声明和实现分离 —— vs

将声明和实现分离: vs 函数名
在这里插入图片描述
test.h文件为函数的声明
test.c文件为函数的实现

光标所在的位置,就要编写哪一个文件
当前光标在test.h的位置,所以编辑test.h文件
切换到不同的界面, ctrl ww

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

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

相关文章

03-Alibaba微服务组件Nacos注册中心实战

什么是 Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 的关键特性包括: 服务发现和服务健康监测 动态配置服务 动态 DNS 服务 服务及其元数据管理 Nacos…

陆道培医疗冲刺香港上市:持续亏损,毛利率下滑,陆佩华为董事长

2023年1月3日,陆道培医疗集团(下称“陆道培医疗”)在港交所递交招股书,准备在港交所主板上市。本次冲刺上市,陆道培医疗拟将募资金额用于河北燕达陆道培医院的扩建及搬迁及上海陆道培医院的开业等。 同时,陆…

新生儿只是睡?了解了他的生长发育情况后就不这么觉得了

在网上看到这样一句话,说:所谓坐月子,其实就是把最需要照顾的产妇和新生儿捆在一起,让他们互相治愈。是的,在很多人眼里,新生儿除了吃饭就是睡觉,照顾起来真的很容易,但是只要了解了新生儿的生长…

Android开发常见问题:为什么不要用Timer?

前言 从刚开始做Android开始,就时刻谨记一条规则:如果有能实现功能的Android API,就不要用Java API。所以我很少用Timer,直到前一阵一个朋友问我: 我有一个Timer计时器,我看logcat已经启动了,为…

嵌入式应该从哪里入手?

就从目前IT行业大的方向上来讲嵌入式工程师相对来讲是非常吃香的,学习嵌入式开发的朋友数量也是非常的多的,那么对于对嵌入式工程师我们应该从哪里入手呢? 下面就根据我自身多年的一个实际的工作经验来给哪些不知道怎么入门的朋友来简单的介绍一下。 前…

C语言进阶——指针(一)

目录 一. 字符指针 二. 指针数组 三. 数组指针 四. 数组参数、指针参数 1.一维数组传参 2.二维数组传参 3.一级指针传参 4.二级指针传参 一. 字符指针 在之前,我们就了解到过字符指针 int main() {char aW;//字符变量char* pa&a;//字符指针*…

1.3日报

今天优化了getMobileByScene接口, 测试accountadd接口 遇到的问题与解决 在升级安装python3时,由于操作失误,导致系统错误,在同事帮助下重装了系统,好在保住了文件。但是软件还得重新配置。 getMobileByScene接口在…

精益|什么是价值流图分析(VSM)?

在精益生产管理中,价值流研究主要是指利用制作价值流图,进行价值流图研究可以发现并消除浪费、降低成本,改进企业运营状况,提升企业竞争力。因此进行价值流研究离不开价值流图。 价值流图(Value Stream Mapping&#x…

基于KT6368A蓝牙芯片开发智能抖音翻页翻页笔总结

一、功能简介 KT6368A蓝牙芯片也是基于 HID 开发,主要用于浏览当下火爆的抖音等小视频的上下翻页、左右菜单切换、暂停等操作。打开手机蓝牙进行连接,进入视频浏览界面操作对应按键即可。包含一个蓝牙的指示灯,表示是否连接 。同时支持adkey按…

HBase面试题汇总

1、请描述HBse的? 答: Memstore级别:当MemStore的大小达到设置阈值(默认128M),会触发flush操作。 1、HBase中Memstore在何时进行数据的flush操作? 答: Memstore级别&#xff1a…

uniapp 填坑之旅---udb微信小程序端显示异常

功能描述:A页面展示列表a,点击a,进入B页面,展示a对象关联的子对象b。在B页面中,通过unicloud-db组件manual模式加载,具体代码按照官网示例来写。问题描述:代码实现后,一直在H5调试&a…

Jmeter安装配置使用超详细教程(亲测有效)

文章目录1、Jmeter下载2、JDK安装3、Jmeter环境部署4、验证jmeter5、修改语言6、接口测试1、Jmeter下载 1.1、下载地址 http://jmeter.apache.org/download_jmeter.cgi 1.2、选择对应版本,本文以windows版本为例,版本号为5.5。 2、JDK安装 jmeter安装…

到底为什么那么多大厂在开始疯狂裁员?

最近几年大家都听到了好多大厂公司开始裁员,比如鹅厂、狗厂、鸟厂、熊厂等。 接下来给大家讲个故事,希望故事看完,你就会懂了! 外国的神父呆了不久 留下几个 P 就走了, 一个 P 叫 BPR, 一个 P 叫 ERP。 …

作业1/4 设备树总结

1.什么是设备树 设备树(Device Tree)是用来描述(存储)硬件信息的一种树形结构,设备树在linux内核启动的时候传递给内核被内核解析,用来描述设备信息的一种方式(地址,中断号...)。设备…

《收获,不止Oracle》表的设计之五朵金花

表设计主要强调什么场合该选择什么技术,没有最高级的技术,只有最适合的技术。 1.表的特性 普通堆表的不足之处 1.查看产生多少日志 [oracleoracle-db-19c ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 4 14:27:13 20…

电商数据监测的应用价值——国内吸尘器行业数据浅析

随着科技的发展与居民生活水平的提高,吸尘器进入日常生活,成为了常见家用清洁用具之一。2022年上半年,吸尘器市场零售额达145亿元,同比增速达14.0%,零售量1008万台,同比下跌2.8%。(数据来源&…

Hadoop HA高可用

文章目录Hadoop HA高可用1.1 HA概述1.2 HDFS-HA工作机制1.2.1 HDFS-HA工作要点1.2.2 HDFS-HA自动故障转移工作机制1.3 HDFS-HA集群配置1.3.1 环境准备1.3.2 规划集群1.3.3 配置Zookeeper集群1)集群规划2)解压安装3)配置zoo.cfg文件4&#xff…

药品需求加大,蒸汽发生器等制药设备该如何快速有效地进行维护?

一、行业背景药品的生产与制造的每一道关卡都是十分严格的,一方面,涉及到化工污染问题,制药的废气一旦没有得到妥善处理,则会危及到周边居民以及企业工作人员的健康。另一方面,药品本着治病救人的原则,其品…

[Android]序列化原理Serializable

引入 我们知道,当一个程序终止时,这个程序创建的对象也会随着程序终止,那么我需要如何做才能不受其他程序的状态影响并且可以得到其他程序创建的对象状态呢?这时候我们就可以使用Serializable来进行序列化把对象持久化到存储设备上…

【服务器数据恢复】断电导致服务器故障的数据恢复案例

服务器数据恢复环境: 某品牌服务器,12块硬盘组成raid5磁盘阵列,存储普通文件。 服务器故障: 机房供电不稳定导致服务器断电,管理员重启服务器后发现服务器无法正常使用。 根据用户描述,北亚服务器数据恢复工…