Vim编辑器使用

Vim编辑器使用

Ubuntu: sudo apt-get install vim

红帽: yum install vim

安装过程中如果提示 文件被锁,则删除该锁继续安装。

sudo rm /var/lib/dpkg/lock

sudo apt-get install vim

==================================================

替代方案: gedit xxx.c

我们来系统的学习的VI的使用。

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

命令模式(command mode) ===>输入vi的命令和快捷键

插入模式(Insert mode) ===>进入编辑模式,可以编辑文件

底行模式(last line mode) ===>调整文件内容

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算

入命令行模式command mode)。

所以大多数情况下我们主要应用 命令行模式与插入模式

1、vi启动与模式:

1)vim test.c 是直接用vi 打开一个文件,

如果文件不存在,则会自动创建。

2)vi -R test.c 以只读方式打开文件,

文件底层会有只读提醒。

各模式切换:

2/8****************************************

vi/vim a.c ==》默认进入的是命令行模式,不能编辑文件

1、按下 a/i/o 任意字符即可进入插入模式,注意文件左

下角会出现 "--插入(粘贴)-- "

2、开始编写代码

3、准备退出时候,按下 ESC 键,切换到命令行模式

在按下 shift + : 组合键,进入低行模式,标致是

文件左下角出现不停闪烁的":"

在":"之后写 wq 回车 保存退出

***********************************************

2、vi移动

0) 默认支持方向键 ***********

3/8 1)向前移动: l 、 空格、->

2)向后移动: h、 <-

3)移动到下一行: +、ENTER、j、ctrl+n、方向下键

4)移动到上一行: - 、 k、 ctrl+p 、 方向上键

向上

|

|

- | k

|

|

向前<---h----光标当前位置 ---l--->向后

|

+ | j

|

|

向下

5)移动到行首:0 、 ^ 、在命令行模式下执行

6)移动到行尾:$

***********************

8)屏幕滚动下: ctrl+f 移动一屏,保留两行 ***********

ctrl+d 移动半屏

9)屏幕滚动上: ctrl+b 移动一屏 ***************

ctrl+u 移动半屏

10)定位:zt 定位到屏幕顶端都是在命令行模式下执行

zb 定位到屏幕底端

gg 定位到文件开头 ************

G 定位到文件末尾 ************

4/85/8

测试:

mkdir gaojic mkdir 01 cd 01

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

ls ==> stdio.h

vi 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 ==>模糊匹配,只要包含该单词都高亮显示

在当前文档中严格匹配查找单词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

此命令用于比较两个文件是否一样

:set nodiff 可以讲不同之后的颜色去掉。

:vsp filename

命令打开另一个文件, 然后在每个文件

窗口中输入此命令,就能看到效果了.

:shell 可以在不关闭vi的情况下切换到

shell命令行

:exit 从shell回到vi

文件退出: 在底行模式执行

shift + zz 可以自动保存文件并退出

当前编辑环境

: wq 保存退出

: q 不保存退出

: x 保存退出

: wq!强制保存退出

: q! 强制不保存退出

: wq /home/linux/xxx.c 指定位置保存文件

ctrl+shift+ + 放大

ctrl+ - 缩小

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值