[Linux打怪升级之路]-vim编辑器(看就能马上操作噢)

news2025/1/11 7:10:21

前言

作者小蜗牛向前冲

名言我可以接受失败,但我不能接受放弃

  如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。

目录

一、vim的基本概念

 二、vim常用的三种模式

1、命令模式

2、插入模式 

3 、底行模式

三、vim的配置


 本期博客学习内容:vim的基本概念,vIm的三种基本模式,vim是如何进行配置的。

一、vim的基本概念

vim简单点来是就是linux下的一个功能强大点的编辑器,就好比window下的记事本,但他的功能可比记事本强大多了,至于为什么强大大家用了就知道了。

下面我们来看一下百度下vim的概念:

 在这篇博客中,我主要为大家讲怎么在vim下配合gcc编写代码,其实对于vim来说,他的模式是有需多种模式,但在下面的介绍中,我将为大家介绍最常用的三种模式。下面先学习如何打开vIm,其实非常简单,只要输入一行命令就可以。

 二、vim常用的三种模式

虽然vim有许多种模式,但是我们为了能够快速上手配合gcc进行代码的编写,先学习命令模式(command mode)、插 入模式(Insert mode)和底行模式(last line mode)。下面重点学习这些模式下的功能。当我们第一次进入vim编辑器时是默认进入命令模式,下面可以按不同指令进行模式的切换如下图:

这里要注意:不可以从插入模式直接转换位底行模式,也就是说必须回到命令模式,才能完成对其他模式的切换。

1、命令模式

在命令模式下,我们能通过键盘上的快捷进行对,控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

这里主要为大家介绍快捷建的功能,至于要更好的掌握还自己多多练习。

光标定位:

  • shift + 4 = $                  光标移动到这一行的最右边
  • shift + 6 =  ^                 光标移动到这一行的最左边
  • shift +  g = G                光标移动到最底部
  • n + shift +  g = G          光标跳转到指定行,n代表行号
  • gg                                 光标移动到最顶部
  • w                                   光标按照单词后移动
  • b                                   光标按照单词前移动

 光标移动:

  • h:光标向左移动一个单位
  • j: 光标向下移动一个单位
  • k:光标向上移动一个单位
  • l: 光标向右移动一个单位

文本复制相关:

 定位的对象是光标所在行:

  • yy:复制(nyy:支持多行复制)
  • p:粘贴(np)
  • dd:删除光标所在行(ndd)
  • ndd + d: 剪切操作

 文本编辑:

  • shift + ~ :                文本大小写切换
  • shift + r = R:              批量化替换
  • r:                               替换光标所在字符(nr)
  • x和X(shift + x):       行内删除
  • u:                               撤销操作
  • ctrl + r:                     取消u操作

2、插入模式 

对于这个模式,我们可以理解为就是用来编辑文件,因为在其他模式下是不能对编辑器输入信息的,也就是要编写代码只能在这个模式下进行,下面在这个模式下编写我们的第一个代码:

命令选择: 

  •  按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
  • 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
  • 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

3 、底行模式

底行模式主要是进行在编辑器进行命令操作,也就是说我们能在linux的进行的命令,大部分都是可以执行的,这里将不过多说,当我们要退出编辑器,我们就要在这里输入指令,确定是否要保持文件中的内容:

  •   在末行模式下,键入:wq 保存并退出编辑,就算没有修改也会写入,并修改文件时间属性
  •     在末行模式下,键入:q! 强制退出编辑,但并不保存当前修改
  •     在末行模式下,键入:x! 保存并退出编辑,仅当文件有修改时会保存,并修改文件时间属性

三、vim的配置

当我们第一次使用vim时,vim的编译器会显的非常原始,比如没有行号,代码不会自动对齐,代码不会有亮色提示等。

这里我们要注意vim的配置具有专一性,如果我们在root账号下进行配置了,他是不会在其他账号下能够经行使用的,只能在这个账号下重新配置使用。

首先我们要建立一个.vimrc的文件,然后打开他,在里面直接输入我们要功能就可以了(通过代码实现,自己可以上网去查),这个方法非常简单,但是非常消耗时间那么我为大家找到了一个已经配置好的文件大家直接复制这给命令就可以下载配置了。

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

下面我们可以打开我们配置好的.cimrc看一下:

 这里大概有4百多行,大家如果想为vim配置其他功能,直接在这里配置就好了。

我相信如果大家用的不是root账号,在进行一些需要root权限的命令,我们只能用sudo进行提权。

 当我们这里进行提权了发现是不被允许,说pjb这给账号没有在sudoers file这个文件中。

那么我们只要在sudoers file文件中的某个区域进行添加就好了(这里需要登入root账号进行操作)。

//输入该命令在文件添加进信任的用户名
vim /etc/sudoers

 然后我们在vim的底行模式下,按wq就可保存并退出了。

这时我们在切换回自己的用户,进行sudo就可以了。

 这里可以看到普通用户也就可以用sudo进行提权操作了。

 

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

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

相关文章

语音合成 GAN Vocoders 总览

Loss 函数简称与全称的对应关系 Short NameFull Nameadvadversial lossFMFeature MatchingMSDMulti-Scale Discriminatormr-STFTMulti-resolution STFT lossfmr-STFTfull band Multi-resolution STFT losssmr-STFTsub band Multi-resolution STFT lossMelMel-Spectrogram Loss…

Mybatis----多表查询

目录 返回类型 resultType resultMap 1、字段映射 2、多表查询 动态SQL if标签 where标签 set标签 choose(when,otherwise) 语句 trim标签 for-each标签 SQL片段 返回类型 resultType Mybatis在查询时,一定要指定返回类型;而其他操作&#xff0…

BH1750 传感器实战教学 —— 硬件设计篇

前言 前面刚写了一篇 《BH1750 光照传感器文档详解 及 驱动设计》,今天来写一篇简单的传感器实战教学。 文章如下:BH1750 光照传感器文档详解 及 驱动设计 那有些朋友就疑惑了,在上一篇文章其实我们基本都测试成功了,驱动也写了…

现代操作系统原理与实现

突然更新,为了水一个1024徽章拿随书笔记来发发(嘿嘿 原文链接:https://github.com/yanyanran/YBlog/blob/main/%E7%8E%B0%E4%BB%A3%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E7%8E%B0.md 一、操作系统结构…

【网络安全篇】JavaSript基础内容大全

🏆今日学习目标: 🍀学习JavaSript基础 ✅创作者:贤鱼 ⏰预计时间:30分钟 🎉个人主页:贤鱼的个人主页 🔥专栏系列:网络安全 JavaSript基础大全🍀java和JavaSri…

[C]带你了解C语言是如何操作文件的

文章目录一、认识文件1.1 为什么要使用文件1.2 什么是文件1.3 文件名1.4 文件指针1.5 文件的打开和关闭二、文件的顺序读写2.1 fgetc和fputc2.2 fgets和fputs2.3 fscanf和fprintf2.4 fread和fwrite2.5 对比一组函数三、文件的随机读写3.1 fseek3.2 ftell3.3 rewind四、文本文件…

高云FPGA系列教程(5):ARM点灯工程设计

文章目录[toc]1. ARM核定制2. ARM核程序设计3. ARM程序烧写4. 工程下载本文是高云FPGA系列教程的第5篇文章。 前面几篇笔记都是介绍的高云GW1NSR-4C FPGA部分的使用,本篇文章介绍片上ARM Cortex-M3硬核处理器的使用,演示如何定制一颗ARM处理器硬件&#…

大数据电信客服-数据采集/消费(二)

目录 一、数据采集/消费(存储) 二、数据采集 三、数据消费 四、编写代码 在project-ct.pom 在ct.consume下 在ct.consumer.bean 在ct.consumer.dao 在ct-consumer的resources 在ct-common.pom 在ct.common.api 在ct.common.bean 在ct.common.constant 在ct-common的…

LQ0123 小朋友崇拜圈【DFS】

题目来源:蓝桥杯2018初赛 C C组G题 题目描述 班里N个小朋友,每个人都有自己最崇拜的一个小朋友(也可以是自己)。 在一个游戏中,需要小朋友坐一个圈, 每个小朋友都有自己最崇拜的小朋友在他的右手边。 求满…

vue06安装vue-cli+使用vue-cli搭建项目+什么是*.vue文件+开发示例+必问面试知识点

目录 1. vue-cli安装 1.1 安装前提 1.2 什么是vue-cli 1.3 安装vue-cli 2. 使用vue-cli构建项目 2.1 使用脚手架创建项目骨架 2.2 到新建项目目录,安装需要的模块 2.3 如何修改端口号 2.4 添加element-ui模块 2.5 package.json详解 3. install命令中的-g…

腾讯云~ zookeeper集群安装、配置、验证

文章目录一、 预备工作1. 下载2. 解压3. 创建目录4. myid 文件5. 验证6. 效果图二、配置管理2.1. zoo1.cfg2.2. zoo2.cfg2.3. zoo3.cfg2.4. 防火墙2.5. 启动zk2.6. 运行状态一、 预备工作 1. 下载 cd /app wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.12/…

GitLab API 的使用教程

1 简介 GitLab 作为一个开源、强大的分布式版本控制系统,已经成为互联网公司、软件开发公司的主流版本管理工具。使用过 GitLab 的都知道,想要提交一段代码,可以通过 git push 提交到远程仓库,也可以直接在 GitLab 平台上修改提交…

基于华为云IOT平台实现多节点温度采集(STM32+NBIOT)

一、前言 当前的场景是,在高速公路上部署温度采集设备,在高速路地表安装温度检测传感器,检测当前路段的路面实际温度。一段高速路上有多个地点需要采集温度数据。 采集温度数据需要上传到云平台进行数据存储,并且通过可视化界面展…

七万字整理SpringCloud + CloudAlibaba知识点总结笔记

各位小伙伴们大家好,欢迎来到这个小扎扎的spring cloud专栏,在这个系列专栏中我对B站尚硅谷阳哥的spring cloud教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ SpringCloud Clou…

Linux文件系统inode的作用

目录 前言 简介 inode与block 1、查看文件的inode信息 2、查看分区中的inode节点数 前言 前面学习了磁盘管理中的磁盘分区,以及逻辑卷,交换分区的创建,这篇文章将介绍一下我们在分区以及格式化时候用到的ext4文件系统,本盘文…

【云原生之Docker实战】使用Docker部署ShowDoc文档工具

【云原生之Docker实战】使用Docker部署ShowDoc文档工具一、ShowDoc介绍1.ShowDoc简介2.ShowDoc功能二、检查docker版本三、检查docker状态四、下载ShowDoc镜像五、创建ShowDoc容器1.创建数据目录2目录授权3.运行ShowDoc容器4.查看ShowDoc容器状态5.查看容器运行日志六、ShowDoc…

【精通Java篇 | IO流】详讲字节流与常用方法

个人名片: 🐼作者简介:一名大二在校生,喜欢编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:hmmwx53 🕊️系列专栏:&#x1f5bc…

Java流式编程stream

文章目录一、简介二、创建Stream三、常用操作四、其他操作一、简介 流式 API 从 Java8 开始引入,支持链式书写。 流只能消费一次,不能被两次消费(两次最终操作) 流在管道中流通,在节点被处理。 流【无存储】&#x…

vim如何进行批量化注释及取消,也在1024表明自己算十分之一的程序员

前言 👻作者:龟龟不断向前 👻简介:宁愿做一只不停跑的慢乌龟,也不想当一只三分钟热度的兔子。 👻专栏:C初阶知识点 👻工具分享: 刷题: 牛客网 leetcode笔记软…

人家网站都免费了,你还用Python去爬?

文章目录⛳️ 实战场景⛳️ 实战编码⛳️ 实战场景 这次实战的目标是一个叫做猫肯的字体站点,该站点所有的字体都是免费可商用的,所以为什么还要去下载呢? 答案是练手,借免费站点学习爬虫,🌋 目标站点地址…