网站网络营销外包,木材加工公司网站建设,行业网站推广什么意思,艺术公司网站定制中心Linux工具使用 Vim编辑器使用Vim的基本概念vim的基本操作vim正常模式命令集vim底行模式命令集 gdb调试器使用背景使用 Vim编辑器使用
Vim的基本概念
vim我们所需要掌握的有三种模式#xff0c;分别是命令模式、插入模式、底行模式。
正常/普通/命令模式 控制屏幕光标移动分别是命令模式、插入模式、底行模式。
正常/普通/命令模式 控制屏幕光标移动字符、字或行的删除移动复制某区域段及进入插入模式下或者到底行模式。插入模式 只有在插入模式下才能做文字输入按ESC回到命令模式。该模式常用于编辑是我们最常使用的。底行模式 文件保存或退出文件替换找字符串列出行号等操作。在命令模式下按 shift即可进入该模式
vim的基本操作
输入 vim test.c 进入编辑界面但是刚开始进入是处于命令模式的。命令模式切换至插入模式 输入a输入i输入o 插入模式切换至正常模式 输入ESC 命令模式切换至底行模式 输入 shift 退出vim及保存文件在命令模式下切换至底行模式 输入w保存当前文件输入wq保存并退出输入q不保存强制退出
vim正常模式命令集
插入模式 按「i」切换进入插入模式「insert mode」按“i”进入插入模式后是从光标当前位置开始输入文件按「a」进入插入模式后是从目前光标所在位置的下一个位置开始输入文字按「o」进入插入模式后是插入新的一行从行首开始输入文字。 从插入模式切换为命令模式 按「ESC」键。 移动光标 vim可以直接用键盘上的光标来上下左右移动但正规的vim是用小写英文字母「h」、「j」、「k」、「l」分别控制光标左、下、上、右移一格按「G」移动到文章的最后按「 $ 」移动到光标所在行的“行尾”按「^」移动到光标所在行的“行首”按「w」光标跳到下个字的开头按「e」光标跳到下个字的字尾按「b」光标回到上个字的开头按「#l」光标移到该行的第#个位置如5l,56l按gg进入到文本开始按shiftg进入文本末端按「ctrl」「b」屏幕往“后”移动一页按「ctrl」「f」屏幕往“前”移动一页按「ctrl」「u」屏幕往“后”移动半页按「ctrl」「d」屏幕往“前”移动半页 删除文字 「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”可以执行多次恢复。「ctrl r」: 撤销的恢复 更改 「cw」更改光标所在处的字到字尾处「c#w」例如「c3w」表示更改3个字 跳至指定的行 「ctrl」「g」列出光标所在行的行号。「#G」例如「15G」表示移动光标至文章的第15行行首。
vim底行模式命令集
在使用末行模式之前请记住先按「ESC」键确定您已经处于正常模式再按「」冒号即可进入末行模式。 列出行号 「set nu」: 输入「set nu」后会在文件中的每一行前面列出行号。 跳到文件中的某一行 「#」:「#」号表示一个数字在冒号后输入一个数字再按回车键就会跳到该行了如输入数字15再回车就会跳到文章的第15行。 查找字符 「/关键字」: 先按「/」键再输入您想寻找的字符如果第一次找的关键字不是您想要的可以一直按「n」会往后寻找到您要的关键字为止。「?关键字」先按「?」键再输入您想寻找的字符如果第一次找的关键字不是您想要的可以一直按「n」会往前寻找到您要的关键字为止。 保存文件 「w」: 在冒号输入字母「w」就可以将文件保存起来 离开vim 「q」按「q」就是退出如果无法离开vim可以在「q」后跟一个「!」强制离开vim。「wq」一般建议离开时搭配「w」一起使用这样在退出的时候还可以保存文件
gdb调试器使用
背景
程序的发布方式有两种debug模式和release模式Linux gcc/g出来的二进制程序默认是release模式要使用gdb调试必须在源代码生成二进制程序的时候, 加上 -g 选项
使用
退出quit
调试命令
l 行号显示binFile源代码接着上次的位置往下列每次列10行。listl 函数名列出某个函数的源代码。r或run运行程序。n 或 next单条执行。s或step进入函数调用break(b) 行号在某一行设置断点break 函数名在某个函数开头设置断点info break 查看断点信息。finish执行到当前函数返回然后挺下来等待命令print§打印表达式的值通过表达式可以修改变量的值或者调用函数p 变量打印变量值。set var修改变量的值continue(或c)从当前位置开始连续而非单步执行程序run(或r)从开始连续而非单步执行程序delete breakpoints删除所有断点delete breakpoints n删除序号为n的断点disable breakpoints禁用断点enable breakpoints启用断点info(或i) breakpoints参看当前设置了哪些断点display 变量名跟踪查看一个变量每次停下来都显示它的值undisplay取消对先前设置的那些变量的跟踪until X行号跳至X行breaktrace(或bt)查看各级函数调用及参数infoi) locals查看当前栈帧局部变量的值quit退出gdb