Linux vi/vim编辑器指令与详细用法,gcc的用法

目录

gcc c编译的工具链

vi/vim编译器

vi与vim的区别

进入vi/vim编辑器

退出vi/vim编辑器

vi/vim的三种模式

三种模式的介绍

三种模式之间的转换(重点)

 命令模式

光标移动

复制操作

剪切与删除

撤销与恢复

光标的快速移动

末行模式

编辑模式

vim中的计算器

vi/vim的配置文件


gcc c编译的工具链

g++ C++编译器的工具链
gcc xxx.c //默认生成可执行a.out文件
gcc xxx.c -o xx//生成名为xx的可执行文件名

例如

gcc 1.c        #编译1.c文件
chmod +x 1.c   #给1.c文件执行权限,chmod是修改权限指令,+x是增加执行权限
./1.c          #运行1.c文件

gcc 1.c -o 1   #编译1.c文件,并生成1文件
chmod 777 1    #给1文件执行权,777与+x的作用类似,即给文件所有者,用户组用户,其他用户全部权限
./1            #运行1可执行文件

如果我们是写一个工程,那么肯定不止一个.c文件了,同时要引用到其他.c 文件,如,我们在main.c文件里,还#include "yi.h",和#include "er.c",这时候我们就应该用一下指令

gcc main.c yi.c er.c -o 1     #可执行文件名自己取
chmod +x 1    
./1

必须要将用到的所有.c文件一起编译,并给一个可执行文件。

文件给过一次权限后,之后修改直接编译再运行即可,不需要再次给权限。

vi/vim编译器

vi与vim的区别

它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

所以说,vim有许多vi没有的功能

1、多级撤消

我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。

2、易用性

vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

3、语法加亮

vim可以用不同的颜色来加亮你的代码。

4、可视化操作

就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。

5、对vi的完全兼容

某些情况下,你可以把vim当成vi来使用


进入vi/vim编辑器

vim 文件路径 作用:打开指定的文件作用:打开指定的文件
vim +数字 文件的路径作用:打开指定的文件,并且将光标移动到指定行
vim +/关键词 文件的路径作用:打开指定的文件,并且高亮显示关键词
vim 文件路径1 文件路径2 文件路径3作用:同时打开多个文件

退出vi/vim编辑器

命令含义
:q不保存退出
:q!强制退出
:wq保存并退出
:w filename 把内容保存到filename指定的文件中去(另存为)
:x可能保存、可能不保存并退出

 

 


注意,“:wq”与 “ :x ”是有区别的,“:wq”就是保存并退出,而“:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出;
如果文件没有被修改,但是使用wq进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新的;主要是会混淆用户对文件的修改时间的认定。

因此建议以后使用“:x”来进行对文件的保存退出。
但是:不要使用X,不要使用X,不要使用X,X表示对文件进行加密操作。

vi/vim的三种模式

三种模式的介绍

这三种模式分别是,命令模式,编辑模式(输入模式),末行模式(尾行模式)

  1. 命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)【打开文件之后默认进入的模式】;
  2. 编辑模式:在该模式下可以对文件的内容进行编辑;
  3. 末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等);

三种模式之间的转换(重点)

命令模式:也是默认的模式,在外面用进入vi/vim编辑器的命令进入vi/vim时,就默认是这个模式。

末行模式:在命令模式下输入 “:”英文冒号,即可进入末行模式;按一下Esc退出末行模式,返回命令模式;按两下Esc;删除末行模式中全部命令。

编辑模式:在命令模式下按 i ,或 a ,等进入编辑模式;按Esc退出编辑模式,返回命令模式。

 

 命令模式

该模式是打开文件的第一个看到的模式(打开文件即可进入)

光标移动

①光标移动到行首
按键:shift + 6 或 ^(T字母上面的6,不要按小键盘的6)

②光标移动到行尾
按键:shift + 4 或 $(R字母的左上角的4,不是小键盘的4)

③光标移动到首行
按键:gg

④光标移动到末行
按键:G

⑤翻屏
向上翻屏:按键ctrl + b (before) 或 PgUp
向下翻屏:按键ctrl + f (after) 或 PgDn

复制操作

①复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p键

②以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字yy

③可视化复制
按键:ctrl + v(可视块)或V(可视行)或v(可视),然后按下↑↓← →方向键来选中需要复制的区块,按下y键进行复制,最后按下p键粘贴

剪切与删除

①剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果。

②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字dd (删除之后下一行上移)

③剪切/删除光标所在的当前行之后的内容,但是删除之后下一行不上移
按键:D (删除之后当前行会变成空白行)

④可视化删除
按键:ctrl + v(可视块)或V(可视行)或v(可视),上下左右移动,按下D表示删除选中行,d表示删选中块

撤销与恢复

撤销:输入:u (不属于命令模式) 或者 u (undo)
恢复:ctrl + r 恢复(取消)之前的撤销操作

光标的快速移动

①快速将光标移动到指定的行
按键:数字G

②以当前光标为准向上/向下移动n行
按键:数字↑,数字↓

③以当前光标为准向左/向右移动n字符
按键:数字←,数字→

④末行模式下的快速移动方式:移动到指定的行
按键:输入英文“:”,其后输入行数数字,按下回车


末行模式

  • 进入方式:由命令模式进入,按下“:”或者“/(表示查找)”即可进入
  • 退出方式:
    a. 按下esc
    b. 连按2次esc键
    c. 删除末行全部输入字符

①保存操作(write)
输入:“:w” 保存文件
输入:“:w 路径” 另存为

②退出(quit)
输入:“:q” 退出文件

③保存并退出
输入:“:wq” 保存并且退出

④强制 (!)
输入:“:q!” 表示强制退出,刚才做的修改操作不做保存

⑤调用外部命令(了解)
输入:“:!外部命令”

⑥搜索/查找
输入:“/关键词”  (在搜索结果中切换上/下一个结果:N/n (next);如果需要取消高亮,则需要输入:“:nohl”【no highlight】)

⑦替换
:s/搜索的关键词/新的内容           替换光标所在行的第一处符合条件的内容
:s/搜索的关键词/新的内容/g        替换光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容         替换整个文档中每行第一个符合条件的内容
:%s/搜索的关键词/新的内容/g      替换整个文档的符合条件的内容

%表示整个文件
g表示全局(global)

:2,5s/a/A/g    #把2到5行的a替换成A
:%s/a/A/g      #把全文的a替换成A

⑧显示行号(临时)
输入:“:set nu”[number]
如果想取消显示,则输入:“:set nonu”

⑨扩展2:使用vim同时打开多个文件,在末行模式下进行切换文件
查看当前已经打开的文件名称:“:files”

%a的位置有2种显示可能

  1. %aa=active,表示当前正在打开的文件;
  2. #:表示上一个打开的文件

切换文件的方式:
a. 如果需要指定切换文件的名称,则可以输入:“:open 已经打开的文件名”

b. 可以通过其他命令来切换上一个文件/下一个文件
输入:“:bn”切换到下一个文件(back next)
输入:“:bp”切换到上一个文件(back prev)


编辑模式

进入编辑模式的指令有很多,外面一一解释

按下的按键按下后进入编辑模式的状态
a在当前光标位置的右边添加文本 
i在当前光标位置的左边添加文本 
A在当前行的末尾位置添加文本 
I在当前行的开始处添加文本(非空字符的行首) 
O在当前行的上面新建一行 
o在当前行的下面新建一行 
R替换(覆盖)当前光标位置及后面的若干文本 
J合并光标所在行及下一行为一行(依然在命令模式) 

退出:按Esc键


 

vim中的计算器

当在编辑文件的时候突然需要使用计算器去计算一些公式,则此时需要用计算器,但是需要退出,vim自身集成了一个简易的计算器。

a. 进入编辑模式
b. 按下按键“ctrl + R”,然后输入“=”,此时光标会变到最后一行
c. 输入需要计算的内容,按下回车


vi/vim的配置文件

       

.vimrc 
vim ~/.vimrc

 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勾栏听曲_0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值