当前位置: 首页 > news >正文

【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.lryc.cn/news/297964.html

相关文章:

  • [office] 图文演示excel怎样给单元格添加下拉列表 #知识分享#经验分享
  • 【RT-DETR有效改进】利用SENetV2重构化网络结构 (ILSVRC冠军得主,全网独家首发)
  • 【Linux】学习-进程间通信
  • 45. C++ 字符指针和字符串
  • 如何制作一款3D FPS游戏
  • 人工智能|深度学习——使用多层级注意力机制和keras实现问题分类
  • C语言常见面试题:C语言中如何进行网页开发编程?
  • DevOps落地笔记-20|软件质量:决定系统成功的关键
  • 政安晨:梯度与导数~示例演绎《机器学习·神经网络》的高阶理解
  • CTFSHOW命令执行web入门29-54
  • 探索ChatGPT4:新一代人工智能语言模型的突破
  • PVST详解
  • c++ 子进程交互 逻辑
  • C#实现矩阵乘法
  • Objective-C 中的SEL
  • 使用 Docker 镜像预热提升容器启动效率详解
  • 锁(二)队列同步器AQS
  • 【知识整理】招人理念、组织结构、招聘
  • 监控概述、安装zabbix、配置zabbixagent、添加被控端主机、常用监控指标、自定义监控项
  • 恒创科技:香港 BGP 服务器网络连通性如何测试?
  • 《动手学深度学习(PyTorch版)》笔记7.6
  • Quicker读取浏览器的书签(包括firefox火狐)
  • 【数学建模】【2024年】【第40届】【MCM/ICM】【B题 搜寻潜水器】【解题思路】
  • 深入探索Redis:如何有效遍历海量数据集
  • 贪心算法之田忌赛马,多种语言实现
  • C++ static 修饰全局变量时的作用探究
  • Git的基础操作指令
  • 前端开发:(四)JavaScript入门
  • js文件忽略ESLint语法检查
  • 【深度学习】:实验6布置,图像自然语言描述生成(让计算机“看图说话”)