Linux vim使用

Vi是Linux系统中一种文本编辑器。vi相对来说比较小,你可以在任何Linux系统使用它。

基本操作

在系统提示字符下键入: vim <文件名称>,则进入要编辑的文件。

如果要离开vim:可以在指令模式下键入

:q   退出vim             :q!  不保存强制退出vim

:wq 保存后再离开          :x   保存后再离开

在插入模式和底行模式下用[Esc]键切换到命令行模式。

Vi的三种模式:命令行模式、底行模式、插入模式。

命令行模式:控制光标的移动,字符、字或行删除,移动复制某区段及输入模式

开始编辑命令

i           在光标前输入文本

I           在当前行开始输入文本

a          在光标后输入文本

A          在当前行末尾输入文本

o          在当前行后输入新一行

O          在当前行前输入新一行

光标移动:

b      移动到当前单词的开始  

e      移动到当前单词的结尾

w     向后移动一个单词

h      向前移动一个字符 ←

j         向下移动一行 ↓

k      向上移动一行 ↑

l       向后移动一个字符 →

删除

x      删除光标所在的字符

dw    删除光标所在的单词

d$     删除光标至行尾所有字符

D      同 <d$>

dd     删除当前行

ndd   删除当前行以后的n行

改变与替换:

r      替换光标所在的字符

R      替换字符序列

cw  =   ce  替换一个单词

c$  =  C    替换自光标位置至行尾的所有字符

cc     替换当前行

拷贝与粘贴

yw     将光标所在单词复制到粘贴板   

y$  =  Y   将光标至行尾的字符复制到粘贴板

yy      将当前行复制到粘贴板

nyy    将当前行后的n行复制到粘贴板

p      将粘贴板中的内容粘贴在光标前

P      将粘贴板中的内容粘贴在光标后

其他命令

nG                跳到第n行  

u                  撤销

.                重做

 查找:用法:将光标移动到一个括号上,按下%,光标跳转到其配对的括号上

{}、()

 

页面操作:

ctrl + b              #向前移动一页

ctrl + f               #向后移动一页

zz                     #将当前行置于屏幕中央

gg                     #移动到第一行行首

G                      #移动到最后一行行首

数字 + 命令:

nG                     #跳到第n行

nx                     #删除n个字符

ndd                   #删除当前行以后的n行

nyy                   #将当前行后的n行复制到粘贴板

n+                    #向后跳转n行

n-                     #向前跳转n行

n↑↓←→         #向上下左右跳转n次

底行模式

设置

全局的配置文件位于/etc/vim/vimrc(或者/etc/vimrc)也可以拥有自己独立的配置文件,配置文件位“~/.vimrc”,如果没有该文件,也可以直接用如下命令创建并编辑

:set number等于:set nu      显示行号

: set nonumber等于:set nonu  隐藏行号

:set autoindent             智能缩进

:set mouse=a                开启鼠标

文件保存及退出

:q                     不保存退出

:q!                    不保存强制性退出

:w                     保存编辑  

:w filename     另存为文件 filename    :wq                   保存退出

:x        同 :wq         

ZZ        同 :wq

查询

/abc    向后查询abc            

?abc    向前查询abc

n         向后继续查询     

N         向前继续查询

查找+替换:

:s/old/new                  替换该行第一个old为new

:s/old/new/g               可以替换全行中所有的old为new

:#,#s/old/new/g          替换两行之间出现的old为new,#,#为两行的行号

:%s/old/new/g             替换全文的old为new

:%s/old/new/gc           全文替换前需确认

插入模式:编辑模式或输入模式:

只有在输入模式下,才可以输入文字。在命令模式下输入(i,a,A等),可进入输入模式,输入模式下按ESC,可返回命令模式。

编译器GCC:gcc是GNU推出的多平台编译器,gcc编译器能将c、c++语言源程序编译、链接成可执行文件。

文件解释

.c为后缀的文件,c语言源代码文件;

.h为后缀的文件,是程序包含的头文件;

.i为后缀的文件,是已经预处理过的c源代码文件;

.s为后缀的文件,是汇编语言源代码文件

.o为后缀的文件,是编译后的目标二进制文件

编译过程

预处理:gcc -E hello.c -o hello.i预处理器(cpp)根据以字符#开头的命修改原始c程序

编译:gcc -S hello.i -o hello.s,将C语言编译成汇编语言。

汇编:gcc -c hello.s -o hello.o,将汇编语言编译成二进制代码

链接:gcc hello.o -o hello,将预编译文件并入代码,生成可执行文件

注意:        

(1)gcc example.c -o example      #直接生成可执行文件

(2)./example                             #运行可执行文件

(3)若不使用 -o 则生成可执行文件 a.out

(4)Linux头文件默认放在/usr/include中

调试器GDB

GDB是由GNU计划完成的、受通用公共许可证)保护的自由软件。它主要工作在字符模式下,是一个功能强大的交互式程序调试工具

在编译时注意一定要加上选项“-g” ,这样编译出的可执行代码中才包含调试信息,否则之后 Gdb 无法载入该可执行文件。

例如:gcc -g func.c -o test

常用命令:

1、   l(list)                 #一次列出10行代码(list n,m   #列出n~m行)

2、   r(run)                #执行程序(未设置断点,将程序执行完毕)

3、   b(break)             #b+行号,在该行设置断点

4、   c(continue)         #当程序运行时,继续运行程序,直到遇到断点

5、   i b(info break)     #查看断点信息

6、   d+编号               #(delete)删除该断点(d删除所有断点)

7、   clear+行号          #删除指定行断点(不加行报错)

8、   p(print)              #p+变量名,显示变量的值

9、   s(step)               #单步执行(进入调用函数)

10、 n(next)               #不进入调用的函数,只在主函数中运行

11、 return/finish        #退出step进入的调用函数

12、 q(quit)               #退出gdb调试

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值