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)

* 向下搜索当前光标所在的单词

向上搜索当前光标所在的单词

  1. 插入与追加文本 (正常模式下使用,进入插入模式)

命令 功能描述

i 在光标前插入 (insert)

a 在光标后追加 (append)

I 在当前行行首插入

A 在当前行行尾追加

o 在当前行下方新建一行并插入 (open new line)

O 在当前行上方新建一行并插入

s 删除当前字符并插入 (substitute)

S 或 cc 删除整行并插入

  1. 删除、复制与粘贴 (正常模式下)

命令 功能描述

x 删除光标所在的字符

dw 删除一个单词 (从光标位置开始)

dd 删除整行

d$ 或 D 删除从光标到行尾的内容

d0 删除从光标到行首的内容

<n>dd 删除 <n> 行 (例如 3dd 删除 3 行)

yy 复制当前行 (yank)

<n>yy 复制 <n> 行

yw 复制一个单词

y$ 复制到行尾

p 在光标后/下方粘贴 (paste)

P 在光标前/上方粘贴

  1. 撤销与重做 (正常模式下)

命令 功能描述

u 撤销上一次操作 (undo)

Ctrl + r 重做被撤销的操作 (redo)

  1. 搜索与替换 (命令模式下使用 :)

命令 功能描述

/pattern 向下搜索字符串 "pattern" (按 n 下一个,N 上一个)

?pattern 向上搜索字符串 "pattern"

:%s/old/new/g 将文件中所有的 "old" 替换为 "new" (global)

:%s/old/new/gc 替换所有,但每次替换前需要确认 (confirm)

:s/old/new/g 仅替换当前行的 "old" 为 "new"

  1. 保存与退出 (命令模式下使用 :)

命令 功能描述

:w 保存文件 (write)

:q 退出 Vim (quit),如果文件有修改会提示

:q! 强制退出,不保存任何修改

:wq 或 :x 或 ZZ 保存并退出

:w <filename> 另存为新文件

:e <filename> 打开另一个文件进行编辑 (edit)

  1. 可视模式操作 (先按 v, V 或 Ctrl+v 进入)

命令 功能描述

v 进入字符可视模式,以字符为单位选择

V 进入行可视模式,以行为单位选择

Ctrl + v 进入块可视模式,可进行列选择

移动命令 (h,j,k,l,$等) 在可视模式下扩展选择区域

y 复制选中的内容 (yank)

d 删除选中的内容 (也相当于剪切)

p 粘贴选中的内容

相关推荐
AlfredZhao13 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346619 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪20 小时前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
小宇宙Zz2 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信