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

作者前言

🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂
​🎂 作者介绍: 🎂🎂
🎂 🎉🎉🎉🎉🎉🎉🎉 🎂
🎂作者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.zipunzip  -f  vimrc.zip  -d  ~/

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

sudo命令的解决

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

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

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

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

相关文章

【MySQL】内置函数 -- 详解

一、日期函数 日期:年月日时间:时分秒 1、获得年月日 2、获得时分秒 3、获得时间戳 4、在日期的基础上加日期 5、在日期的基础上减去时间 6、计算两个日期之间相差多少天 7、获得当前时间 ⚪练习 (1)记录生日 (2&…

视频监控简史

安防系统中,视频监控始终是重头戏,是安防系统的核心。 目录 一、起步 二、模拟时代 三、数字时代 四、嵌入式存储 五、视频编码器 六、全数字化监控

Flask入门一(介绍、Flask安装、Flask运行方式及使用、虚拟环境、调试模式、配置文件、路由系统)

文章目录 一、Flask介绍二、Flask创建和运行1.安装2.快速使用3.Flask小知识4.flask的运行方式 三、Werkzeug介绍四、Jinja2介绍五、Click CLI 介绍六、Flask安装介绍watchdog使用python--dotenv使用(操作环境变量) 七、虚拟环境介绍Mac/linux创建虚拟环境…

家政按摩上门服务小程序搭建

家政按摩上门服务小程序支持技师入驻申请,用户可以通过在线下单预约家政服务,并根据距离、价格、销量好评度等条件进行筛选和选择。用户可以选择技师进行预约,并填写自己的服务地点和时间,享受上门服务。同时,技师也可…

【MySQL】_自连接与子查询、

目录 1. 自连接 2. 子查询(嵌套查询) 2.1 子查询分类 2.2 单行子查询示例1:查询不想毕业同学的同班同学 2.3 多行子查询示例2:查询语文或英语课程的信息成绩 3. 合并查询 3.1 示例1:查询id3或者名字为英文的课程…

数据分析-Pandas数据探查初步柱状图

数据分析-Pandas数据探查初步柱状图 数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律? 数据表&am…

在Arcgis中删除过滤Openstreetmap道路属性表中指定highway类型道路

一、导出道路类型并分析 1. 导出道路类型 选中highway属性列,选择汇总→确定 2. 分析 用Excel打开输出表,包含的道路类型如下 0.空值’’ 车辆可行驶道路(和bfmap的并集) 空值(无定义道路) 二、…

Docker - compose常用命令(常规操作顺序)

----------------------------------------------------------【Docker】-------------------------------------------------------------------- 【本地部署】 构建Docker镜像 docker build -t your-image-name .运行容器 docker run -p 8080:8700 your-image-name , 本地验…

基于Vue(提供Vue2/Vue3版本)和.Net Core前后端分离、强大、跨平台的快速开发框架

前言 今天大姚给大家推荐一款基于Vue(提供Vue2/Vue3版本)和.Net Core前后端分离、开源免费(MIT License)、强大、跨平台的快速开发框架,并且框架内置代码生成器(解决重复性工作,提高开发效率&a…

element el-table表格内容宽度自适应,不换行,不隐藏

2024.2.27今天我学习了如何用el-table实现表格宽度的自适应,当我们动态渲染表格数据的时候,有时候因为内容太多会出现挤压换行的效果: 我们需要根据内容的最大长度设置动态的宽度,这边我在utils里面封装了一个js: //…

求两个向量之间的夹角

求两个向量之间的夹角 介绍Unity的API求向量夹角Vector3.AngleVector3.SignedAngle 自定义获取方法0-360度的夹角 总结 介绍 求两个向量之间的夹角方法有很多,比如说Unity中的Vector3.Angle,Vector3.SignedAngle等方法,具体在什么情况下使用…

高性能Server的基石:reactor反应堆模式

业务开发同学只关心业务处理流程。但是我们开发的程序都是运行服务端server上,服务端server接收到IO请求后,是如何处理请求并最终进入业务流程的呢?这里不得不提到reactor反应堆模型。reactor反应堆模型来源于大师Doug Lea在 《Sacalable io …

Unity中URP下实现水体(水面反射)

文章目录 前言一、原理1、法一:使用立方体纹理 CubeMap,作为反射纹理使用2、法二:使用反射探针生成环境反射图,所谓反射的采样纹理 二、实现水面反射1、定义和申明CubeMap2、反射向量需要什么3、计算 N ⃗ \vec{N} N 4、计算 V ⃗…

Mybatis | Mybatis的“入门程序“

Mybatis的入门程序 目录: Mybatis的入门程序一、查询数据根据表 “主键id” 查询数据模糊查询 二、添加数据三、更新数据四、删除数据 作者简介 :一只大皮卡丘,计算机专业学生,正在努力学习、努力敲代码中! 让我们一起继续努力学习&#xff0…

Freesia项目介绍

项目介绍 这是一个Spring Boot Vue的前后端分离项目,实现的是一个通用的后台管理系统。 框架使用 前端使用了layui-vue和layui-vue-admin,分别提供了组件和前端整体架构的支持。 后端使用Spring Boot框架管理 项目技术使用 前端 Layui-vue、Layui…

Android 接入指纹识别

接入指纹框架:https://github.com/Tencent/soter implementation com.github.Tencent.soter:soter-wrapper:2.0.91.Application中初始化 class IApplication : Application() {override fun onCreate() {super.onCreate()instance thisinitSort()}private fun in…

Java8 Stream操作流10条常用方法

1.基础数据 Data AllArgsConstructor NoArgsConstructor public class User {private String name;private Integer age;private String sex;private String city; //城市private Integer money; //业绩金额 } //准备数据List<User> users new ArrayList<>();use…

UnityWebGL UGUI中文不显示问题

这是Unity编辑中效果 打包成webgl后的效果&#xff08;中文没有显示出来&#xff09; 解决方法 将Unity默认使用的Arial替换成中文字体。 1.找到电脑字体库&#xff08;win电脑字体库路径&#xff1a;C:\Windows\Fonts &#xff1b;Mac电脑搜索“字体册”&#xff09;。 2.将…

P1015 [NOIP1999 普及组] 回文数

难度&#xff1a;普及- 题目描述 若一个数&#xff08;首位不为零&#xff09;从左向右读与从右向左读都一样&#xff0c;我们就将其称之为回文数。 例如&#xff1a;给定一个十进制数 56&#xff0c;将 56 加 65&#xff08;即把 56 从右向左读&#xff09;&#xff0c;得到…

java008 - Java方法

1、方法概述 1.1 概念 将独立功能的代码块组织成为一个整体&#xff0c;使其具有特殊功能的代码集。 1.2 注意事项 方法必须先创建才能使用&#xff0c;该过程称为方法的定义方法创建好不能直接运行&#xff0c;需要手动使用才执行&#xff0c;该过程称为方法的调用 2、方…