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

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.mfbz.cn/a/379894.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud-Ribbon:负载均衡(基于客户端)

6. Ribbon:负载均衡(基于客户端) 6.1 负载均衡以及Ribbon Ribbon是什么? Spring Cloud Ribbon 是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负…

JRebel激活-nginx版本

nginx转发流量(代替其他网上说的那个工具) proxy_pass http://idea.lanyus.com; 工具激活 填写内容说明: 第一行的激活网址是:http://127.0.0.1:8888/ 正确的GUID。GUID 可以通过专门的网站来生成(点击打开&#…

Redis事务和Redis管道

文章目录 1.Redis事务1.1 Redis事务是什么,能干嘛?1.2 Redis事务和数据库事务的差异1.3 Redis事务的相关命令 2.Redis管道2.1 Redis管道是什么2.2 管道与原生批量命令对比2.3 管道与事务对比2.4 使用管道注意事项 1.Redis事务 1.1 Redis事务是什么&…

机器学习:分类决策树(Python)

一、各种熵的计算 entropy_utils.py import numpy as np # 数值计算 import math # 标量数据的计算class EntropyUtils:"""决策树中各种熵的计算,包括信息熵、信息增益、信息增益率、基尼指数。统一要求:按照信息增益最大、信息增益率…

c++随机数生成进阶random与随之种子生成器的使用

随机数的作用我就不说了,但凡要用随机数的童鞋一定是有这个需求。下面我们就分三个层次来介绍随机数生成。 文章目录 一、利用rand函数生成随机数1、rand裸奔2、随机数种子srand-随机数生成器3、如何得到不同的种子值(1)、利用系统时间戳tim…

文件上传-Webshell

Webshell简介 webshell就是以aspphpjsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页木马后门。 攻击者可通过这种网页后门获得网站服务器操作权限,控制网站服务器以进行上传下载文件、查看数据库、执行命令等… 什么是木马 …

2024.02.08

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);this->setWindowIcon(QIcon(":/zh.png"));ui->lineEdit->setPlaceholderText("账号/手…

【Linux笔记】缓冲区的概念到标准库的模拟实现

一、缓冲区 “缓冲区”这个概念相信大家或多或少都听说过,大家其实在C语言阶段就已经接触到“缓冲区”这个东西,但是相信大家在C语言阶段并没有真正弄懂缓冲区到底是个什么东西,也相信大家在C语言阶段也因为缓冲区的问题写出过各种bug。 其…

再识C语言 DAY16【进制的转换 】

文章目录 前言进制的转换一、各个进制的组成二、二进制转换其他进制三。其他进制转换为二进制四.小数部分进制转换五.八进制与十进制的相互转换 总如果您发现文章有错误请与我留言,感谢 前言 本文章总结于此视频 进制的转换 一、各个进制的组成 1. 二进制&#x…

【C语言自定义类型详解进阶】结构体(补充结构体的对齐和位段,一口气看完系列,央妈都点赞的博文)

目录 1.结构体 1.1 结构的基础知识 1.2 结构的声明 1.2.1特殊的声明(匿名结构体类型) 1.3结构体变量的定义 1.4关于匿名结构体类型的补充 1.5结构体的自引用 1.6结构体变量的初始化 2.结构体内存对齐(重点) 2.1偏移量补…

报错ValueError: Unknown CUDA arch (8.6) or GPU not supported

文章目录 问题描述解决方案参考文献 问题描述 报错 ValueError: Unknown CUDA arch (8.6) or GPU not supported 本人显卡为 RTX 3060,CUDA 为 10.2,PyTorch 为 1.5 解决方案 修改 C:\Users\Administrator\Envs\test\Lib\site-packages\torch\utils\c…

nvm安装nodejs 报错certificate has expired or is not yet valid

今天在使用nvm安装nodejs时,突然报如下错误: 从报错信息中很容易知道这是因为镜像凭证过期,所以我们只需要换个镜像即可。 打开你nvm的安装目录下的settings.txt文件,将下面两行添加到里面,如果已经有的就覆盖。 nod…

【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏3(附项目源码)

最终效果 文章目录 最终效果系列目录前言随着地面法线旋转在地形上随机生成动物不同部位颜色不同最终效果源码完结系列目录 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第24篇中,我们将探索如何用unity制作一…

一周学会Django5 Python Web开发-Django5创建项目(用命令方式)

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计11条视频,包括:2024版 Django5 Python we…

前端滚动组件分享

分享一个前端可视化常用的卡片列表滚动组件&#xff0c;常用于可视化项目左右两侧的卡片列表的滚动。效果如下图所示&#xff1a; 组件描述 当鼠标移入滚动区域时&#xff0c;滚动行为停止当鼠标再次离开时&#xff0c;滚动继续 源码展示 <template><div ref"…

停车场|基于Springboot的停车场管理系统设计与实现(源码+数据库+文档)

停车场管理系统目录 目录 基于Springboot的停车场管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员功能实现 &#xff08;1&#xff09;车位管理 &#xff08;2&#xff09;车位预订管理 &#xff08;3&#xff09;公告管理 &#xff08;4&#…

Zoho Mail企业邮箱商业扩展第2部分:企业运营

在关于Zoho Mail企业邮箱商业扩展应用的这个系列的第一部分中&#xff0c;我们遇到了一位名叫王雪琳的个体企业家。她经营着自己的营销机构&#xff0c;并展示了如何创建和管理自己的企业。为了提升企业的专业形象&#xff0c;王雪琳使用了Zoho Mail来建立个性化的电子邮件域名…

【Linux】线程

线程 我们常常会在linux中或者在操作系统这门课中听到进程和线程的名称&#xff0c;我们之前认识了进程的概念&#xff0c;现在我们来了解一下线程的概念 线程概念&#xff1a; 什么是线程 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定…

牛客网SQL264:查询每个日期新用户的次日留存率

官网链接&#xff1a; 牛客每个人最近的登录日期(五)_牛客题霸_牛客网牛客每天有很多人登录&#xff0c;请你统计一下牛客每个日期新用户的次日留存率。 有一个登录(login。题目来自【牛客题霸】https://www.nowcoder.com/practice/ea0c56cd700344b590182aad03cc61b8?tpId82 …

第三百一十五回

文章目录 1. 概念介绍2. 基本用法3. 补充用法4. 内容总结 我们在上一章回中介绍了"再谈ListView中的分隔线"&#xff0c;本章回中将介绍showMenu的用法.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在第一百六十三回中介绍了showMenu相关的内容…