linux 开发工具

Linux开发工具(vim、gcc、gdb、make、git/github)
文本编辑器:vim(功能最强大) 
  1、使用:
  三种模式:命令行模式、插入模式、底行模式
  “vim+空格+文件名”  例如vim hello.c   
 此时是命令行模式 无法插入数据 需要进入插入模式  :按i或者a    
退出插入模式 按esc 切换到命令行模式 ,再按“shift+:” 进入底行模式  输入wq! 保存退出 (!强制退出)
set number 显示行号  set autoindent缩进    set cursorline标记行    vim /etc/vim/vimrc  编辑配置文件 set number        
修改之前做备份 拷贝到home或共享文件夹

 

 


vim命令模式的操作(粘贴 复制 删除 恢复)

粘贴   p: 在光标之后粘贴。
          P: 在光标之前粘贴。
删除:c[n]w: 改写光标后1(n)个词。
          c[n]l: 改写光标后n个字母。
          c[n]h: 改写光标前n个字母。
          [n]cc: 修改当前[n]行。
          [n]s: 以输入的文本替代光标之后1(n)个字符,相当于c[n]l。
          [n]S: 删除指定数目的行,并以所输入文本代替之。
          d[n]w: 删除(剪切)1(n)个单词
          d[n]l: 删除(剪切)光标右边1(n)个字符。[n]x: 剪切光标右边n个字符,相当于d[n]l。
          d[n]h: 删除(剪切)光标左边1(n)个字符。 [n]X: 剪切光标左边n个字符,相当于d[n]h
          d0: 删除(剪切)当前位置到行首的内容
          [n] dd: 删除(剪切)1(n)行。
          :m,nd<cr> 剪切m行到n行的内容。
          d1G或dgg: 剪切光标以上的所有行。
          dG: 剪切光标以下的所有行。
          daw和das:剪切一个词和剪切一个句子,即使光标不在词首和句首也没关系。
          d/f<cr>:这是一个比较高级的组合命令,它将删除当前位置 到下一个f之间的内容。
复制:y: 复制在可视模式下选中的文本。
          yy or Y: 复制整行文本。
          y[n]w: 复制一(n)个词。
          y[n]l: 复制光标右边1(n)个字符。
          y[n]h: 复制光标左边1(n)个字符。
恢复:[n] u: 取消一(n)个改动。
          :undo 5 – 撤销5个改变。
          :undolist – 你的撤销历史。
          ctrl + r: 重做最后的改动。
          U: 取消当前行中所有的改动。
          :earlier 4m – 回到4分钟前
          :later 55s – 前进55秒

 

vim底行模式的操作(查找 替换 多文件编辑 另存为)
查找:/something: 在后面的文本中查找something。
          ?something: 在前面的文本中查找something。
          /pattern/+number: 将光标停在包含pattern的行后面第number行上。
          /pattern/-number: 将光标停在包含pattern的行前面第number行上。
          n: 向后查找下一个。
          N: 向前查找下一个。
替换:r: 替换光标处的字符,同样支持汉字。
          R: 进入替换模式,按esc回到正常模式。
多文件编辑:使用:next(:n)编辑下一个文件。
                     :2n 编辑下2个文件。
                    使用:previous或:N编辑上一个文件。
                    使用:wnext,保存当前文件,并编辑下一个文件。
                    使用:wprevious,保存当前文件,并编辑上一个文件。
                    使用:args 显示文件列表。
                    :n filenames或:args filenames 指定新的文件列表。
                    vi -o filenames 在水平分割的多个窗口中编辑多个文件。
                    vi -O filenames 在垂直分割的多个窗口中编辑多个文件
另存为:
10个命令:

 

 

vim粘贴: p       复制整行  nyy      删除:dd ndd(多行)   恢复:u
查找:/+查找内容    或   ?+查找内容  
替换:s/hello/hi      将hello替换为hi(第一个)     s/hello/hi/g(替换全行)     5,10  s/hello/hi/g(5到10行)   5,10  s/hello/hi/gc  (5到10行每个询问是否替换)
          %s/hello/hi/g  (全文)         g:全行  c:询问  %:全文替换
另存为:3,12 w demo.c (3到12行另存到)   r demo.c()   w为写 r为读
多文件编辑:vim+多个文件  n demo.c(跳转到demo.c)n+空格+文件名   files:查看所有编辑文件   法二:底行模式下 sp+分屏显示的文件    Ctrl+w+g 下一个     Ctrl+g+w 上一个
Ctrl+n  补全检索内容  
Linux开发工具
编译器gcc(编译选项、静态库和动态库的制作和使用)
    gcc的特点:能过实现交叉编译   ***交叉编译:在当前CPU平台能够编译出在其他CPU平台运行的代码 不同CPU有不同的汇编
    预处理 编译 汇编 链接   硬件的复杂操作用:c  
    预处理:头文件展开  宏替换   条件编译   预处理指令#line   #error   只进行预处理 :gcc -E 文件名 预处理不检查语法错误 
     gcc-S 文件名       编译阶段检查语法错误
     gcc-c   生成目标文件 汇编阶段
     链接:建立符号表
     gcc 文件名(demo.c) -o 重命名 (demo)
     gcc-w 关闭警告     gcc-wall 警告打开 
     库文件:保存函数和变量 只能使用 不能看到其实现        静态库:使用静态库编译程序 是在编译时加载  后缀 .a  动态库:使用动态库编译程序  是在运行时加载  后缀 .so
     区别:静态库生成的程序较大 占用内存大  后者反之       
     Linux的库文件存放位置:/lib      /usr/lib

  
    头文件展开:vim /usr/include/stdio.h
                        gcc -E 文件名(hello.c) > hello.i
                        #include<stdio.h> #include"stdio.h"   区别 :搜索路径不同 前:系统的头文件目录(/usr/include)后:先在当前目录搜索 然后到系统的头文件目录
  
   pc:x86体系结构           移动终端:arm系统结构

-r:指定头文件的第三方搜索路径   

  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值