linux中的开发工具

在刚开始使用linux的时候,我们需要在系统上写一些简单的代码,来熟悉环境以及各种指令
并且熟悉属于linux的一套开发的环境,而这对于c++来说需要三个软件就可以进行简单的编码
和使用,让我们来认识一下下列工具,以及工具的使用。

我所使用的系统是centos 7

文章目录

  • 1.yum
  • 2.vim
    • 1). vim的模式
      • a. 命令模式
        • 命令模式的各种操作
      • b. 底行模式
      • c. 视图模式
      • d. vim开发环境的配置
  • 3.gdb

1.yum

yum是centos中的下载软件的一个软件,它相当于我们手机中的应用商店,当我们需要下载一个需要的工具时,我们只需要输入"yum install 软件名"即可他就会帮我们从对应操作系统版本提供的服务器上,下载到我们的系统中。需要在root账户中下载,或者使用sudo提高账号权限

yum install 软件名(命令也可以比如tree)-y选项,下载过程中默认一路yes
yum remove 软件名
yum update  更新软件
yum update 更新特定的软件
yum list 软件名    展示出目标软件的版本

2.vim

vim是一款是十分强大的文本编辑器,我们编代码的环境就是使用它。

1). vim的模式

vim有着许多的模式,但是我们只需要学会其中的几种就可以很熟练的编写代码。

a. 命令模式

当我们输入"vim 文件名"时我们就会使用vim打开这个文件,进入我们不按任何键的状态下,我们所处于的就是命令模式。
我现在这里面输入一个简单的程序
在这里插入图片描述

命令模式的各种操作

命令模式中大多数操作都跟我们的光标位置有关。

	gg:光标快速定位到最开始n + shift + g:光标快速定位到n行,不输入n时,默认定位到最后一行hjkl:这四个键控制光标的移动,h向左移,j向下移,k向上移,l向右移下列缩进过的都可以在输入命令前输入数字,以表示操作的行数,以光标当前行开始。dd:剪切当前行yy:复制当前行p:粘贴剪贴板内的内容行内的操作:shift + '`'(也就是波浪号):将光标所在处的字母大小写替换r:替换光标更所在位置字符,前面也可以加数字,往后替换x:删除字符shift + x: 往前删除#:查找同名单词(跳到第一个),n向下翻高亮同名单词u:撤销ctrl + r:撤销对撤销的撤销,也就是对u的行为进行撤销

处于底下所有模式都可以按下返回键esc回到命令模式

b. 底行模式

底行模式是为了让我们实现对文件外部的操作,在命令模式下输入分号’:'进入底行模式。

w:保存,w!:强制写入
q:退出,wq:保存并退出,q!:强制退出
set nu:调出行号,set nonu:去掉行号
可以运行命令:! + 命令,在不退出vim的情况下查看编译、运行等工作。
/:搜索关键字,n表示下一个

调出行号
在这里插入图片描述
多文件操作(依旧底行模式):
vs:分屏打开其他文件
ctrl + ww可以将光标在文件之间切换

在这里插入图片描述

c. 视图模式

这个模式是方便我们进行一些批量化操作,如注释/取消注释代码。命令模式下ctrl + v进入视图模式
注释多行代码:
首先我们的光标要到开始注释行的开始:
在这里插入图片描述
进入视图模式->使用hjkl移动光标选中区域->输入shift + i->输入//进行注释->输入返回键->完成注释
在这里插入图片描述

d. vim开发环境的配置

在刚开始使用vim的过程中,我们会发现这个软件编写代码极其的不舒服,没有自动匹配括号,关键词联想,自动缩进等等。其实,这些都可以来由使用人员配置。我们需要在我们的账户目录下找到一个隐藏文件’.vimrc’,如果没有我们可以自己创建一个。
使用vim打开这个文件,我们输入set nu也就是显示行号
在这里插入图片描述

在这里插入图片描述
我们会发现我们再使用vim打开文件就会自动带上行号。而配置一个合适的环境,会大大的提高我们的开发效率,想了解如何配置的话可以自行上,网上搜索相关的配置代码,个性化定制自己的开发环境。

3.gdb

gdb是用来调试c/c++代码的软件,需要注意的是只有在debug版本编译出的可执行程序才能被调试。
而gcc/g++默认编译好的可执行程序是release版本,想要debug版本

gcc/g++ 文件名  -g (debug版本)list(l) + 数字:从数字行开始显示代码,回车下翻
run(r):F5的作用,调试
breakpoint(b) + 行号:打断点多个.c文件时,言明文件名+冒号+行号
info b:显示断点
delete breakpoint(d) + 断点num:删除断点退出调试状态时,断点全部清除
dis/en  able + 编号:禁用/启用断点
n:逐过程,相当于F10
s:逐语句,相当于F11
display/undisplay:查看/删除(编号)变量和变量的地址属性
until:跳转到指定行
finish:运行到当前函数的结尾
continue,c:从一个断点跳到下一个断点
bt:查看调用堆栈
set var 变量 = 某数值(可能会影响结果,导致结果不同)

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

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

相关文章

【链表】反转链表 II-力扣 92 题

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

elasticsearch bulk 批量操作

1:bulk 是 elasticsearch 提供的一种批量增删改的操作API bulk 对 JSON串 有着严格的要求。每个JSON串 不能换行 ,只能放在同一行,同时, 相邻的JSON串之间必须要有换行 (Linux下是\n;Window下是\r\n&#…

避雷器雷击计数器检验

试验目的 由于密封不良, 放电计数器在运行中可能进入潮气或水分, 使内部元件锈蚀,导致计数器不能正确动作, 因此需定期试验以判断计数器是否状态良好、 能否正常动作, 以便总结运行经验并有助于事故分析。 带有泄漏电…

Git学习笔记6

Github分支开发: 第1步:在github上创建一个新的dev分支: 更新了微信的PC版本,发现默认的箭头比以前加粗了,变得更好看了。 create branch: dev from master。 切换到该分支,看到里面的内容跟master分支的…

Vue3 菜鸟入门(三)超详细:引用外部依赖、组件、路由

【学习笔记】Vue3 菜鸟入门(三)超详细:引用外部依赖、组件、路由 关键词:Vue 、Vue 3、Java、Spring Boot、Idea、数据库、一对一、培训、教学本文主要内容含Vue 基本框架 模板语法、指令计划1小时完成,请同学尽量提前…

计算机是如何工作的(上篇)

计算机发展史 世界上很多的高科技发明,来自于军事领域 计算机最初是用来计算弹道导弹轨迹的 弹道导弹 ~~国之重器,非常重要 两弹一星 原子弹,氢弹,卫星(背后的火箭发射技术) 计算弹道导弹轨迹的计算过程非常复杂,计算量也很大 ~~ 但是可以手动计算出来的(当年我国研究两弹一…

Python py文件打包成 exe文件

文章目录 安装 pyinstaller 模块pyinstaller 的使用pyinstaller 常用参数多文件打包 安装 pyinstaller 模块 pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple在 pyinstaller 模块安装成功之后,在 Python 的安装目录下的 Scripts 目录下会增加…

解决VS Code安装远程服务器插件慢的问题

解决VS Code安装远程服务器插件慢的问题 最近想在服务器上做juypter notebook的代码运行,发现要给服务器安装Jupyter插件,但是安装速度奇慢无比(因为服务器不连外网),一开始查看从VS Code插件市场下载插件的博客&…

Apache Spark 在爱奇艺的应用实践

01 Apache Spark 在爱奇艺的现状 Apache Spark 是爱奇艺大数据平台主要使用的离线计算框架,并支持部分流计算任务,用于数据处理、数据同步、数据查询分析等场景: 数据处理:在数据开发平台中支持开发者提交 Spark Jar 包任务或Spar…

macOS 运行xxx.command文件提示”无法执行,因为您没有正确的访问权限“解决方法

使用苹果mac电脑运行.command文件时,是否遇到弹出”无法执行,因为您没有正确的访问权限“的窗口?遇到这种问题怎么解决呢?这里小编为大家带来了详细的解决方法,一起来看看吧! 解决方法: 方法一…

matlab 间接平差法拟合二维圆

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫自重。 一、算法原理 圆的方程为: ( x - x 0 )

怎么为Web服务器配置虚拟主机?【步骤演示】

在安装了Web服务器Apache后,为了更好地使用Apache,还需要学习如何对Apache进行配置。在项目开发中,经常需要配置虚拟主机和访问权限,下面对Web服务器的配置进行详细讲解。 配置虚拟主机 在默认情况下,Apache只有Chwe…

ssh服务登录原理与配置

文章目录 前言一、基于口令的认证(用户名密码)二、基于公钥的认证(免密登录)三、禁止用户登录和修改端口四、免密登录具体操作 前言 非对称加密是在认证用户连接的时候使用的,对称加密是在用户连接之后开始传输数据的…

高端知识竞赛中用到的软件和硬件有哪些

现在单位搞知识竞赛,已不满足于用PPT放题,找几个简单的抢答器、计分牌弄一下了,而是对现场效果和科技感要求更高了。大屏要分主屏侧屏,显示内容要求丰富炫酷;选手和评委也要用到平板等设备;计分要大气些&am…

【JavaEE】多线程案例-单例模式

文章目录 1. 前言2. 什么是单例模式3. 如何实现单例模式3.1 饿汉模式3.2 懒汉模式4. 解决单例模式中遇到的线程安全问题4.1 加锁4.2 加上一个判断解决频繁加锁问题4.2 解决因指令重排序造成的线程不安全问题 1. 前言 单例模式是我们面试中最常考到的设计模式。什么是设计模式呢…

准备篇(三)Python 爬虫第三方库

第三方库无法将 "pip" 识别ModuleNotFoundError: No module named pip install 安装路径相关问题requests 库和 BeautifulSoup 库requests 库BeautifulSoup 库第三方库 Python 的 标准库 中提供了许多有用的模块和功能,如字符串处理、网络通信、多线程等,但它们并…

(2023 最新版)IntelliJ IDEA 下载安装及配置教程

IntelliJ IDEA下载安装教程(图解) IntelliJ IDEA 简称 IDEA,由 JetBrains 公司开发,是 Java 编程语言开发的集成环境,具有美观,高效等众多特点。在智能代码助手、代码自动提示、重构、J2EE 支持、各类版本…

ES6 特性

一、ES6 1.1 ES6 概念 1.1.1 什么是 ES ES 全称 EcmaScript 是脚本语言的规范JavaScript 是 EcmaScript 的一种实现ES 新特性就是指 JavaScript 的新特性 1.1.2 为什么要使用 ES 语法简单,功能丰富框架开发应用前端开发职位要求 1.1.3 为什么要学习 ES6 ES6 …

消息中间件介绍

消息中间件利用高效可靠的消息传递机制进行异步的数据传输,并基于数据通信进行分布式系统的集成。通过提供消息队列模型和消息传递机制,可以在分布式环境下扩展进程间的通信。ActiveMQ、RabbitMQ、ZeroMQ 消息中间件的作用 解耦: 冗余〈存储…

在UOS/Deepin下安装 Python 3.11.5 图文详解

01 先把操作系统更新一下 在开始菜单中,找到“终端”,点击启动,并依次输入以下两条命令即可: sudo apt update sudo apt upgrade 特别说明:Uos/Deepin 系统,要先进入“开发者模式”才行。“ 设置 — 通用…