第3章 linux编辑 --VIM编辑器的使用

1.1 简介

vi是 Linux/UNIX 系列 OS 中通用的一种全屏编辑器。VIM是vi的升级版本。比vi好用而且方便很多。

vim分为两种状态,即命令状态编辑状态;

在命令状态下,所键入的字符系统均作命令来处理,如:q 代表退出vim编辑工具;而编辑状态则是用来编辑文本资料的。

1.2 vim状态转换

当你进入vim时,会首先进入命令状态

在命令状态下,按”i”或”a”或者“S/s”可以进入编辑状态,在编辑状态,按ESC 键进入命令状态

1.3 vim插入文本

常见的插入指令 如下:

命令

功能

a

从光标后面开始添加文本

A

从光标所在行的末尾开始添加文本

i

从光标前面开始插入文本

I

从光标所在行的开始处插入文本

o

在目前光标所在的下一行处插入新的一行

O

在目前光标所在处的上一行插入新的一行

s

删除游标所在字符,并进入编辑模式

S

删除游标所在的行,并进入编辑模式

r

输入字符,取代光标所在的那一个字符

R

一直取代光标所在的字符,直到按下ESC 为止

1.4 删除与修改

x 删除光标处的字符

dd 删除光标所在的整行

3dd 删除光标所在行以及下面的两行

D 或 d$ 删除光标到行尾的文本,常用语删除注释语句

d^或 d0 删除光标到行首的文本

1.5 光标的移动

可以通过键盘上的四个方向键,以及home, end, page up, page down 键移动光标,在此不必多说。但在远程登录模式下, vim不支持PageUp、 PageDown、 Home、 End 等功能键!

h 或 向左方向键(←) → 光标向左移动一个字符

j 或 向下方向鍵(↓) → 光标向下移动一个字符

k 或 向上方向鍵(↑) → 光标向上移动一个字符

l 或 向右方向鍵(→) → 光标向右移动一个字符

w 光标往后移一个字

b 光标往前移一个字

^ 光标移动到行首

$ 光标移动到行尾

Ctrl+f 向下翻一页 forward

Ctrl+b 向上翻一页 back

Ctrl+d 向下翻半页 down

Ctrl+u 向上翻半页 up

gg 光标定位到文档头

G 光标定位到文档尾

H 光标定位到当前页首

L 光标定位到当前页的最后一行的行首

[n]+ 光标向后移动 n 行,[n]表示一个整数,比如 10+

[n]- 光标向前移动 n 行,[n]表示一个整数,比如 10-

[n]G 光标定位到第 n 行行首, [n]表示一个整数,比如 10G

1.6 替换与查找

(1)查找 -- /[str]

查找字符串str, [str]表示要查找的字符串,回车后会加亮显示所有找到的字串,接着命令 n移动到下一个找到的字符串,命令 N 移动到上一个找到的字符串。

示例

/hello

(2)部分替换 -- :s/[src]/[dst]

说明:只能替换光标之所在的行;

选项

功能

/i

忽略大小写

/g

全部匹配

/c

替换时提示

示例

:s/hello/world/ig //替换一行

:3,6 s/[src]/[dst]/ig //(3-6 行中找)

(3)全部替换

:%s/[src]/[dst]/g 将文档中所有src 的字符串替换为 dst 字符串

:%s/^ //g 将文档每一行的行首的空格去掉

:n.ms/[src]/[dst]/g 将文档中n行和m行之间的所有src 的字符串替换为 dst 字符串

1.7 块操作

v进入可视化块选择状态,选中块之后,可以对块进行删除(d),复制(y),剪切(x)

命令

作用

yy

复制光标所在的整行

[n]yy

从光标开始往下复制n 行,[n]表示一个整数

p

将复制后的文本粘贴到光标处

u

撤销上次操作

ctrl + r

恢复上次操作

1.8 保存与编辑

:q

在未修改文档的情况下退出

:q!

放弃文档的修改,强行退出

:w

保存

:wq

保存并退出

:w file

保存到另一个文件下

1.9 其他

:help命令 查看该命令的帮助提示

:%!xxd 十六进制模式

:%!xxd –r 返回文本模式

如果在编辑过程中不小心按了Ctrl+s,vi会处于僵死状态,按 Ctrl+q 可以恢复。

执行vi +3 main.c //表示定位到 main.c 的第 3 行

执行vi +/printf main.c //表示定位到第一个 printf 处

在命令模式下输入:new 2.c //表示再打开一个 vi,是横向的 用 vnew 2.c 表示纵向

在命令模式中输入gg=G 可以自动对齐

下一小节:linux的编译器gcc、g++的使用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值