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 粘贴选中的内容