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

相关推荐
sainty072 小时前
linux 宏 DEVICE_ATTR
linux
Murphy_lx2 小时前
vim指令
linux·编辑器·vim
小猪写代码2 小时前
vim 编辑器
linux·编辑器·vim
nmxiaocui2 小时前
Linux vi/vim
linux·运维·vim
XJxsmyj522 小时前
vim复制本地到linux服务器上,换行缩进过大,不对的问题
linux·编辑器·vim
奋斗的蛋黄2 小时前
HDFS与Yarn深入剖析
大数据·运维·hadoop
我想吃余3 小时前
Linux进程概念(中):进程优先级和环境变量
linux·运维·服务器
凯子坚持 c3 小时前
AI 赋能云端运维:基于 MCP 协议深度集成 Codebuddy CLI 与腾讯云 Lighthouse 的实战全解
运维·人工智能·腾讯云·腾讯轻量云ai创想家
milo.qu3 小时前
ubuntu22.04 安装Docker
linux·运维·docker