当前位置: 首页 > article >正文

Linux:基本开发工具

一:编辑器vim

1.1vim的基本概念

vim其实有多重模式,这里我们主要了解vim的三种模式,分别是命令模式(command mode),插入模式(Insert mode)和底行模式(lst line mode)

正常/普通/命令模式(Normal mode)                                                                                         

 控制光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者到底行模式。从命令模式到插入模式只需要按 i  即可,从命令模式到底行模式只需按shift + ;即冒号:即可

插入模式(Insert mode)         

只有在插入模式下我们才可以进行文字的输入,我们想从插入模式回到命令模式只需要按Esc键。该模式是我们后面用的最频繁的编辑模式                                                                                         

底行模式(last line mode)

通过底行模式,我们可以进行文章的保存和退出,也可以进行文件的替换,找字符串,列出行号等操作。从底行模式到命令模式只需按Esc键

微提醒:即从插入模式和底行模式进入到命令行模式只需按Esc键即可

1.2  vim的基本操作

进入vim

在系统提示符符号后面输入vim 及文件名称后我们就进入vim全屏幕编辑画面

 如上图所示:linux1是我们创建是文件的名称,通过命令行vim linux1我们就进入了vim的编辑画面,如下图。但是我们一开始进入到vim,vim处于命令模式,即不能进行任何操作,当我们按i键时就会进入插入模式就可以输入文字,插入模式如下图所示,画面最下面会出现INSERT的文字

[命令模式]  进入到  [插入模式]

  1. 输入i
  2. 输入a
  3. 输入o

[插入模式]  进入到  [命令模式] 

按Esc

 [命令模式]  进入到  [插入模式]

shift + ; 即冒号:

退出vim即保存文件

在命令模式下时按一下shift + ;进入底行模式

  1. 输入w(保存当前文件)
  2. 输入wq(保存当前文件并退出vim)
  3. 输入q!(不保存文件并退出vim)

1.3vim命令模式命令集

  • 切换至插入模式
  1. 按【i】键切换进入插入模式,按【i】进入插入模式后是从光标当前位置开始输入文字
  2. 按【a】进入插入模式后是从当前光标所在位置的下一个位置开始输入文字
  3. 按【o】进入插入模式后是插入新的一行,从行首开始输入文字
  • 从插入模式切换到命令模式
  1. 按【Esc】键
  • 移动光标
  1. vim可以直接用键盘上的光标来上下移动,但正规的vim是用小写英语字母【h】【j】【k】【l】,分别来控制光标的左、下、上、右的移动
  2. 按【G】:移动到文章的最后
  3. 按【$】:移动光标到所在行的行首
  4. 按【^】:移动光标到所在行的行尾
  5. 按【w】:光标跳到下个字的开头
  6. 按【e】:光标跳到下个字的结尾
  7. 按【b】:光标回到上个字的开头

 

        如上两张图:

        我们可以看到第一张图中,本来光标所在位置为d,当我们按一下【b】键时,光标就会跳回到e的位置,即上一个字的开头处

        8.按【nl】:光标移动到改行的第n个位置

     

        如上两张图:光标本来在第5行字符p的前面,当我按5l的时候,光标就会移动到字符f的位置

        9.按【gg】:光标移动到文本的开头

     

      如上两张图,光标本来在第5行的字符f处,按【gg】后光标就移动到第一行的第一个字符处

        10.按【shift + G】:

        

        如上两张图,光标本来在文本的开始处,按【shift + G】后,光标就移动到文本的末尾了

        11.按【Ctrl】+ 【b】:屏幕向后移动一页

        12.按【Ctrl】+ 【f】:屏幕向前移动一页

        13.按【Ctrl】+ 【u】:屏幕向后移动半页

        14.按【Ctrl】+ 【d】:屏幕向前移动半页

  • 删除文字

      1.【x】:删除光标所在位置的字符

        

如上面两张图所示:光标原本在第9行的p字符的位置,按下【x】键p字符就已经被删除,人就称为首字符

    2.【nx】:删除包括自己在内的往后n个字符,如【6x】表示删除包括光标所在位置往后的6个字符

如上面两张图:光标原本在第10行的字符h的位置,按4x后happ都被删除

3.【X】:大写的X,删除光标所在位置的前面一个字符

如上面两张图所示:按下【X】键,光标前面的字符v被删除了

4.【nX】:删除光标所在位置前面的n个字符,如【20X】表示删除光标所在位置的前20个字符

如上面两张图所示:按下【5X】键,光标前面的字符串appye被删除了

5.【dd】:删除光标所在行

如上面两张图所示:按下【dd】键,光标所在行第8行被删除了

6.【ndd】:从光标所在行开始删除n行

  • 复制

        1.【yw】:将光标所在之处到字尾的字符复制到缓冲器中

        2.【nyw】:复制n个字符到缓冲区

        3.【yy】:复制光标所在行到缓冲区

       

        如上面两张图所示:光标位于第5行,当我们按一下【yy】键就将第5行的内容复制了,再按一下【p】键就将所复制的内容拷贝至第5行,那么原来的第5行就会往下移动1行,光标也因此向下移动一行

        4.【nyy】:拷贝从光标所在行往下数n行文字

        

        如上面两张图所示:光标原本在第7行,当我按下【5yy】时就会将包括第7行在内往下数的5行复制,即第7、8、9、10、11行的内容复制下来了,再按一下【p】键就会将复制的5行内容拷贝下来

        5.【p】:将缓冲区内的字符贴到光标所在的位置

  • 替换

        1.【r】:替换光标所在处的字符

        

如上面两张图所示:原本光标所在位置的字符为p,当我们按下【r】键时,然后再按数字1,那么光标所在位置的字符就被改成了数字1 

        2.【R】:替换光标所到之处的字符,直到按下【Esc】键位止。即一直替换光标所在位置的字符

如上两张图所示:当按下【R】键时,然后我们不停输入按键盘上的任意键,那么显示屏上的字符就会发生相应的改变,直到我们按下【Esc】键为止

        微提醒:其实当我们使用【r】或者【R】进行文本的替换的时候其实vim已经处于替换模式下了,此时的vim的左下方就会出现【REPLACE】的字符

  • 撤销上一次的操作

        1.【u】:如果你误执行了一个命令,可以按下【u】键,回到上一个操作。按多次【u】可以执行多次撤销

        

        如上两张图所示:本来在上一个操作中我们已经一口气将第9行改成了1234eedfuu89y\n");但是我们现在后悔了想让它变成之前的样子,这时候我们只需要按下【u】键就可以将第9行又变成之前的样子

        2.【Ctrl】+ 【r】:撤销的恢复

如上两张图所示:现在我们又后悔了想将第9行又变回之前的1234eedfuu89y\n");,这时候我们只需按下【Ctrl】+ 【r】键就可以达成这个效果

微提醒:如果我们按下【u】键后悔了想回到恢复到上一个操作的内容只需要按【Ctrl】+【r】键,按下【Ctrl】+【r】键我们又后悔了又想恢复上一个操作的内容只需要按【u】键。总额言之就是按【u】键后悔了就按【Ctrl】+【r】键,按【Ctrl】+【r】键后悔了就按【u】键。

  • 更改

        1.【cw】:更改光标所在处的字到字尾处

        2.【cnw】:更改n个字。例如【c3w】表示更改3个字

  • 跳转至指定的行 

        1.【Ctrl】+【g】:列出光标所在行的行号

        2.【nG】:表示移动光标到文本的第n行行首。例如【15G】表示移动光标到文本的第15行行首

如上两张图所示:光标原本位于第1行,当我按下11+shift+g即11+G的时候光标就会跳到11行的行首

1.4vim底行模式命令集

在使用底行模式之前,记得先按【Esc】键确保你已经处于命令模式,再按冒号:即可切换到底行模式

  • 列出行号

        输入【set nu】后,文本中每一行的前面都会列出行号

        

如上三张图所示:原本文本是没有行号的,当我们切换至底行模式并输入set nu命令后文本的每一行的行首都出现了对应的行号

  • 跳到文本的某一行

      

如上三张图所示:原本光标位于文本的第1行,当我们切换到底行模式并输入数字9后,光标就会跳到第9行的行首        

  • 保存文本

        按【w】键就可以将文本保存起来

  • 退出vim

        1.按【q】键就会退出vim,如果无法离开vim,可以在【q】后面跟一个【!】表示强制退出vim,即【q!】

        2.按【wq】表示保存文本并退出vim,一般推荐这种方式退出vim

1.5 vim的操作总结

  • 三种模式

        1.命令模式

        2.插入模式

        3.底行模式

  • vim的操作

        打开,关闭,查看,查询,插入,删除,替换,撤销,复制,粘粘等操作

2.  编辑器gcc/g++

2.1 背景知识

  1.  预处理(进行宏替换,去除注释,条件编译,头文件展开等)
  2. 编译(生成汇编)
  3. 汇编(生成机器可识别代码)
  4. 链接(生成可执行文件或者库文件)       

2.2 gcc编译选项

格式:

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

2.2.1预处理(进行宏替换)
  • 预处理功能主要包括宏定义,文件包含,条件编译,去注释等
  • 预处理指令是以#开头的代码行
  • 实例:gcc   -E    hello.c   -o   hello.i
  • 选项-E的作用是让gcc在编译结束后停止进行编译过程
  • 选项-o是指目标文件,“.i”文件为已经预处理的C原始程序
2.2.2编译(生成汇编)
  • 在这个阶段中,gcc首先要检查代码的规范性,是否有语法错误等,以确定代码的实际要做的工作,在检查无误后,gcc把代码翻译成汇编语言
  • 用户可以使用  “-S”  选项进行查看,该选项只进行编译二不进行汇编,生成汇编代码
  • 实例:gcc   -S   hello.i   -o   hello.s
2.2.3汇编(生成机器可识别代码)
  • 汇编阶段是把编译阶段生成的  “.s”  文件转化为目标文件
  • 用户可以使用选项  “-c”  进行查看,该选项将汇编代码转化为  “.o”  的二进制目标代码
  • 实例: gcc   -c   hello.s   -o   hello.o 
2.2.4链接(生成可执行文件或者库文件)
  • 在成功编译之后,就进入了链接阶段
  • 实例:gcc   hello.o   -o   hello 

http://www.kler.cn/a/389093.html

相关文章:

  • Fastapi使用MongoDB作为数据库
  • C++20 中最优雅的那个小特性 - Ranges
  • 软件测试面试八股文(超详细整理)
  • Python用CEEMDAN-LSTM-VMD金融股价数据预测及SVR、AR、HAR对比可视化
  • 谷歌浏览器的自动翻译功能如何开启
  • MicroPythonBLEHID使用说明——蓝牙鼠标
  • 【go从零单排】Rate Limiting限流
  • 成都爱尔小儿眼科及视光团队多人当选“近视防控专家委员会委员”
  • CSS3_3D变换(七)
  • Vue CLI 脚手架
  • ubuntu 22.04 防火墙 ufw
  • imu_tk配置教程(锁死ubuntu18.04,不要22.04)
  • Spark的yarn集群环境搭建
  • C++ OpenCV 理想滤波
  • 挖掘web程序中的OAuth漏洞:利用redirect_uri和state参数接管账户
  • linux centos 安装redis
  • Qt_day4_Qt_UI设计
  • 骨传导耳机排行榜前十分享:十大超值骨传导耳机测评推荐!
  • NoSQL大数据存储技术测试(3)Hadoop和HBase简介
  • AI产品经理:新兴行业的新宠儿,站在风口上的猪都能飞上天
  • UI组件---如何设置el-pagination分页组件的背景色
  • 13. Node.js会话控制
  • Redis穿透、击穿、雪崩
  • PHP常用的安全函数作用
  • 建立更及时、更有效的安全生产优化提升策略的智慧油站开源了
  • 2.ARM_ARM是什么