码迷,mamicode.com
首页 > 系统相关 > 详细

linux 的简单应用

时间:2016-05-29 23:31:23      阅读:529      评论:0      收藏:0      [点我收藏+]

标签:vim gdb gcc/g++ ctags

linux编辑器的使用

vim:

vim是vi的升级版,基本可以分为三种状态:命令模式、插入模式、底行模式;

vim的基本操作:

vim test.c     就进入了去全屏编辑画面,此时是命令模式,你要切换到插入模式才可以编辑文字;

命令模式:

h j k l分别控制光标的上 、下、左、右移动;按“G”移到文章的最后,“$”移动到光标所在行的行尾,“^”移动到光标所在行的行首;gg进入到文本的开始;

删除文字:

「 x」:每按一次,删除光标所在位置的一个字符。

  「 #x 」:例如,「 6x」表示删除光标所在位置的 “ 后面(包含自己在内) ”6 个字符。

   「 X」:大写的 X ,每按一次,删除光标所在位置的 “ 前面 ”一个字符。

  「 #X 」:例如,「 20X」表示删除光标所在位置的 “ 前面 ”20个字符。

   「 dd」:删除光标所在行。

  「 #dd 」:从光标所在行开始删除 # 行

复制:

「 yw」:将光标所在之处到字尾的字符复制到缓冲区中。

  「 #yw 」:复制 #个字到缓冲区

   「 yy」:复制光标所在行到缓冲区。

  「 #yy 」:例如,「 6yy」表示拷贝从光标所在的该行 “ 往下数 ”6行文字。

   「 p」:将缓冲区内的字符贴到光标所在位置。

注意:所有与 “y” 有关的复制命令都必须与 “p” 配合才能完成复制与粘贴功能。

替换:

  「r 」:替换光标所在处的字符。

    「 R」:替换光标所到之处的字符,直到按下「 ESC 」键为止。

撤销上一次操作:

 「u 」:如果您误执行一个命令,可以马上按下「 u 」,回到上一个操作。按多次 “u” 可以执行多次回复。

更改:

「 cw」:更改光标所在处的字到字尾处

「 c#w 」:例如,「 c3w」表示更改 3 个字

跳到指定的行:

「 ctrl」 + 「g 」列出光标所在行的行号。

[ #G」:例如,「 15G 」,表示移动光标至文章的第 15 行行首。

Ctrl+f    向前翻屏

Ctrl+b   向后翻屏

Ctrl+d   向前翻半屏

Ctrl+u   向后翻半屏

插入模式:

怎么切换到插入模式呢?在命令行模式下按下字母“i”或“a”即可,按“o”也可以但插入的是一整行;按ESC退出插入模式进入命令模式;

区别:但 i 进入后是指到光标的位置,而 a 是指到光标的下一个位置;

底行模式:

在命令模式下,按shift+:就进入了底行模式,w保存当前文件;wq存盘并退出;q!不存盘强制退出;

A.  列出行号:

「 set nu」:输入「 set nu 」后,会在文件中的每一行前面列出行号;

B.  调到文件中的某一行:

「 # 」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字 5 ,再回车,就会跳到文章的第 5 行。

C.  查找字符:

  「/ 关键字」:先按「 / 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「 n 」会往后寻找到您要的关键字为止。

 「 ? 关键字」:先按「 ?」键,再输入您想寻找的字符,如果第一次找的

关键字不是您想要的,可以一直按「 n 」会往前寻找到您要的关键字为止。

/ 和 ?查找有和区别?

/ :技术分享技术分享

?:技术分享

gcc/g++的使用

编译的过程:a.预处理(进行宏替换)b.编译(生成汇编)c.汇编(生成机器可识别的代码)d.连接(生成可执行文件或库文件)

预处理(进行宏替换):

预处理过程还会删除程序中的注释和多余的空白字符;预处理指令是以#开头的代码行;

例如:gcc –E hello.c –o hello.i

选项 “-E”进行查看 , 该选项的作用是让 gcc 在 预处理结束后停止编译过程 。

选项 “-o”是指目标文件 ,“.i” 文件为已经过预处理的 C 原始程序。

编译(生成汇编):

gcc首先检查代码的规范性,是否有语法错误等,检查无误后gcc吧代码翻译成汇编语言;

把 .i 文件转换为.s 文件;

例如: 

gcc –S hello.i –o hello.s

汇编的过程:(生成机器可识别的代码)

把 .s 文件转为目标文件.o;

gcc -C test.s -o test.o;

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

gcc test.o -o test;

gdb(linux调试器)使用

gcc -g test.c -o test;

gdb test;

退出:ctrl+d或quit;

list 1:从第一行开始列出十行;可以按n继续上次操作;

r 或run :运行程序。

s 或step :进入函数调用

breaktrace( 或bt) :查看各级函数调用及参数

info (i) locals :查看当前栈帧局部变量的值

info break :查看断点信息。

finish :执行到当前函数返回,然后挺下来等待命令

print(p) :打印表达式的值,通过表达式可以修改变量的值或者调用函数

set var :修改变量的值

quit :退出gdb

break(b) 行号:在某一行设置断点

break 函数名:在某个函数开头设置断点

continue( 或c) :从当前位置开始连续而非单步执行程序

run( 或r) :从开始连续而非单步执行程序

delete breakpoints :删除所有断点

delete breakpoints n :删除序号为 n的断点

disable breakpoints :禁用断点

enable breakpoints :启用断点

info( 或i) breakpoints :参看当前设置了哪些断点

display 变量名:跟踪查看一个变量,每次停下来都显示它的值

undisplay :取消对先前设置的那些变量的跟踪

until X 行号:跳至 X行

直接回

n 或 next :单条执行。

p 变量:打印变量值。

ctags(linux代码查看)工程常用使用

ctags -R : 在当前目录下建立索引。

ctrl + ]:跳转到函数或变量的定义处。

ctrl + T : 跳转至上级


本文出自 “溪风” 博客,请务必保留此出处http://xiexiankun.blog.51cto.com/10785425/1784248

linux 的简单应用

标签:vim gdb gcc/g++ ctags

原文地址:http://xiexiankun.blog.51cto.com/10785425/1784248

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!