欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > Linux开发工具【中】

Linux开发工具【中】

2025/12/14 6:20:18 来源:https://blog.csdn.net/khjjjgd/article/details/147748463  浏览:    关键词:Linux开发工具【中】

目录

一、vim

1.1 插入模式

1.2 底行模式

1)set nu 

2)set nonu

3) /XXX + n

4)!command

5)vs other

1.3 补充

1) 批量化操作

2)批量化替换 : 

3)快速定位:

4)!

5)查询Linux有几种模式:

1.4 扩展 - vim配置

二、编译器gcc/g++

2.1 gcc 编译选项

2.2 预处理

2.3 编译

2.4 汇编

2.5 链接


Linux开发工具【上】-CSDN博客

学会在 vim下写代码 , 很重要 , 因为以后我们避免不了会需要改一些配置文件 , 或者编写一些基础文件 。熟悉了就不会觉得很难了 , 一句话 , 菜就多练 。 

一、vim

1.1 插入模式

【插入模式】 -> 【命令模式】

按 Esc 键 

1.2 底行模式

1)set nu 

set nu : 调出行号

2)set nonu

set nonu : 退出行号

3) /XXX + n

/XXX: 搜索具有 XXX 字符的命令 , n (next ) 表示下一个

4)!command

!command : 在不退出命令行模式下,执行命令

5)vs other

vs other : 文件级别分屏

如果你分屏的文件并不存在,系统会自动生成,最后不要忘记保存并且退出!

那如何区别是那一个文件呢?

在整个终端重 ,   只有一个光标,可以看一下,光标在哪里 , 就在哪一个文件。

如何进行光标切换:

在【命令模式】下:Ctrl + ww

1.3 补充

1) 批量化操作

这里我借 批量化注释和  批量化去注释为引子 。

ctrl + v  -->   hjkl  -->  shift + i  --->   // ---> ESc

ctrl + v --->  hjkl ---> d 

这里我们 ctrl + v : 进入的是视图模式 

2)批量化替换 : 

在底行模式下:

%s /print / printf / g

1)g : 表示全部有关于print 的替换 , 如果没有 , 仅仅替换每行的首个print

2) 把后者的 printf 替换给者 printf

3)快速定位:

vim xxxx(文件名字) + n (行号)

一般用于编译的时候,代码报错,并且告诉你具体的错误是在某行的范围,使用这个指令便于快速定位 。 

4)!

!g : 快速定位历史命令以 g 为开头的命令

! 后面接历史命令的起始字母 , 能快速执行历史命令。

5)查询Linux有几种模式:

底行模式下查询:

help vim-modes

1.4 扩展 - vim配置

其实vim 还可以配置一下缩进,高亮等(见一见,但是不建议常用)。

vim 配置的原理:

1)首先先过渡一下,以后你在编写命令的时候,不要在root 账号下编写了,需要在 普通用户下编写:

adduser  XXX   //添加用户
passwd   XXX   //为新添加的用户设置密码,密码不回显

 2)创建配置文件 ( .vimrc)    ---> 如果没有

那么随后我们就可以在我们的这一个配置文件进行配置!

3)配置

touch test.c    //创建一个文件vim test.c     //编写基础代码,此时是没有行号的touch .vimrc   //ls -al 时候,如果没有该文件则创建,有则不需要vim .vimrc     //在配置文件下配置 ,例如set nu(设置行号)vim test.c     //此时再打开test.c 已经是有行号的了

 打开 test.c

1.  我们每一个普通用户 , 在自己的家目录里做一些配置项 , 对其他用户是不奏效的 , 因为在Linux 多用户下 , 文件之间是隔离的!!!

2 . 其实在系统中也有公共的 vim 配置文件 , 对所有文件都起效:

/etc/vimrc

但是 , 你别动人家root 里面的配置项 , 别动!!!别动!!!别动!!!你管好自己普通用户下的配置文件就好了 , root 不用你操心 。

3. 但是,我不知道有什么配置项怎么办?

1)大语言模型走起 : deepseek 、 文心一言 、......

2)或者还可以去 其他地方里直接找 ....(脚本)

" 关闭 vi 兼容模式(必须放在配置最开头)
set nocompatible" 显示行号
set number" 高亮当前行
set cursorline" 语法高亮
syntax enable" 自动缩进
set autoindent
set smartindent" Tab 转换为 4 个空格
set tabstop=4
set shiftwidth=4
set expandtab" 显示输入命令
set showcmd" 实时搜索高亮
set incsearch" 搜索忽略大小写(输入大写时自动关闭)
set ignorecase
set smartcase" 启用鼠标支持(normal/visual/insert 模式)
set mouse=a" 显示状态栏(0=不显示,1=多窗口时显示,2=总是显示)
set laststatus=2" 显示标尺(右下角行列号)
set ruler" 折行显示(不自动换行)
set nowrap" 代码折叠(manual-手动,indent-缩进,syntax-语法)
set foldmethod=indent" 打开文件时默认不折叠
set nofoldenable" 滚动时保留上下边距
set scrolloff=5" 显示匹配的括号
set showmatch

这里我们只要知道有这么个东西,但是不建议日常码字的时候在配置了的 vim 下编写 。

二、编译器gcc/g++

我们知道,一个源文件生成可执行文件  会经过 

1) 预处理(进行宏替换 / 去编译 / 条件编译 / 头文件展开等 )

2)    编译(生成汇编)

3) 汇编(生成机器可识别代码)

4)  链接 (生成可执行文件或库文件) 

2.1 gcc 编译选项

格式: gcc [选项]  要编译的文件  [选项] 目标文件

2.2 预处理

头文件的展开,就相当于一个拷贝的过程 , 是递归展开的 (如果头文件中还有头文件 ) 。

  

问 : 预处理完后 , 我们的代码还是 c 语言吗? 

是 , 只不过 .i 文件时经过预处理后的一个干净的c 语言 , 与头文件、宏等都没关系了。

2.3 编译

编译:把c 语言 , 变成汇编语言 。在这个阶段中, gcc 首先要检查代码的规范性、是否有语法错误等 , 以确定代码的实际要做的工作 ,  在检查无误后,gcc 把代码翻译成汇编语言。

2.4 汇编

汇编语言  --->  二进制(生成机器可识别代码)

 

2.5 链接

记忆技巧:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词