当前位置: 首页 > news >正文

linux C 语言开发 (六) 程序的编辑和编译(vim、gcc)

  文章的目的为了记录使用C语言进行linux 开发学习的经历。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。

 相关链接:

linux C 语言开发 (一) Window下用gcc编译和gdb调试

linux C 语言开发 (二) VsCode远程开发 linux

linux C 语言开发 (三) 建立云服务器

linux C 语言开发 (四) linux系统常用命令

linux C 语言开发 (五) linux系统目录结构

linux C 语言开发 (六) 程序的编辑和编译(vim、gcc)

Linux C到Android App开发推荐链接(入门十二章):

开源 java android app 开发(一)开发环境的搭建_csdn 开源 java android app-CSDN博客

开源 java android app 开发(一)开发环境的搭建-CSDN博客

开源 java android app 开发(二)工程文件结构-CSDN博客

开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客

开源 java android app 开发(四)GUI界面重要组件-CSDN博客

开源 java android app 开发(五)文件和数据库存储-CSDN博客

开源 java android app 开发(六)多媒体使用-CSDN博客

开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客

开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客

开源 java android app 开发(九)后台之线程和服务-CSDN博客

开源 java android app 开发(十)广播机制-CSDN博客

开源 java android app 开发(十一)调试、发布-CSDN博客

开源 java android app 开发(十二)封库.aar-CSDN博客

linux C到.net mvc开发推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

主要内容:linux系统下如何进行程序程序编辑和编译。编辑通常是使用vim,编译使用gcc。最好是vscode+gcc的组合,vscode比较简单,这里不做说明。但是有些情况只能用vim,这里记一下。

目录:

1.vim如何编辑程序

2.gcc进行编译

3.vim命令介绍

一、vim如何编辑程序

以最简单的打印 Hellow world 为例编辑1个函数。

进入vim编辑器

vim main.c

输入i进入编辑模式

按下ESC退出编辑模式

输入:wq保存并退出

:wq

二、编译

linux下是使用gcc 来编译

先查看版本

gcc main.c  -o main进行编译

./main就可以执行程序

三、vim命令介绍

Vim 模式简介
首先,理解 Vim 的几种基本模式是使用这些命令的关键:

正常模式 (Normal Mode):也称为命令模式。这是 Vim 的默认模式,用于移动光标、复制、粘贴、删除等操作。按 Esc 键可从其他模式返回此模式。

插入模式 (Insert Mode):在此模式下可以输入文本。从正常模式按 i 等键进入。

可视模式 (Visual Mode):在此模式下可以选择文本块。从正常模式按 v (字符可视)、V (行可视) 或 Ctrl+v (块可视) 进入。

命令模式 (Command-Line Mode):用于执行保存、退出、搜索替换等命令。从正常模式按 : 进入。

1. 光标移动 (正常模式下)
命令    功能描述
h j k l    左、下、上、右 移动光标 (推荐代替箭头键)
w    移动到下一个单词的开头
b    移动到上一个单词的开头
e    移动到当前单词的末尾
0 (零)    移动到当前行的行首
^    移动到当前行的第一个非空白字符
$    移动到当前行的行尾
gg    移动到文件第一行
G    移动到文件最后一行
:<n> 或 <n>G    移动到第 <n> 行 (例如 :50 或 50G)
Ctrl + f    向下翻一页 (Page Down)
Ctrl + b    向上翻一页 (Page Up)
H    移动到当前屏幕的顶部 (High)
M    移动到当前屏幕的中间 (Middle)
L    移动到当前屏幕的底部 (Low)
*    向下搜索当前光标所在的单词
#    向上搜索当前光标所在的单词
2. 插入与追加文本 (正常模式下使用,进入插入模式)
命令    功能描述
i    在光标前插入 (insert)
a    在光标后追加 (append)
I    在当前行行首插入
A    在当前行行尾追加
o    在当前行下方新建一行并插入 (open new line)
O    在当前行上方新建一行并插入
s    删除当前字符并插入 (substitute)
S 或 cc    删除整行并插入
3. 删除、复制与粘贴 (正常模式下)
命令    功能描述
x    删除光标所在的字符
dw    删除一个单词 (从光标位置开始)
dd    删除整行
d$ 或 D    删除从光标到行尾的内容
d0    删除从光标到行首的内容
<n>dd    删除 <n> 行 (例如 3dd 删除 3 行)
yy    复制当前行 (yank)
<n>yy    复制 <n> 行
yw    复制一个单词
y$    复制到行尾
p    在光标后/下方粘贴 (paste)
P    在光标前/上方粘贴
4. 撤销与重做 (正常模式下)
命令    功能描述
u    撤销上一次操作 (undo)
Ctrl + r    重做被撤销的操作 (redo)
5. 搜索与替换 (命令模式下使用 :)
命令    功能描述
/pattern    向下搜索字符串 "pattern" (按 n 下一个,N 上一个)
?pattern    向上搜索字符串 "pattern"
:%s/old/new/g    将文件中所有的 "old" 替换为 "new" (global)
:%s/old/new/gc    替换所有,但每次替换前需要确认 (confirm)
:s/old/new/g    仅替换当前行的 "old" 为 "new"
6. 保存与退出 (命令模式下使用 :)
命令    功能描述
:w    保存文件 (write)
:q    退出 Vim (quit),如果文件有修改会提示
:q!    强制退出,不保存任何修改
:wq 或 :x 或 ZZ    保存并退出
:w <filename>    另存为新文件
:e <filename>    打开另一个文件进行编辑 (edit)
7. 可视模式操作 (先按 v, V 或 Ctrl+v 进入)
命令    功能描述
v    进入字符可视模式,以字符为单位选择
V    进入行可视模式,以行为单位选择
Ctrl + v    进入块可视模式,可进行列选择
移动命令 (h,j,k,l,$等)    在可视模式下扩展选择区域
y    复制选中的内容 (yank)
d    删除选中的内容 (也相当于剪切)
p    粘贴选中的内容
 


文章转载自:

http://FGHwbtLc.xhfpg.cn
http://nj719XvD.xhfpg.cn
http://sfK7FTrH.xhfpg.cn
http://NglijV4s.xhfpg.cn
http://wZsWZgZT.xhfpg.cn
http://lV7Sy5DW.xhfpg.cn
http://7fIW3RPr.xhfpg.cn
http://xtjXDVw0.xhfpg.cn
http://bAcvt30T.xhfpg.cn
http://BHNI6BWl.xhfpg.cn
http://0US3Cpv3.xhfpg.cn
http://2p5wKTZa.xhfpg.cn
http://daq3BiDW.xhfpg.cn
http://p6o0X9jg.xhfpg.cn
http://ceTujsCU.xhfpg.cn
http://Zjw7n7Ze.xhfpg.cn
http://ToNPPq36.xhfpg.cn
http://LJxCgC7e.xhfpg.cn
http://yWhaga0t.xhfpg.cn
http://rv7JDshQ.xhfpg.cn
http://SbAMLBpu.xhfpg.cn
http://4ts852sG.xhfpg.cn
http://oB9Sjs8p.xhfpg.cn
http://7nfEuNFa.xhfpg.cn
http://IJB8pc6L.xhfpg.cn
http://9s0n41ca.xhfpg.cn
http://t61M0SWf.xhfpg.cn
http://KZ4iC08Q.xhfpg.cn
http://oo9G2hHq.xhfpg.cn
http://Mld5IzL3.xhfpg.cn
http://www.dtcms.com/a/378895.html

相关文章:

  • 综合文化信息管理系统|基于java和小程序的综合文化信息管理系统设计与实现(源码+数据库+文档)
  • 20250911_10.1.11.46车辆定位aidata-01_Apache Doris分布式数据库全量备份(本地+异地)Python脚本
  • DenseNet网络
  • 2025胶水分装机服务商技术解析:聚焦高精度、智能化应用
  • Drawnix白板本地部署指南:cpolar实现远程创意协作
  • leetcode189.轮转数组
  • SPI设备驱动
  • 第七节,探索 ​​CSS 的高级特性、复杂布局技巧、性能优化以及与现代前端工作流的整合(二)
  • O3.2 opencv高阶
  • c语言,识别到黑色就自动开枪,4399单击游戏狙击战场,源码分享,豆包ai出品
  • Spring Boot 原理与性能优化实战
  • PHP 性能优化实战 OPcache + FPM 极限优化配置
  • solidity的高阶语法(完结篇)
  • 端–边–云一体的实时音视频转发:多路RTSP转RTMP推送技术深度剖析
  • OPC Client第10讲:实现主界面;获取初始界面传来的所有配置信息config【C++读写Excel:xlnx;ODBC;缓冲区】
  • git的使用命令
  • uniapp | 实现微信小程序端的分包处理
  • C/C++项目练习:命令行记账本
  • mes之生产管理
  • 【51单片机】【protues仿真】基于51单片机多功能电子秤系统
  • VSCode 下 PlatformIO 的使用
  • Shell编程:生成10个随机数,并判断最大值和最小值
  • nginx参数介绍(Nginx配置文件结构、nginx命令)
  • Java mp4parser 实现视频mp4 切割
  • 安卓13_ROM修改定制化-----系统升级(OTA 更新)后保留 Magisk 的 root 权限和相关功能
  • Codebuddy Code CLI 实战体验:从安装到生成俄罗斯方块小游戏
  • 【代码随想录day 24】 力扣 90. 集合II
  • [iOS] 属性关键字
  • MVC及其衍生
  • 前端开发为什么要禁止使用 == 操作符?