目录

一、什么是编辑器、编译器?

1.1、编辑器下载

1.2、编译器下载

二、常用的三种编辑器

2.1、vi编辑器

2.2、vi编辑器的三种工作模式

2.2.1、命令行模式

2.2.2、输入模式

2.2.3、末行模式

2.3、光标操作命令

2.4、屏幕操作命令

2.5、文本修改命令

2.6、其他命令

2.6.1、块选择按键

2.6.2、多文件编辑

2.6.3、多窗口功能

2.7、nano编辑器

2.8、gedit编辑器

三、gcc编译器

3.1、编译器使用

3.1.1、gcc编译流程

3.1.2、gcc编译器的参数说明

3.2、gdb调试器

3.2.1、gdb功能介绍(含命令参数)

四、使用编辑器与编译器的要点


一、什么是编辑器、编译器?

编辑器是:所有计算机系统中常用的一种工具,用户在使用计算机时,需要自己建立文件,编写程序,这些工作都需要使用到编辑器。

编译器是:能将一种编程语言(通常是高级语言),翻译为另一种语言(通常为低级语言,计算机能识别的语言);

1.1、编辑器下载

在命令行输入:sudo apt-get install vi 或者 sudo apt-get install vim(vim是vi的升级版本)

如何测试是否下载完成:直接使用编辑器编辑文件就知道了,例如在命令行输入:vi 文件名,vim 文件名

1.2、编译器下载

在命令行输入:sudo apt-get install gcc     等待下载完成即可;

如何测试是否下载完成:直接使用编译器编译文件就知道了,例如在命令行输入:gcc 文件名

二、常用的三种编辑器

2.1、vi编辑器

简介:vi是visual interface的简称,是Linux中最常用的编辑器;

用法:vi [文件名]

说明:如果不指定文件名,则新建一个未命名的文件

启动vi的常用方法:

vi filename,作用:打开或新建文件,并将光标置于第一行首

vi +n filename,作用:打开文件,并将光标置于第n行首

vi + filename,作用:打开文件,并将光标置于最后一行首

vi + /str filename,作用:打开文件,并将光标置于第一个与str相匹配的字符串处

vi -r filename,作用:在上次使用vi编辑器时系统崩溃,回复filename

vi  filename(第一个文件) -filename(第n个文件),作用:打开多个文件,依次编辑

2.2、vi编辑器的三种工作模式

2.2.1、命令行模式

(vi 文件名)当进入vi时,处于命令模式。该模式下,用户可通过vi的命令对文件的内容进行处理,比如删除、移动、复制等;用户可以输入各种合法的vi命令,管理文档,从键盘输入的任何字符都被当做编辑命令,如果输入的字符是合法的vi命令,则vi接受用户命令并完成相应的动作。

命令模式-->文本输入模式,如果要用其他的文本输入命令,要先退出文本输入模式,返回到命令模式,在输入命令。

2.2.2、输入模式

在输入模式下,可以在光标处输入内容,或通过鼠标移动光标,也可以通过Esc键返回命令模式;

命令行模式进入输入模式的按键如下:

i,作用:从目前光标所在处插人

I,作用:从目前所在行的第一个非空格字符处开始插入

a,作用:从目前光标所在的下一个字符处开始插入

A,作用:从光标所在行的最后一个字符处开始插入

o,作用:从目前光标所在行的下一行处插人新的一行

O,作用:从目前光标所在处的上一行插人新的一行

r,作用:替换光标所在的那一个字符一次

R,作用:替换光标所在处的文字,直到按下Esc 键为止

2.2.3、末行模式

该模式下按“:”键进入末行模式,提示符为“:”,末行命令执行后,vi自动回到命令模式。

在末行输入的过程中,若要退出该模式,可按下退格键将输入的命令全部删除,在按一下退格键,即可回到命令模式;

可用按键及含义:

:w,作用:将编辑的数据保存到文件中

:w!,作用:若文件属性为“只读”时,强制写人该文件

:q,作用:退出vi

:q!,作用:强制退出不保存文件

:wq,作用:保存后退出vi

:w filename,作用:将编辑的数据保存成另一个文件

/word,作用:向下寻找一个名称为word的字符串

? word,作用:向上寻找一个名称为word的字符串

n,作用:n为按键,代表重复前一个查找的操作

N,作用:N为按键,与n相反,为“反向”进行前一个查找操作

:n1,n2s/word1/word2/g,作用:在第n1与n2行之间寻找wordl字符串,并替换为word2

:n1,$s/word1/word2/g,作用:全文查找wordl字符串,并将它替换为word2

2.3、光标操作命令

命令行模式下,移动光标的方法如下

h或向左箭头键,作用:光标向左移动一个字符

j或向下箭头键,作用:光标向下移动一个字符

k或向上箭头键,作用:光标向上移动一个字符

1或向右箭头键,作用:光标向右移动一个字符

+,作用:光标移动到非空格符的下一行

-,作用:光标移动到非空格符的上一行

n< space>,作用:按下数字n后再按空格键,光标会向右移n个字符

0或功能键Home,作用:移动到这一行的行首

$或功能键End,作用:移动到这一行的行尾

H,作用:光标移动到屏幕的第一行的第一个字符

M,作用:光标移动到屏幕的中央的那一行的第一个字符

L,作用:光标移动到屏幕的最后一行的第一个字符

G,作用:光标移动到这个文件的最后行

nG,作用:n为数字。移动到这个文件的第n行

gg,作用:移动到这个文件的第一行,相当于1G

n[Enter],作用:n为数字。光标向下移动n行

2.4、屏幕操作命令

在命令行模式和输入模式下都可以使用屏幕滚动命令,以屏幕为单位的光标操作,常用于滚屏和分页的按键如下:

[Ctrl]+f,作用:屏幕向下移动一页,相当于Page Down按键

[Ctr]+b,作用:屏幕向上移动一页,相当于Page Up按键

[CtrI]+d,作用:屏幕向下移动半页

[Ctrl]+u,作用:屏幕向上移动半页

2.5、文本修改命令

x,作用:删除光标所在位置上的字符

dd,作用:删除光标所在行

n+x,作用:向后删除n个字符,包含光标所在位置

n+dd,作用:向下删除n行内容,包含光标所在行

yy,作用:将光标所在行复制

n+yy,作用:将从光标所在行起向下的n行复制

n+yw,作用:将从光标所在位置起向后的n个字符串(单词)复制

p,作用:将复制(或最近一次删除)的字符串(或行)粘贴在当前光标所在位置

u,作用:撤销上一步操作

.,作用:重复上一步操作

2.6、其他命令

2.6.1、块选择按键

v, 作用:字符选择,将光标经过的地方反白选择

V, 作用:行选择,将光标经过的地方反白选择

[Ctrl]+v, 作用:块选择,可以用长方形的方式选择数据

2.6.2、多文件编辑

:n,作用:编辑下一个文件

:N,作用:编辑上一个文件

:files,作用:列出目前这个vim打开的所有文件

2.6.3、多窗口功能

,作用:打开一个新窗口,如filename,表示在新窗口新打开一个新文件,否则表示两个窗口
为一个文件内容

[Cr]+w+j,作用:先按下Ctrl键不放,再按下w键后放开所有的按键,然后再按下j键,则光标可移动
到下方的窗口

[Ctrl]+w+ k,作用:同上,不过光标移动到上面的窗口

[CtrI]+ w+q,作用:结束离开当前窗口

2.7、nano编辑器

打开方式:在终端输入nano (无需下载)

显示结果如下图1所示:

指令提示如上图;

2.8、gedit编辑器

打开方式1:在终端输入gedit(无需下载)

打开方式2:在DASH中输入gedit,搜索出gedit的图标,点击图标即可打开gedit编辑器

方式1如下图2:

图2

因为vi编辑器比较常用,这两种编辑器就不介绍了。

三、gcc编译器

3.1、编译器使用

3.1.1、gcc编译流程

预编译、编译、汇编(生成目标文件)、连接(生成可执行的文件);

预编译(预处理):

主要处理C语言源文件中的#ifdef、#include,以及#define等命令,gcc编译器会忽略掉不需要预处理的输入文件,该阶段会生成中间文件*.i;

编译阶段:

输入的文件是*.i文件,编译后生成的是汇报文件*.s;(例如编译test.i文件,生成的文件就是test.s文件)

汇编阶段:

将输入的 汇编语言文件转换为目标代码,可以使用-c选项完成;

连接阶段:

将生成的目标文件与其他目标文件连接成可执行的二进制代码文件;

完整执行一个文件:

完整的将一个文件(test.c)一次性完成预处理、编译、汇编、连接、编译成可执行的文件

(test),执行test文件,需要加上参数-E、-S、-c,如果未使用该选项,则自动生成a.out可执行文件;

示例1:预编译test.c程序,将预编译结果输出到test.i

vim打开文件,vim 文件名(我这里是语句是vim test.c,先编辑出内容)

输入完成后,输入“:”号,进入末行模式,输入wq(完整的应该是:wq),作用是退出并保存该文件,按下回车;

预编译test.c程序,将预编译结果输出到test.i

查看test.i文件的内容(只从后面截了一部分,预编译内容较多):

示例2:使用vim编辑器创建一个文件hello_word.c,gcc编译该文件(hello_word.c),并输出hello world

注意点:当我们把全部内容输入完成时,按下Esc键结束,然后按下“:”切换模式,退出并保存;

把hello_word.c文件编译,并把结果输出到print_helloword文件

显示输出内容,执行当前工作路径下的可执行文件(是我们刚刚生成的文件);

3.1.2、gcc编译器的参数说明

总体参数选项如下:

-c,作用:编译或汇编源文件,但不进行连接

-S,作用:编译后即停止,不进行汇编及连接

-E,作用:预处理后即停止,不进行编译、汇编及连接

-g,作用:在可执行文件中包含调试信息

-o file,作用:指定输出文件file

-v,作用:显示Gcc的版本

-I dir,作用:在头文件的搜索路径列表中添加dir目录

-L dir,作用:在库文件的搜索路径列表中添加dir目录

-static,作用:强制使用静态连接库

-i library,作用:链接名为library的库文件

优化选项参数如下:

-O0,作用:不进行优化处理

-O1,作用:基本的优化,使程序执行得更快

-O2,作用:完成-O1级别的优化外,还要一些额外的调整工作,如处理器指令调度

-O3,作用:开启所有优化选项

-Os,作用:生成最小的可执行文件,主要用于嵌人式领域

警告和出错参数选项:

- ansi,作用:支持符合ANSI标准的C程序

-pedantic,作用:允许发出ANSI C标准所在列的全部警告信息

一W,作用:关闭所有警告

-Wall,作用:允许发出Gcc提供的所有有用的警告信息

一werror,作用:把所有的警告信息转换成错误信息,并在警告发生时终止编译

3.2、gdb调试器

3.2.1、gdb功能介绍(含命令参数)

监视或修改程序中变量的值;设置断点,以使程序在指定的代码行上暂停运行;单步执行或程序跟踪;

gdb常用调试命令:

break,作用:在代码里设置断点

c,作用:继续break后的执行

bt,作用:反向跟踪,显示程序堆栈

file,作用:装入想要调试的可执行文件

kill,作用:终止正在调试的程序

list,作用:列出产生执行文件的源代码的一部分

next,作用:执行一行源代码,但不进人函数内部

step,作用:执行一行源代码且进人函数内部

run,作用:执行当前被调试的程序

quit,作用:退出gdb

watch,作用:监视一个变量的值,而不管它何时改变

set,作用:设置变量的值

shell,作用:在gdb内执行Shell 命令

print,作用:显示变量或表达式的值

quit,作用:终止gdb调试

make,作用:不退出gdb的情况下,正新产生可执行文件

where,作用:显示程序当前的调用栈

调试示例:暂无,调试部分较为繁杂,要多练练;

四、使用编辑器与编译器的要点

4.1、编辑器三种工作模式的切换需要熟练掌握,多使用即可熟悉;

4.2、编译器的编译过程需要了解;

4.3、gcc 编译器不带参数时,会直接把编译文件的过程一步到位-->直接生成可执行文件在当前工作目录下,名称为a.out(如果没有使用-o参数指定文件名);

Linux(Ubuntu)操作系统,vi编辑器与gcc编译器的下载与使用(命令参数很详细)相关推荐

  1. 转 vi 编辑器,gcc 编译器的使用

    vi编辑器是我们在linux下经常使用的文本编辑器,这个东西也是专门为程序员准备的,基本上每个Unix和Linux系统都为我们提供了这个软件,我们可以使用vi来编写我们的代码.在vi编辑器下所有操作都 ...

  2. Linux下的vim编辑器与gcc编译器及静动态库的制作

    1.vim编辑器的使用: (1)vim的三种模式: 命令模式:打开文件默认进入命令模式 编辑模式:需要输入一些命令切换到编辑模式 末行模式:在末行模式可以输入一些命令 命令模式aios和AIOS都可以 ...

  3. ubuntu下 vi编辑器使用手册

    本文援引于   http://www.cnblogs.com/sophine/archive/2012/04/26/2471188.html ubuntu下 vi编辑器使用手册 文件编辑器 vi 作者 ...

  4. 【大数据前置基础】Linux系统中VI编辑器使用、文件目录操作、权限管理、Java安装

    VI编辑器使用.文件目录操作.网络配置.常用命令与shell编程 1 VI编辑器使用 2 文件目录的操作 2.1 ls 显示文件和目录列表 2.2 mkdir 创建目录 2.3 cd 切换目录 2.4 ...

  5. Ubuntu下vi编辑器方向键变成字母的解决方法

    Ubuntu下vi编辑器方向键变成字母的解决方法 非常简单的一个操作,只需2步,完美解决Ubuntu下vi编辑器方向键变字母的问题. 一.执行命令 sudo apt-get remove vim-co ...

  6. linux中在vi编辑器中执行存盘退出命令是?

    linux中在vi编辑器中执行存盘退出命令是? 方法一:首先需要按ESC键回到命令模式,然后按:wq. 方法二:按住shift再按两下'z'键.

  7. 宿主机windows Xp部署virtualBox虚拟机并在其上安装linux ubuntu操作系统

    在Windows操作系统上安装虚拟机VirtualBox,在虚拟机上部署Linux ubuntu操作系统: 一 虚拟机VirtualBox安装 1.下载Virtualbox:http://www.vi ...

  8. Linux中设置vi编辑器的编码格式以及使用

    Linux中设置vi编辑器的编码格式以及使用 vi ~/.vimrc set fileencodings=utf-8,gbk set termencoding=utf-8 set encoding=u ...

  9. delphi中richedit中光标如何定位到最后_嵌入式开发之Linux系统中Vi编辑器的使用

    请大家关注点赞,已经完成物联网相关开发,会从硬件层,硬件中间层,传输层,软件中间件(物联网云平台),APP开发相关博文.首先从嵌入式开发博文开始!上一节关于<>.本节关于Linux系统中V ...

最新文章

  1. ARTS打卡计划第一周-Share-系统字典模块的设计
  2. UVA-10954 Add All
  3. 期末计算机考试五五开要考多少分,大学平时分加上末考分过了多少算不挂科
  4. 学生计算机基础知识,初中计算机基础知识练习题集锦(学生)
  5. @请注意查收:《史上最全的AI论文资料》.pdf
  6. 玩转oracle 11g(18):数据库相关日志文件位置
  7. 有向加权图 最大弱连通分支_开盘引来大涨,当下股市最大的风险是它?
  8. Python输出帮助文档的方法及命令详解
  9. Java 中处理 Exception 的最佳实践
  10. Linux命令学习 ls
  11. 泵车砼活塞故障预警-冠军方案
  12. Rsyslog的模板template详解
  13. 有关Spring中Resource的继承关系(代码解读)
  14. 建筑师学python有用吗_建筑师为什么要学编程?
  15. PS教程新手入门(一)--去除图片上文字的方法(6种)
  16. redhat server 5.4 64 bit 下安装 RealTek RTL8111E 网卡
  17. VSCode好用的插件
  18. 迅雷太难用了,可以换其他的下载软件
  19. 市场份额持续下滑,博世面向中国市场“低头”了?
  20. 当SaaS遇上私域流量,小牛叮当如何做好B端服务?

热门文章

  1. 网站设计的思考网页版面布局的原理
  2. linux网卡移植rmII,TI am335x rmii双网口移植问题
  3. ESP32 GPIOV1_0
  4. html5网页怎么弄才高级,Html5高级
  5. NetSuite E-commerce 轻松把握电子商务新时代
  6. 飞书消息推送怎么换行?输入\n发送不成功怎么办?
  7. 群体优化算法------粒子群
  8. java-php-python-springboot智慧问诊系统计算机毕业设计
  9. asp.net904-中小型电商企业财务预算系统
  10. 关于数藏行业自律,元宇宙产业委为何要连发三次?