Linux课程四课---Linux开发环境的使用(vim编辑器的相关)

news2024/11/18 20:01:23

作者前言

🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂
​🎂 作者介绍: 🎂🎂
🎂 🎉🎉🎉🎉🎉🎉🎉 🎂
🎂作者id:老秦包你会, 🎂
简单介绍:🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂
喜欢学习C语言、C++和python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨 🎂🎂🎂🎂🎂🎂🎂🎂
🎂个人主页::小小页面🎂
🎂gitee页面:秦大大🎂
🎂🎂🎂🎂🎂🎂🎂🎂
🎂 一个爱分享的小博主 欢迎小可爱们前来借鉴🎂


工具的使用

  • **作者前言**
  • vim
    • vim的简单介绍
    • vim的模式
    • vim编辑器的相关命令
    • 替换模式
    • 批量注释
    • 底行模式
    • vim的配置
      • 进行vim文件的配置
  • sudo命令的解决

vim

vim的简单介绍

vim是一款多模式的编辑器, 其中vim里面有很大子命令,让我们进行编写操作

vim的模式

在这里插入图片描述
需要注意的是我们要切换成底层模式,有三种模式 q(退出)、q!(强制退出), w(保存), wq(保存并退出)
使用这个模式可能会出现的案例:
在这里插入图片描述
出现这个案例的原因就是,由于我们因为某些原因然后没来得及保存文件,vim编辑器就会默认生成一个文件
在这里插入图片描述
这个文件的后缀就是.swp文件,也就是上次我们操作的没来得及保存的内容,
下面几种选项
在这里插入图片描述
【O】:只读
【E】:编辑
【R】:覆盖
【D】:删除(也就是删除.swp文件)
【Q】:退出

vim编辑器的相关命令

命令模式
shift + $:光标定位到当前行的最后结尾处
shift + ^:光标定位在当前的 最左侧开头处
shift + g:定位到最后面
gg : 定位到文本的开头
数字+ shift + g: 定位到第几行
h:左
j:下
k:上
l:右
yy:复制当前行
数字+yy:复制多少行(当前行为开始的第一行)
p:粘贴
数字+p:粘贴多行
u:撤销
Ctrl + r: 对错误的撤销进行撤销
dd:剪切
shift + ~:小写转大写或者大写转小写
p + 要替换的字符: 替换当前光标所在的字符
数字 + x : 删除往后几个字符
数字+ shift + x:往前删除几个字符
w:按照一个单词为单位的往移动光标
b:按照一个单词为单位往移动光标
shift + #: 标明出我们要查找的函数
shift + zz:保存并退出vim

替换模式

还可以进入一个新模式
shift + r 或者R
在这里插入图片描述
ESC退回到命令模式

批量注释

第一步先把光标移到要注释的内容上,然后ctrl + v
第二步,移动光标选中要注释的内容
第三步 shift + i
第四步 //
第五步就是ESC

如果是把注释去掉
第一步: ctrl +v
第二步选择要去除的注释内容
第三步 d

底行模式

q: 退出
q!:强制退出
w:保存
wq:保存退出
wq!:强制保存退出
!+ Linux指令:
如果我们想要不退出vim但是又想进行Linux的一些操作比如ls 、gcc等操作我们可以这样
在这里插入图片描述
底行模式下我们可以先写!+ Linux指令
如: !+ls 、!+ cat test,txt…等一系列的写法
不使用!
如果是使用vs +文件名 :就是创建 文件
vs code.c

在这里插入图片描述
如图:如果我们退出,退出的是拥有光标的文件,如果要把光标移动到其他文件里面去,就要
ctrl + ww :移动光标

行号: set nu
取消行号 : set nonu

vim的配置

如果我们在Linux要有自己的家目录,这样进行vim配置就会很方便,在正常的用户中,vim是配置不完全的,需要我们自己去完善,我们就需要创建一个文件,这个文件就是 .vimrc,当我们配置好后,每次使用vim就会在家目录自动调用这个文件,这个文件就是vim的配置文件
而root也有自己的vim配置文件,这个文件在/etc/vimrc

在这里插入图片描述
在家目录在进行创建vim配置文件
在这里插入图片描述

root的配置文件(对所有用户生效)
在这里插入图片描述

进行vim文件的配置

这里我建议下载网上的vim配置文件,本人就是直接下载这个

wget  https://files.cnblogs.com/ma6174/vimrc.zip

unzip  -f  vimrc.zip  -d  ~/

或者我们可以在gitee上搜索vimforcpp也可以找到vim配置文件

sudo命令的解决

我们在一些新用户的时候无法使用sudozheg 指令是因为我们没有进行配置
首先我们要先切换到root用户中,找到 /etx/sudoers文件,然后更改一下配置

在这里插入图片描述
然后我们切换到普通用户进行使用sudo命令,看看是否成功

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

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

相关文章

【Linux】协程简介

【Linux】协程简介 一、什么是协程?简介优点 二、为什么使用协程?三、协程的种类1、对称协程2、非对称协程 四、协程栈1、静态栈2、分段栈3、共享栈4、虚拟内存栈 五、协程调度1、栈式调度2、星切调度3、环切调度 六、常见协程库参考文献 一、什么是协程…

Spring Task的应用

介绍 Spring Task是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。 定位: 定时任务框架 作用: 定时自动执行某段Java代码 应用场景: 引用卡每月还款提醒、银行贷款每月还款提醒、火车票售票系统处理未支…

SpringCloud(17)之SpringCloud Stream

一、Spring Cloud Stream介绍 Spring Cloud Stream是一个框架,用于构建与共享消息系统连接的高度可扩展的事件驱动微服务。该框架提供了一个灵活的编程模型,该模型建立在已经建立和熟悉的Spring习惯用法和最佳实践之上,包括对持久发布/子语义…

软件性能测试工具RunnerGo安装步骤

现在安装RunnerGo仅需要一条命令!目前支持系统:Centos、Debian、Ubuntu三种。下面给大家介绍一下RunnerGo安装使用流程: Step1:复制以下命令 wget https://img.cdn.apipost.cn/running_go/img/wiki/runnergo.tar && ta…

探索 SPA 与 MPA:前端架构的选择与权衡

查看本专栏目录 关于作者 还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas&#x…

论文阅读-CheckFreq:频繁、精细的DNN检查点操作。

论文名称:CheckFreq: Frequent, Fine-Grained DNN Checkpointing. 摘要 训练深度神经网络(DNNs)是一项资源密集且耗时的任务。在训练过程中,模型在GPU上进行计算,重复地学习权重,持续多个epoch。学习到的权重存在GPU内存中&…

机器遗忘同等重要,AI如何忘记不良数据,保护用户隐私?

引言:大语言模型中的机器遗忘问题 在人工智能领域,大语言模型(LLMs)因其在文本生成、摘要、问答等任务中展现出的卓越能力而备受关注。然而,这些模型在训练过程中可能会记住大量数据,包括敏感或不当的信息…

【MySQL】学习和总结标量子查询

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-kLo6jykc7AcEVEQk {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

消息中间件之RocketMQ源码分析(二十二)

Broker主从同步流程 配置数据同步流程 配置数据包含4种类型:Topic配置、消费者位点、延迟位点、订阅关系配置。每种配置数据由一个继承自ConfigManager的类来管理,继承关系如图。Slave如何从Master同步这些配置呢?我们先来看一下初始化服务的步骤 第一步:Maste…

【JavaEE进阶】图书管理系统开发日记——捌

文章目录 🍃前言🎍统一数据返回格式🚩快速入门🚩存在问题🎈问题原因🎈代码修改 🚩统一格式返回的优点 🍀统一异常处理🌲前端代码的修改🚩登录页面&#x1f6a…

openai.CLIP多模态模型简介

介绍 OpenAI CLIP(Contrastive Language–Image Pretraining)是一种由OpenAI开发的多模态学习模型。它能够同时理解图像和文本,并在两者之间建立联系,实现了图像和文本之间的跨模态理解。 如何工作 CLIP模型的工作原理是将来自…

三、软考-系统架构设计师笔记-计算机系统基础知识

计算机系统概述 计算机系统是指用于数据管理的计算机硬件、软件及网络组成的系统。 它是按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。 冯诺依曼体系计算机结构: 1、计算机硬件组成 冯诺依曼计算机结构将…

C#理论 —— WPF 应用程序Console 控制台应用

文章目录 1. WPF 应用程序1.1 工程创建1.2 控件1.2.1 控件的公共属性1.2.1 TextBox 文本框1.2.1 Button 按钮 *. Console 控制台应用1.1 工程创建 1. WPF 应用程序 1.1 工程创建 Visual Studio 中新建项目 - 选择WPF 应用程序; 1.2 控件 1.2.1 控件的公共属性 …

2024常用的 Python 自动化测试框架有哪些?

Unittest是Python中最常用的测试框架之一,它提供了丰富和强大的测试工具和方法,可以帮助开发者更好地保证代码质量和稳定性,本文就来介绍下Unittest单元测试框架。 1. 介绍 unittest是Python的单元测试框架,它提供了一套丰富的测…

【MySQL】基本查询(表的增删改查)-- 详解

CRUD:Create(创建),Retrieve(读取),Update(更新),Delete(删除)。 一、Create insert [into] table_name [(column [, column] ...)] v…

硬件工程师入门基础知识(三)钽电容应用(二)

钽电容应用(二) 1.钽电容使用容量选择2.非固体电解质钽电容器使用时应注意的问题2.1 容量和损耗2.2 直流漏电流2.3 使用电压2.4 反向电压2.5 纹波电流2.6 失效率的影响因素2.7 补充说明: 1.钽电容使用容量选择 许多情况下,高能混…

自定义Chrome的浏览器开发者工具DevTools界面的字体和样式

Chrome浏览器开发者工具默认的字体太小,想要修改但没有相关设置。 外观——字体可以自定义字体,但大小不可以调整。 github上有人给出了方法 整理为中文教程: 1.打开浏览器开发者工具,点开设置——实验,勾上红框设…

实现unity场景切换

本文实现两个按键实现场景1和场景2之间的切换 ①首先在unity 3D中创建两个场景,分别为Scene1和Scene2 ②在Scene1中创建一个Button,修改txt内容为“To Scene2”,并在Buttons下创建一个空物体,用于挂载脚本。 脚本Trans Scene.…

自然语言:信息抽取技术在CRM系统中的应用与成效

一、引言 在当今快速变化的商业环境中,客户关系管理(CRM)已成为企业成功的关键因素。CRM系统的核心在于有效地管理客户信息,跟踪与客户的每一次互动,以及深入分析这些数据以提升客户满意度和忠诚度。在我最近参与的一个…

综合实战(volume and Compose)

"让我,重获新生~" MySQL 灾难恢复 熟练掌握挂载卷的使用,将Mysql的业务数据存储在 外部。 实战思想: 使用 MySQL 5.7 的镜像创建容器并创建一个普通数据卷 "mysql-data"用来保存容器中产生的数据。我们需要容器连接到Mysql服务&a…