Linux vim

news2025/1/15 19:43:16

知识回顾

  1. 文件 = 内容 + 属性
  2. 目录权限:1. 如果你想进入一个目录是需要x权限的 2.r 的作用是限制你查看该目录下的文件属性和内容 3. W 的作用是限制你能否在这个目录中创建和删除文件

Vim

在这里插入图片描述

首先,使用 touch test.c 指令创建一个文件
输入 : vim test.c 进入编辑
注意 : 默认情况下是无法输入内容的,如果你可以输入内容一定是不小心按到了一些模式切换键:比如 i 之类的。
如果你想退出Vim 该怎么办,在你可以输入内容的情况下,按一下esc 然后输入 ::wq 就可以退出了。w是保存。q 是退出。

来来来,我们细细分析一下,这个东西,其实 vim 有多种模式,
当你创建一个新的文件:test.c 的时候,你使用:vim test.c 按下enter键时,你会看到这样的画面:
在这里插入图片描述

当你输入字母i 时进入编辑模式。
在这里插入图片描述
这个时候,你就可以输入内容了
其实进入 这个编辑模式 除了按i 还可以按 a , o ;

如何从 编辑模式 退回到 命名模式?
答: 直接按esc 就行了
在这里插入图片描述
我们可以在底行模式下输入指令显示我们写的代码的行号。
:set number
如果你不想要行号可以使用:set nonu 来去除行号。

如果你想运行一下你写的程序。你可以退出vim;
然后输入gcc test.c 编译一下,
编译之后会生成一个可执行程序叫a.out
然后你就可以运行这个可执行程序了
输入:./a.out
在这里插入图片描述

在这里插入图片描述

其实吧,你也可以不用退出vim 直接在里面运行你的代码:
怎么做的:
在底行模式下输入相应指令就行了。但是要加上一个!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如何在vim中找到我们想修改的代码
比如:如果你想要找到 main 函数在哪里。你可以在底行模式下输入::/main
这样 vim 会把 main 函数高亮给你显示出来:

在这里插入图片描述
如果你想搜索一个重复出现的关键字:比如你在函数中写了多个 变量 a
当你输入/a 时找到的是 变量a第一次出现的位置,这个时候你可以按n 来找到下一个 a 出现的位置

vim 的命令模式

  1. 在命令模式中进行光标的定位
    gg : 将光标定位到代码的第一行(注意是在命名模式下,不要搞成底行模式了)

shift + g :将光标定位到文本的最后一行;

那我想将光标定位到指定的行 又该何如?
n + shift + g n 是你想定位到的行数。
比如你想定位到第 20 行 就直接: 20 + shift + g

shift +4 ($) 定位到当前行的最右侧
shift + 6 (^) 定位到当前行的最左侧

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

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

相关文章

python关闭指定进程以excel为例

先说下环境: Excel版本: Python2.7.13和Python3.10.4并存。 2、打开两个excel工作簿 看进程是这样的: 3、用python编程kill进程 # -*- coding: utf-8 -*- import os proc_nameEXCEL.EXE if __name__ __main__:os.system(taskkill /im {} /…

java获取jenkins发布版本信息

一.需求: 系统cicd发布时首页需要展示jenkins发布的版本和优化内容 二.思路: 1.jenkins创建用户和秘钥 2.找到对应构建任务信息的api 3.RestTemplate发起http请求 三.实现: 1.创建用户和token 2.查找jenkins API 创建 Job POST http://localhost…

数据库 SQL高级查询语句:聚合查询,多表查询,连接查询

目录 创建学生表聚合查询聚合函数直接查询设置别名查询设置条件查询 常用的聚合函数 分组查询单个字段Group by报错分组查询多字段分组查询 多表查询直接查询重命名查询Students表新建一列CourseID 连接(JOIN)查询INNER JOINRIGHT JOIN, LEFT JOINFULL J…

弄懂软件设计模式(一):单例模式和策略模式

前言 软件设计模式和设计原则是十分重要的,所有的开发框架和组件几乎都使用到了,比如在这小节中的单例模式就在SpringBean中被使用。在这篇文章中荔枝将会仔细梳理有关单例模式和策略模式的相关知识点,其中比较重要的是掌握单例模式的常规写法…

SpringBoot项目--电脑商城【获取省市区列表】

1.易错点 1.错误做法 新增收货地址页面的三个下拉列表的内容展示没有和数据库进行交互,而是通过前端实现的(将代码逻辑放在了distpicker.data.js文件中),实现方法是在加载新增收货地址页面时加载该js文件,这种做法不可取 2.正确做法 把这些数据保存到数据库中,用户点击下拉…

多链路自检与灵活组网:新能源充电桩物联网5G工业路由器

随着环保新能源技术的迅猛发展,新能源车主对充电桩的需求量也日益增加。为了更好地管理这些新能源充电桩并实现远程监控和维护,新能源充电桩物联网应用需求应运而生。新能源充电桩物联网基于5G工业路由器的实现数据安全传输与实时在线监控、远程管理维护…

基于ubuntu tun虚拟网卡设备完成ping的发送与模拟接收

前言 前面我们初步认识了什么是tun设备及基础的工作原理与接收文件的设备文件(节点)、虚拟网卡的启动、添加路由表等操作,为什么进一步理解tun设备与协议栈的通信理解,这次我们将应用层控制tun设备发送ping,通过read读…

【AI绘画--七夕篇】使用Stable Diffusion的艺术二维码完全生成攻略

文章目录 前言Stable Diffusion 简介 什么是云端平台?优势灵活性和可扩展性成本效益高可用性和容错性管理简便性 选择适合的云端平台 平台优势平台操作购买算力并创建工作空间启动工作空间应用市场一键安装 使用Stable-Diffusion作图使用控制网络将文本转图像二维码…

【业务功能篇98】微服务-springcloud-springboot-电商订单模块-生成订单服务-锁定库存

八、生成订单 一个是需要生成订单信息一个是需要生成订单项信息。具体的核心代码为 /*** 创建订单的方法* param vo* return*/private OrderCreateTO createOrder(OrderSubmitVO vo) {OrderCreateTO createTO new OrderCreateTO();// 创建订单OrderEntity orderEntity build…

SpringMVC中的综合案例

目录 一.常用注解 实例: 二.参数转递 2.1. 基础类型 2.2. 复杂类型 2.3. RequestParam 2.4.PathVariable 2.5.RequestBody 2.6.RequestHeader 2.7. 请求方法 三.返回值 3.1.void 3.2.String 3.3 StringModel 3.4 ModelAndView 四、页面跳转 4.1.转发 4.…

zk羊群效应怎么处理

什么是zk的羊群效应 如下图,如果第一个锁挂了,其他客户端又全监听的它,如果几十上百个,之个锁挂了还得去一个个通知,我挂了,你们又要重新加锁,全又监听。会引起多余的请求与网络开销。 如果这个…

虚拟机的ubuntu 22.04无法联网问题解决

问题:虚拟机的ubuntu 22.04无法联网 解决: 找到一种配置的方式,使用命令:sudo dhclient -v

MIT的智慧,利用深度学习来解决了交通堵塞

导读大家都对交通阻塞深恶痛绝。除了让人头疼和错过约会之外,交通拥堵让美国的司机每年多花3000亿美元。 研究人员建议大家使用自动驾驶汽车,即使数量占比并不大,但也能大大改善交通拥堵情况。 Lex Fridman和他的MIT团队开发了一款模拟游戏来…

SpringBoot环境MongoDB分页+去重+获取去重后的原始数据

最近有个比较复杂的MongoDB查询需求, 要求1:获取最近订单表中的请求参数信息,并需要按照请求参数中的账号进行去重 要求2:数据量可能比较大,因此需要做分页查询 研究了大半天,终于搞出了解决方案&#xff0…

使用 Python 的高效相机流

一、说明 让我们谈谈在Python中使用网络摄像头。我有一个简单的任务,从相机读取帧,并在每一帧上运行神经网络。对于一个特定的网络摄像头,我在设置目标 fps 时遇到了问题(正如我现在所理解的——因为相机可以用 mjpeg 格式运行 30…

手写Spring:第6章-资源加载器解析文件注册对象

文章目录 一、目标:资源加载器解析文件注册对象二、设计:资源加载器解析文件注册对象三、实现:资源加载器解析文件注册对象3.1 工程结构3.2 资源加载器解析文件注册对象类图3.3 类工具类3.4 资源加载接口定义和实现3.4.1 定义资源加载接口3.4…

面试算法-常用数据结构

文章目录 数据结构数组链表 栈队列双端队列树 1)算法和数据结构 2)判断候选人的标准 算法能力能够准确辨别一个程序员的功底是否扎实 数据结构 数组 链表 优点: 1)O(1)时间删除或者添加 灵活分配内存空间 缺点: 2&…

把文件上传到Gitee的详细步骤

目录 第一步:创建一个空仓库 第二步:找到你想上传的文件所在的地址,打开命令窗口,git init 第三步:git add 想上传的文件 ,git commit -m "给这次提交取个名字" 第四步:和咱们在第…

生成多样、真实的评论(2019 IEEE International Conference on Big Data )

论文题目(Title):Learning to Generate Diverse and Authentic Reviews via an Encoder-Decoder Model with Transformer and GRU 研究问题(Question):评论生成,由上下文评论->生成评论 研…

Android之“写死”数据

何为“写死”,即写完之后除非手动修改,否像嘎了一样在那固定死了 在实际安卓开发中,这种写死的概念必不可少,如控件的id,某一常量,Kotlin中的Val 当然,有些需求可能也会要求我们去写死数据&am…