Linux之vim编辑器

目录

vim编辑器 

vim编辑器指令

命令模式指令

光标相关

移动光标相关

文本操作

底行模式指令

插入模式

vim配置

vimforcpp 


面试官:小伙子,你是用什么环境编写代码的?

小明:vs2019

面试官:小伙子,你是用什么环境编译代码的?

小明:vs2019

面试官:小伙子,你是用什么环境调试代码的?

小明:vs2019

面试官:小伙子,你是用什么环境运行,发布代码的?

小明:vs2019

通过一个有趣的事例引入今天的主题--------vim编辑器。

vim编辑器 

    我们知道,一份合格的代码要进行几个阶段:编写,编译,调试,运行,发布。在windows环境中,有很多比较nb的软件可以将这五个阶段一起搞定,什么idea,vs2019等等,我们称这些软件为集成开发环境,但是在linux操作系统中,这几种阶段却分别由不同的工具来完成,今天我们要学习的vim编辑器,完成的就是代码的编写工作

vim编辑器:一种类似于windows中记事本的工具,可以完成代码的编写且只能完成代码的编写。

vim的三种模式命令模式插入模式底行模式 。在打开vim编辑器时,默认处于命令模式。

vim编辑器指令

命令模式指令

光标相关

光标就是打开vim编辑器之后可以看到一个很显眼的鲜艳标志就是图标。图示如下:

H,J,K,L:除了键盘上原始的上下左右键外,这四个字母分别代表左(H),下(J),上(K),右(L)四个方向。

移动光标相关

shift + ^:移动至行首。

shift + $:移动至行尾。

gg:移动至起始行

 shift + g:移动至末尾行。

n+shift+g:切换至指定行。

下图从第14行切换至第2行:

b/w:以单词为单位向前移动或者向后移动。

文本操作

yy:复制当前行。

nyy:复制包含当前行以及当前行之后的n-1行。

u:撤销上一操作。

ctrl+r:撤回撤销上一操作的操作。

p:粘贴。

dd+p:实现剪切功能。

np:一次粘贴复制行数的n倍行。

dd:删除当前光标所在行。

ndd:删除当前行在内的总共n行。

shift+~:实现大小写转换。

x:从左向右删除光标之后的一个字符。

nx:从左向右删除光标之后的n个字符。

X:从右向左删除光标之前的一个字符。

nX:从右向左删除光标之前的n个字符。

r:替换光标位置的一个字符。

nr:替换包括光标位置及光标位置之后的n个字符。

shift+r:进行多个字符的替换。

底行模式指令

我们进入vim编辑器时,默认是底行模式,我们可以使用shift+:组合键进入底行模式。

底行模式快捷键:

set nu:设置行号。

set nonu:取消行号。

vs  文件名:进行多文件操作。

ctrl+w:进行多个文件之间的光标的切换,进入多文件之后,如果要退出,可以先进行单文件的退出。

w:保存文件。

w!:强制保存。

q:退出。

q!:强制退出。

wq!:强制保存退出。

插入模式

插入模式在进入vim编辑器之后默认是命令模式,然后按i键进入插入模式。

命令模式如下:

插入模式如下:

插入模式就是我们一般在记事本中的模式,除了不能用鼠标之外其实本质和记事本没有什么区别。

注意:不管是什么模式,只要按了ESC键,都会进入指令模式,只有在指令模式之下才可以切换底行模式,底行模式和插入模式不可以互相转换。

vim配置

一般的默认的vim编辑器如下:

默认状态下是一片空白,我们可以对.vimrc文件进行vim配置,使得vim编辑器更美观高效。

注意:默认在每个用户的工作目录之下,可以使用cd~指令切换到用户的工作目录,然后使用ls -al查看隐藏文件,如果没有.vimrc文件,需要自己进行创建。 在/etc/下面有默认的.vimrc文件,配置之后所有用户有效,但是不建议对该文件进行配置,应该在用户各自的目录下的文件中进行配置,配置之后,vim中的样式是互不相干的,root配置之后也不影响其它用户。

打开.vimrc文件,写入下列两行代码,保存之后,我们与上述vim原本编辑器进行对比:

set nu
set cursorline

我们发现,相较于之前,显示了行号,并且可以更清楚的看见所在行。 还有其它的指令,大家可以在网上自行搜索下载。

vimforcpp 

为了省事,大家可以运行下述指令,可以是vim变成类似vs2019的集成开发环境,原文地址如下:

Gitee 搜索 - Gitee.com

最终根据最后提示的指令完成安装,或者重启xshell即可完成安装。 

以上便是vim编辑器的所有内容,本期内容到此结束^_^

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

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

相关文章

亚马逊云科技 re:Invent 2023 产品体验:亚马逊云科技产品应用实践 王炸产品 Amazon Q,你的 AI 助手

意料之中 2023年9月25日,亚马逊宣布与 Anthropic 正式展开战略合作,结合双方在更安全的生成式 AI 领域的先进技术和专业知识,加速 Anthropic 未来基础模型的开发,并将其广泛提供给亚马逊云科技的客户使用。 亚马逊云科技开发者社…

工业信息采集平台的五大核心优势

关键字:工业信息采集平台,蓝鹏数据采集系统,蓝鹏测控系统, 生产管控系统, 生产数据处理平台,MES系统数据采集, 蓝鹏数据采集平台通过实现和构成其他工业数据信息平台的一级设备进行通讯,从而完成平台之间的无缝对接。这里我们采用的最多的方式是和PLC进行…

vue3 vue-cropper实现图片裁剪+上传功能(组件封装使用)

效果(CV即用) 1.安装引入vue-cropper(官网)官网地址 npm install vue-croppernextimport vue-cropper/dist/index.cssimport { VueCropper } from "vue-cropper";2. 全局引入 import VueCropper from vue-cropper; i…

链接世界与中国时尚文化,积萨伯爵国际时尚品牌在中国大放异彩

时尚的历史是一部文化发展的历史。从中国古代到现代西方,每个时代的时尚都有其独特的文化背景和历史意义。自丝绸之路开启了古代中国与罗马帝国之间的贸易,时尚的不断创新和变革,是文化变迁和时代精神的反映。时尚的变化,也引领着…

关于Axios发送Get请求无法添加Content-Type

在拦截器中尝试给headers添加Content-Type: request.interceptors.request.use(config > {if (!config.headers[Content-Type]) {config.headers[Content-Type] application/json;}return config;},error > {return Promise.reject(error)} )如果是GET请求&…

nuc980开发板使用Agile Modbus软件包-基于 rs485 通讯

一、nuc980开发板电路 打开 nuc980-eth2p 开发板原理图,如下: 将JP1跳线帽连接到rs485。使用rs485转usb连接到电脑即可。 除了收发引脚,多了一个控制引脚。 linux内核使能串口4 二、Agile Modbus软件包 1、软件包的获取 下载网址 选择…

SQLite 安装与使用

SQLite 安装与使用 文章目录 SQLite 安装与使用1.什么是 SQLite?2.为什么要用 SQLite?3 安装3.1 在 Windows 上安装 SQLite3.2 安装路径3.3 接下来需要配置环境变量3.4 配置完变量测试成功3.5 创建数据库成功3.6 图形化界面操作3.7 数据表的增删改查新增…

代码随想录算法训练营Day10 | 239.滑动窗口的最大值、347.前K个高频元素

LeetCode 239 滑动窗口的最大值 本题思路: 采用单调队列来完成,单调队列就是队列里的元素顺序,是单调递减/递增的情况。 那么我们应该如何维护这个单调队列呢,此处既然是最大值,那么采用的是单调递减的队列。让队列的出口处是当前…

基于JSP+Servlet+Mysql的宠物管理系统(简单增删改查)

基于JSPServletMysql的宠物管理系统_简单增删改查 一、系统介绍二、功能展示1.主页2.增加3.修改4.查询5.删除 四、其它1.其他系统实现五.获取源码 一、系统介绍 项目名称:基于JSPServletMysql的宠物管理系统(简单增删改查) 项目架构:B/S架构 开发语言…

链表的详细介绍

目录 链表的简单定义: 链表的分类 单项带头非循环 单向不带头循环链表 实现单向非循环无头链表 定义链表: 实现链表方法 打印链表 头插法: 尾插法: 指定插入: 通过对应值删除节点: 删除所有对应…

业财一体化是什么意思?有哪些好用的业财一体化软件?

你所在的企业是否为这些问题所困扰? 数据割裂:系统之间的数据不互通,财务数据与业务数据分离,数据统计口径不一致,缺乏关联性,管理统筹难度大。数据滞后:企业管理层获取数据信息的时效性低&…

绝缘电阻测试仪档位的选择技巧有哪些?这么一看就明白了!

电子绝缘电阻测试仪是电力检测领域的一款重要设备,他对于那些电力检测人员来说,是工作的设备之一,虽然它的使用频率相对较高,但是在使用绝缘电阻测试仪时,该如何选择合适的档位是一个关键问题。下面我们就来说说电子绝…

中国社科大与新加坡新跃社科联合培养博士—金融学和经济学差别

经济学和金融学是两个紧密联系的学科,但两者在研究问题上的侧重点有所不同。我在通过中国社科大与新加坡新跃社科联合培养博士项目课堂上,彻底分清了金融学和经济学差别。 经济学通常被归为社会科学,主要着眼于研究宏观上的生产、消费、以及…

谷歌大裁员,3 万员工面临被 AI 取代;网易、暴雪疑似「复合」!丨 RTE 开发者日报 Vol.113

开发者朋友们大家好: 这里是**「RTE 开发者日报」**,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」 、「有态度的 观点 」、「有意思的 数据 」、「…

Redis缓存穿透、缓存击穿、缓存雪崩介绍

一、Redis的缓存穿透 1.什么是缓存穿透? 缓存穿透是指:客户端请求的数据在缓存中和数据库中都不存在,这时缓存就永远不会生效,这些请求都打到数据库从而导致数据库压力过大。 2.出现缓存穿透的解决方案,以下是常用的两…

从AMI镜像恢复AWS Amazon Linux 2实例碰到的VNC服务以及Chrome浏览器无法启动的问题

文章目录 小结问题及解决VNC服务无法启动Chrome浏览器无法启动 参考 小结 将Amazon Linux 2保存为AMI (Amazon Machine Images)后,恢复成EC2 Instance (实例)后,VNC服务以及Chrome浏览器无法启动,进行了解决。 问题及解决 如果要将一个EC2…

Redis分布式缓存之主从哨兵分片集群

Redis主从 数据同步原理 Redis哨兵 Redis分片集群 集群伸缩:在集群中插入或删除某个节点 集群故障转移

HubSpot到底好不好用?

HubSpot被认为是一款强大的综合营销平台,然而,其是否适合你的业务取决于多种因素。以下是一些关于HubSpot的优点和考虑因素: HubSpot的优点: 一体化平台: HubSpot集成了营销、销售和服务功能,使得企业可以…

excel统计分析——CVM正态性检验

参考资料:统计推断——正态性检验(图形方法、偏度和峰度、统计(拟合优度)检验)_sm.distributions.ecdf-CSDN博客 29_张达成_从经验过程出发建立 Cramer-von Mises 统计量的性质 - 豆丁网 https://cran.r-project.org…