vi编辑器命令学习(编译器之神)

基本上VI可以分为三种模式,分别是

  • 命令模式 ==>输入vi命令的快捷键
  • 插入模式 ==>进入编辑模式,可以编辑文件
  • 底行模式 ==>调整文件内容
    -不过一般情况下,我们把vi编译器简化为两个模式,就是底行模式也算如命令行模式。

基本操作

1.vi test.c 是直接用编译器打开一个文件如果文件不存在,则会自动创建。
2. vi -R test,c 一直都方式打开文件
3. 文件底层会有只读的提醒
4. 各个模式之间的切换
5. 各模式切换

低行模式 主要是对vi的设置工作,退出,查找,替换等操作
|/
esc/ / :
q q! / /
shell <======== 默认是命令行模式 没有任何提示符号,命令行模式主要进行光标移动,字符复制,粘贴,删除等操作。
x w wq wq! \ /\
a/o/i\ \ esc
/
插入模式 文本输入,主要用来编写代码,修改代码。


vi移动
0.默认支持方向键
1.向前移动:l ,空格 ,->
2.向后移动:h, <-
3.移动到下一行:+,ENTER,j,ctrl+n,方向下键
4.移动到上一行:k,-,ctrl+p,方向上键
5.移动到行首:0,^ , 在命令行模式下执行
6.移动到行尾:$
7.屏幕滚动下:CTRL + f 移动一屏,保留两行
CTRL + d 移动半屏
8.屏幕滚动上:CTRL + b 移动一屏,保留两行
CTRL+ u 移动半屏
9.定位
gg 定位到文件开头
G 定位到文件末尾

测试:

  mkdir gaojic      mkdir 01    cd  01

  sudo cp /usr/include/stdio.h   ./

3、vi编辑

以下所有操作在命令行模式执行,当进入插入模式后必须退出来才能执行以下命令

  1. 插入 i/I i 在光标当前插入 I 在光标行前插入

  2. 附加 a/A a 在光标后增加 A 在光标行后增加

  3. 新行 o/O o 在光标行下新起一行 O 在光标行上面新起一行

  4. 删除 x/X x 删除光标所在处字符 X 删除光标前面的字符,可以 nx /nX 表示删除多少个字符

  5. 删除行 dd/D dd 删除光标所在行 ******************
    D 从光标所在位置开始到行末位
    dgg 删除光标所在行到文件开头的所有数据**************
    dG 删除光标所在行到文件末尾的所有数据**************
    u 用来插销刚才的操作 ***************

6)剪贴与粘贴: 剪贴有缓冲区9个,类似压栈方式存储。每次复制一次都是放到第一个缓冲区
dd 剪贴一行
p 粘贴一行 ***************
“2p 粘贴2号缓冲区数据 “3p“ 粘贴3号缓冲区数据

7)复制与粘贴: yy p ********************

以下都是底行模式操作:

8)复制与移动: 底行模式下执行
:开始行,结束行 co 目标行
例如 :1,2 co 5 把第一行到第二行复制到第五行
:开始行,结束行 m 目标行
例如: :1,2 m 5 把第一行到第二行移动到第五行

7)移动到指定行: :行号 行号G ===>底行模式执行 ***********
4、vi查找与替换
1) 查找 在命令模式使用 “/” 在其后直接写需要查询的
关键字 然后 回车 ==》n/N 来查询
n 表示从光标处开始往下找
N 表示从光标处开始往上找
/<xx> 表示严格匹配查找 xx 字符
/<printf> 在当前文档中严格匹配查找单词printf
//在低行模式下执行

2) 替换  :g/s1/s//s2/g   *********  
将文件中所有的s1字符串都替换成s2,
s1和s2可以使字母也可以是字符串
eg:   :g/printf/s//PRINTF/g
    将当前文档中所有的小写printf全部替换成大写的printf

5、其他常用操作

vi 撤销 u 撤销刚才的操作
vi 重复 . 重复刚才的动作
vi 挂起 ctrl+z
vi 恢复 fg
vi 跳转 gd 将光标移动到你要跳转的变量或者函数上,
在执行gd即可跳转到定义处
[I 将光标移动到你的查找的变量或者函数上,
执行[I即可查找到相关头文件和当前文件中的
调用信息

vi 关键字补齐 ctrl+n 在编写代码过程中先写一部分
单词再按下ctrl+n 则能看到补全信息
vi 自动缩进 “=” 在命令行模式执行 = 完成缩进,
可以鼠标全选后 = 来整体缩进
按下 v 字符 移动方向键选中区域在按 = 完成排版
ggvG 可以全选当前文档,在按 = 完成排版

=============================================================================================================
小技巧:

按V 进入可视模式,v 可以选定任意个字符,V 是行选定。
进入可视模式后可以用方向键来选择区域,然后按下y 可以复制,d 可以剪贴
再用p就可以粘贴

在可视模式下选择任意区域后,按下 = 可以自动代码缩进。

在光标移动到括号上的时候 ,按下 % 可以找到对应的 
另一个括号

可以vi xx xx xxx 多文件编辑,在底行输入 
e xx  可以文件切换 ,或者在底行输入 : n  :N 来回切换

:sp(:vsp) 文件名     vim 将分割出一个横(纵)向窗口,
 并在该窗口中打开新文件.
各个窗口之间切换用ctrl+w 看光标在切换

:set diff  	此命令用于比较两个文件是否一样
:vsp filename
 命令打开另一个文件, 然后在每个文件
 窗口中输入此命令,就能看到效果了.
:set nodiff 可以讲不同之后的颜色去掉。


:shell 可以在不关闭vi的情况下切换到
       shell命令行
:exit 从shell回到vi

文件退出: 在底行模式执行
shift + zz  可以自动保存文件并退出
            当前编辑环境
: wq  保存退出
: q   不保存退出
: x  保存退出
: wq!  强制保存退出
: q!  强制不保存退出
: wq  /home/linux/xxx.c   指定位置保存文件

ctrl+shift+ + 放大
ctrl+ -      缩小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值