【Linux】vim的基本操作与配置(下)

news2025/1/18 3:28:47

Hello everybody!今天我们继续讲解vim的操作与配置,希望大家在看过这篇文章与上篇文章后都能够轻松上手vim!

1.补充

在上一篇文章中我们说过了,在底行模式下set nu可以显示行号。今天补充一条:set nonu可以取消行号。这两条命令大家看看就可以,一点都不重要。因为在配置好vim之后会自动将行号显示出来。

2.搜索关键字

在底行模式下输入/关键字,可进行关键字得查找。

3.!command

有时在使用vim时,忘了某个函数是如何使用得,还要退出vim再查看该函数的用法。

或是在代码编写到一半的时候,想要编译测试一下代码,还是要退出vim。

这样过于麻烦,我们可以在底行模式下直接进行代码的编译或是查看函数的用法:

直接在对应命令前加上一个感叹号即可!

这样可以不用退出vim也可以编译程序

之后就来到这个界面,可以按任意键继续

再如,写代码的时候不知道strlen函数怎么用了,可以直接查看它的用法:

这样就会方便很多。

4.多文件操作

当我们需要同时编辑多个文件时,比如说要同时写头文件,源文件,测试文件等,怎么办呢?

vim支持多文件操作:

在我们编写test.c的时候,需要编写test.h,可以在底行模式下输入vs test.h(就算没有test.h也可以进行编写,写完保存后,vim会自动帮我们创建该文件)。

之后就是这个效果,左边是test.h,右边是test.c。

也可以多文件进行分屏,但光标只有一个。要实现光标在文件之间的来回切换需要CTRL按住同时敲两下w,就可以将光标切换到另一个文件中。并且文件之间也支持拷贝剪切等操作!

5.快速退出vim

补充命令:如果我们想快速退出vim,可以在命令模式下按住shift不动并敲两下z。就相当于两个大写的z。就直接保存并退出了。

6.批量化注释和批量化去注释

6.1加注释

在命令模式下敲ctrl v进入视图模式,然后h j k l等移动光标选择区域,接着shift i=I进入插入模式,输入//后按ESC即可!

这是进入视图模式。

移动光标选择区域。

进入插入模式。

输入//。

接着ESC后完成!

6.2去注释

在命令模式下敲ctrl v进入视图模式,然后h j k l等移动光标选择区域,选中后直接敲d就可以去注释。

7.vim的配置

在我们使用vim编写代码时你会觉得很麻烦,因为缩进,括号等等都需要敲两次,而且鼠标也不能用,还没有行号。你会觉得很不习惯。所以我们需要配置vim来使它变得更加方便我们使用!

7.1vim配置的原理

什么是vim呢?

vim,说白了就是一个可执行程序,就像我们windows下的一个应用程序一样。但是在vim运行时,它需要读取一些隐藏的配置文件。其中最典型的就是.vimrc。

当我们的文件夹中没有该文件时,我们可以创建一个这样的文件。

创建好后就可以在里面写一些配置的选项。

例如在里面写一个set nu。写好后,下一次我们用vim编辑其他文件时,vim会自动读取改文件中的选项并运行。

如上图,配置好后,用vim打开test.c后,左边的行号就会自动显示出来!

这就是vim的配置原理!

7.2配置vim

vim的配置选项有很多,比如说自动缩进,可以识别鼠标操作等等。反正目的就是让vim变得非常方便,十分利于我们写代码,符合我们的习惯等等。

当然,我这里有一键配置:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

前提是:

1.必须以普通用户执行该命令。执行后需要输入root用户的密码。

2.平台必须是CentOS.7

才可以执行这个命令,否则可能会有一些小问题。

这是安装成功后的结果。

这就是配置完成之后的效果!

当然,如果你的机器不是CentOS.7的话可以在网上搜以下vim的配置选项,进行自己的个性化配置!

8.结语

OK!那么关于vim的操作与配置就全部介绍完啦!下一篇文章我将专门跟大家讲解一下指令提权!内容不多,欢迎宝子们赏光!

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

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

相关文章

LeetCode-第28题-找出字符串中第一个匹配项的下标

1.题目描述 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 2.样例描述 3.思路描述 可以让字符串 …

SpringBoot源码解读与原理分析(二十)IOC容器的刷新(一)

文章目录 7 IOC容器的刷新7.1 初始化前的预处理7.1.1 初始化属性配置7.1.2 初始化早期事件的集合 7.2 初始化BeanFactory7.2.1 注解驱动的refreshBeanFactory7.2.2 XML驱动的refreshBeanFactory7.2.3 获取BeanFactory 7.3 BeanFactory的预处理配置7.3.1 ApplicationContextAwar…

自然语言学习nlp 六

https://www.bilibili.com/video/BV1UG411p7zv?p118 Delta Tuning,尤其是在自然语言处理(NLP)和机器学习领域中,通常指的是对预训练模型进行微调的一种策略。这种策略不是直接更新整个预训练模型的权重,而是仅针对模型…

vue3+vite+ts 配置commit强制码提交规范配置 commitlint

配置 git 提交时的 commit 信息,统一提交 git 提交规范 安装命令: npm install -g commitizen npm i cz-customizable npm i commitlint/config-conventional commitlint/cli -D 文件配置 根路径创建文件 commitlint.config.js module.exports {// 继承的规…

【开源】基于JAVA+Vue+SpringBoot的假日旅社管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统介绍2.2 QA 问答 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿评论4.3 查询民宿新闻4.4 新建民宿预订单4.5 查询我的民宿预订单 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的假日旅社…

STL之list容器的介绍与模拟实现+适配器

STL之list容器的介绍与模拟实现适配器 1. list的介绍2. list容器的使用2.1 list的定义2.2 list iterator的使用2.3 list capacity2.4 list element access2.5 list modifiers2.6 list的迭代器失效 3. list的模拟实现3.1 架构搭建3.2 迭代器3.2.1 正向迭代器3.2.2反向迭代器适配…

鸿蒙开发(六)布局概述

迄今为止,我还没有正式提到布局的概念。但其实我之前的demo里面,已经默认使用到了一种布局,那就是线性布局(Row、Column),这也是DevEco创建项目默认页面里面默认采用的布局。那么本篇,带着大家一…

PyTorch 2.2 中文官方教程(十)

使用整体追踪分析的追踪差异 原文:pytorch.org/tutorials/beginner/hta_trace_diff_tutorial.html 译者:飞龙 协议:CC BY-NC-SA 4.0 作者: Anupam Bhatnagar 有时,用户需要识别由代码更改导致的 PyTorch 操作符和 CUDA 内核的变化…

python 动态数据 展示 ,数据是由51单片机发送过来的,温度传感器。

import tkinter as tk import randomimport seriallis[] for i in range(50):lis.append(i1) # 打开串行端口 ser serial.Serial(COM3, 9600) # 9600为波特率,根据实际情况进行调整# 初始化数据 lis [random.randint(15, 35) for _ in range(50)]def update_data…

【深度学习:Bard】我们 AI 之旅的重要下一步

【深度学习:AI 之旅】我们 AI 之旅的重要下一步 Bard简介将 AI 的优势带入我们的日常产品中帮助开发人员利用 AI 进行创新大胆负责 人工智能是我们今天正在研究的最深刻的技术。无论是帮助医生更早地发现疾病,还是使人们能够用自己的语言获取信息&#x…

2024年10 个好用的AI简历工具盘点推荐

在职场竞争激烈的今天,一份出色的简历就像是你的秘密武器,能帮你在众多候选人中脱颖而出,赢得面试宝座。随着 ChatGPT 引领的 AI 浪潮席卷而来,各式各样的 AI 简历工具如雨后春笋般涌现。面对这样的背景,神器集今天为大…

立面效果图为何要用云渲染100?渲染100邀请码1a12

建筑设计是一门艺术,而立面效果图是艺术的展现,它在设计中非常重要。 1、立面效果图的重要性 立面效果图能用来展示建筑物的风格、材质、色彩以及环境等因素,通过它,设计师可以检验项目质量,评估效果是否达到预期&…

【开源】基于JAVA+Vue+SpringBoot的课程案例资源库系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 管理员需求分析2.2 用户需求分析 三、系统设计3.1 业务流程设计3.1.1 管理员业务流程设计3.1.2 用户业务流程设计3.1.3 首页功能模块及业务流程分析3.1.4 案例资源中心功能模块及业务流程分析3.1.5 用户信息中心功能模块…

C语言笔试题之求出二叉树的最大深度(递归解决)

实例要求: 1、给定一个二叉树 root ,返回其最大深度;2、二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数; 案例展示: 实例分析: 1、判断根节点是否为空;2、分别递归处理左…

Python环境下基于指数退化模型和LSTM自编码器的轴承剩余寿命预测

滚动轴承是机械设备中关键的零部件之一,其可靠性直接影响了设备的性能,所以对滚动轴承的剩余使用寿命(RUL)进行预测是十分必要的。目前,如何准确地对滚动轴承剩余使用寿命进行预测,仍是一个具有挑战的课题。对滚动轴承剩余寿命评估…

C语言中的数据类型-强转

强制类型转换 概念:将某种类型的数据转化我们需要的数据类型,注意强制类型转化是临时强转,不会改变本身的数据类型。 强转又分为显式强转和隐式转化 显示强转是按照我们的要求进行转化 格式:(需要转化数据类型)变量名 #inclu…

VUE学习——事件处理

事件分为内联事件和方法事件。 我们可以使用【v-on】&#xff08;简写&#xff1a;&#xff09;来处理。 内联 <button v-on:click"count">按钮</button><button click"count">按钮</button><p>{{ count }}</p>方法

YouTrack 用户登录提示 JIRA 错误

就算输入正确的用户名和密码&#xff0c;我们也得到了下面的错误信息&#xff1a; youtrack Cannot retrieve JIRA user profile details. 解决办法 出现这个问题是因为 YouTrack 在当前的系统重有 JIRA 的导入关联。 需要把这个导入关联取消掉。 找到后台配置的导入关联&a…

图灵日记之java奇妙历险记--抽象类和接口

目录 抽象类概念抽象类语法 接口概念规则使用特性实现多个接口接口的继承接口使用实例Clonable接口和深拷贝抽象类和接口的区别 Object类 抽象类 概念 在面向对象的概念中,所有对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够…

java SpringBoot2.7整合Elasticsearch(ES)7 带条件分页查询与不带条件分页查询演示讲解

上文 java SpringBoot2.7整合Elasticsearch(ES)7 进行文档增删查改 我们带着大家 整合了 Elasticsearch 对索引中的文档做了 各方面操作 然后 我们来说说 分页查询 这里 为了方便大家看 我加了五条数据进去 这里 我们仍然需要带个条件 这里 我们用name Mapper 接口 加一个这…