Linux学习2.0——vi编辑器和gcc编译器的使用

vi是一种方便的代码编辑器,Linux系统一般是自带的、

vi和vim的区别:vim是vi的升级版,基础功能两者一致,不过在嵌入式开发板中 只有vi没有vim,但是在Ubuntu上我们可以使用vim编辑器,它的功能更加丰富。 这里只讲解vi编辑器基础用法,如果使用vim编辑器需要手动安装vim编辑器

安装vim

sudo apt‐get install vim 

如果安装过程中出现err,便是有错误

解决办法:

错误时的反馈:
Err:1 http://security.ubuntu.com/ubuntu bionic-security/main amd64 vim-runtime all 2:8.0.1453-1ubuntu1.1
  Could not resolve 'security.ubuntu.com'
Err:2 http://security.ubuntu.com/ubuntu bionic-security/main amd64 vim amd64 2:8.0.1453-1ubuntu1.1
  Could not resolve 'security.ubuntu.com'
```

从错误信息中可以看出,问题出在无法解析“security.ubuntu.com”这个域名。这通常意味着网络连接问题或DNS解析问题。

### 可能的解决方案:

1. **检查网络连接**:
   确保你的网络连接正常,可以尝试访问其他网站或使用浏览器访问“security.ubuntu.com”来确认是否存在网络问题。

2. **更新软件源**:
   运行以下命令更新软件源:
   ```bash
   sudo apt update
   ```

3. **清除包缓存**:
   有时候包管理器可能会下载损坏的包,可以尝试清除包缓存并重新下载:
   ```bash
   sudo apt clean
   sudo apt update
   ```

4. **检查软件源配置**:
   确保你的软件源配置正确,可以编辑`/etc/apt/sources.list`文件,确保其中的源地址的有效性。

5. **手动安装vim**:
   如果上述方法都无法解决问题,可以尝试手动下载和安装vim。在Vim官方网站上下载适合你的Linux发行版的二进制包,然后按照官方的安装说明进行安装。

### 详细介绍:

**Vim**是一个高级文本编辑器,旨在提供实际的Unix编辑器`vi`的功能,并包含许多额外的功能。Vim是自由软件,可以在各种Unix系统和Windows上运行。它广泛用于程序员和系统管理员,以编辑配置文件、代码和其他纯文本文件。Vim以其强大的插件系统和可扩展性而闻名,允许用户根据自己的需求定制编辑器。

vi + 文件名 用vi打开/创建某个文本文件

1.命令行模式:按ESC进入,在这个状态下,可以输入命令常用命令

: + 行号:跳转到某一行

G:跳转到文本末尾

yy: 复制某一行,复制的位置由光标所在位置决定

yx:复制若干行,x代表行数,输入2,就是复制当前行和它下面的两行(总共三行), 复制的位置由光标所在位置决定。

p:把刚刚复制的内容进行粘贴,粘贴的位置由光标所在位置决定

:+wq 保存文本并退出

:+q 正常退出文本

:+q! 强制退出文本

:set nu 程序显示行号

:dd 删除一行

ESC: gg=G 自动整理代码

.文本输入模式:按i进入

进入文本输入模式,即可编辑代码,注意只能键盘操作, 鼠标不行。

安装 gcc linux编译器:

sudo apt‐get install gcc

写完的程序:test.c

我们要将写完的程序 进行编译,生成二进制文件

gcc test.c

a.out:编译完之后默认生成的文件

指定生成的文件名 gcc test.c –o hello

cd - 返回进入此目录之前所在目录

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

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

相关文章

有一个4*5的矩阵如下,要求编写程序计算总和与平均值,并找出其中值最大的那个元素输出,以及其所在的行号和列号。

一、题目 二、代码解析 max_value 被初始化为矩阵的第一个元素 matrix[0][0]。max_row 和 max_col 分别被初始化为 0,表示最大值所在的行和列。s 被初始化为 0,用于累加矩阵中的所有元素。外层循环 for k in range(len(matrix)) 遍历矩阵的每一行。内层…

html + css 淘宝网实战

之前有小伙伴说,淘宝那么牛逼你会写代码,能帮我做一个一样的淘宝网站吗,好呀,看我接下来如何给你做一个淘宝首页。hahh,开个玩笑。。。学习而已。 在进行html css编写之前 先了解下网页的组成和网页元素的尺寸吧 1.网页的组成 …

网神SecFox FastJson反序列化RCE漏洞复现(附脚本)

0x01 产品描述: ‌网神SecFox是奇安信网神信息技术(北京)股份有限公司推出的一款运维安全管理与审计系统‌,集“身份认证、账户管理、权限控制、运维审计”于一体,提供统一运维身份认证、细粒度的权限控制、丰富的运维审计报告、多维度的预警…

MoH:将多头注意力(Multi-Head Attention)作为头注意力混合(Mixture-of-Head Attention)

摘要 https://arxiv.org/pdf/2410.11842? 在本文中,我们对Transformer模型的核心——多头注意力机制进行了升级,旨在提高效率的同时保持或超越先前的准确度水平。我们表明,多头注意力可以表示为求和形式。鉴于并非所有注意力头都具有同等重…

uniapp——微信小程序读取bin文件,解析文件的数据内容(三)

微信小程序读取bin文件内容 读取用户选择bin文件,并解析数据内容,分包发送给蓝牙设备; 文章目录 微信小程序读取bin文件内容读取文件读取内容返回格式 API文档: getFileSystemManager 关于App端读取bin文件,请查看&…

穷举vs暴搜vs深搜vs回溯vs剪枝系列一>组合

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; private List<List<Integer>> ret;private List<Integer> path;private int n,k;public List<List<Integer>> combine(int _n, int _k) {n _n;k _k;path new ArrayList<>();ret…

鸿蒙开发实战之“使用HiLog和HiSysEvent进行日志与系统事件管理”

HiLog和HiSysEvent作为鸿蒙&#xff08;HarmonyOS&#xff09;系统中进行日志记录和系统事件管理的关键组件&#xff0c;为开发者提供了强大的工具来追踪系统行为、调试应用以及监控设备状态。它们不仅简化了日志管理和事件追踪的流程&#xff0c;还提高了开发效率和系统可维护…

Linux(Centos 7.6)yum源配置

yum是rpm包的管理工具&#xff0c;可以自动安装、升级、删除软件包的功能&#xff0c;可以自动解决软件包之间的依赖关系&#xff0c;使得用户更方便软件包的管理。要使用yum必须要进行配置&#xff0c;个人将其分为三类&#xff0c;本地yum源、局域网yum源、第三方yum源&#…

数据中台从centos升级为国产操作系统后,资源增加字段时,提交报500错误

文章目录 背景一、步骤1.分析阶段2.查看nginx3.修改用户&#xff08;也可以修改所有者权限&#xff09; 背景 故障报错&#xff1a; nginx报错信息&#xff1a; 2024/12/19 15:25:31 [crit, 500299#0: *249 onen0 " /var/lib/nginx/tmp/cient body/0000000001" f…

uniapp 前端解决精度丢失的问题 (后端返回分布式id)

原因&#xff1a; 后端使用分布式id, id为19位数&#xff0c;导致精度丢失 &#xff0c;前端解决方法 这个是通过浏览器请求回来的数据&#xff0c;这个时候id 数据已经丢失了&#xff0c;在数据库查询不到&#xff0c;在调获详情接口的时候会有问题 实际的&#xff1a; 解决…

十大排序---下

文章目录 前言一、归并排序二、快速排序三、计数排序四、桶排序五、基数排序总结 前言 今天我们来继续学习十大排序中剩下的五个。 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、归并排序 归并排序&#xff08;Merge sort&#xff09;是建立在归…

Git如何设置和修改当前分支跟踪的上游分支

目录 前言 背景 设置当前分支跟踪的上游分支 当前分支已有关联&#xff0c;删除其关联&#xff0c;重新设置上游 常用的分支操作 参考资料 前言 仅做学习记录&#xff0c;侵删 背景 在项目开发过程中&#xff0c;从master新建分支时&#xff0c;会出现没有追踪的上游分…

【笔记】Linux中vim编辑器回忆录

&#xff08;一&#xff09;替换 末行模式中 替换整个文本的某个字符为某个东西 全局替换 &#xff1a;%s/旧字符/新字符/g &#xff1a;进入命令行 % 全局范围 s 替换命令 /旧字符/新字符/ 将旧字符换为新字符 g 全局替换 局部范围替换 &#xff1a;开始行号&#xff0c;…

【玩转MacBook】Git安装

Git 官网也提到了MacBook 可以使用 Homebrew 安装 Git&#xff0c;所以在此使用 Homebrew 安装。 1、安装 Homebrew 执行安装脚本 在 Terminal 中执行如下命令&#xff1a; /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.…

Browser Use:AI智能体自动化操作浏览器的开源工具

Browser Use:AI智能体自动化操作浏览器的开源工具 Browser Use 简介1. 安装所需依赖2. 生成openai密钥3. 编写代码4. 运行代码5. 部署与优化5.1 部署AI代理5.2 优化与扩展总结Browser Use 简介 browser-use是一个Python库,它能够帮助我们将AI代理与浏览器自动化操作结合起来;…

字符串存储、分割相关总结(strncpy 函数和strtok() 函数相关)

1.想用这些函数都需要导入头文件 #include<string.h> 2.怎么创建字符串并输入 #define maxsize 100 char a[maxsize1];//创建字符串&#xff0c;预留一个位置放\0 【1】scanf("%s",a);//使用 scanf 函数读取不带空格的字符串 【2】fgets(a, sizeof(a), stdi…

缓存管理自动化:JuiceFS 企业版 Cache Group Operator 新特性发布

近期&#xff0c;JuiceFS 企业版推出了 Cache Group Operator&#xff0c;用于自动化创建和管理缓存组集群。Operator 是一种简化 Kubernetes 应用管理的工具&#xff0c;它能够自动化应用程序的生命周期管理任务&#xff0c;使部署、扩展和运维更加高效。 在推出 Operator 之前…

【蓝桥杯——物联网设计与开发】拓展模块5 - 光敏/热释电模块

目录 一、光敏/热释电模块 &#xff08;1&#xff09;资源介绍 &#x1f505;原理图 &#x1f505;AS312 &#x1f319;简介 &#x1f319;特性 &#x1f505;LDR &#xff08;2&#xff09;STM32CubeMX 软件配置 &#xff08;3&#xff09;代码编写 &#xff08;4&#x…

基于AI的增强型日内成交量比率概率预测在美股市场中的表现优于现有的基准

“IVE: Enhanced Probabilistic Forecasting of Intraday Volume Ratio with Transformers” 论文地址&#xff1a;https://arxiv.org/pdf/2411.10956 摘要 本文介绍了一种创新的金融市场成交量比预测技术&#xff0c;特别适用于VWAP&#xff08;成交量加权平均价格&#xff…

Tauri2+Leptos开发桌面应用--Sqlite数据库操作

在之前工作&#xff08;使用Tauri Leptos开发带系统托盘桌面应用-CSDN博客&#xff09;的基础上&#xff0c;继续尝试对本地Sqlite数据库进行读、写、删除操作&#xff0c;开发环境还是VS CodeRust-analyzer。 最终程序界面如下&#xff1a; 主要参考文章&#xff1a;Building…