【大数据技术应用实战】【基础课程一 Linux操作系统】Linux基本命令 十、Vi编辑器
vi/vim: 启动文本编辑一般模式快捷键快捷键作用yy复制游标所在的那一行(常用)dd删除游标所在的那一整列(常用)p/Pp 为将已复制的数据在光标下一行贴上,P则为贴在游标上一行指令模式快捷键快捷键作用/...
vi/vim: 启动文本编辑


一般模式快捷键
|
快捷键 |
作用 |
|
yy |
复制游标所在的那一行(常用) |
|
dd |
删除游标所在的那一整列(常用) |
|
p/P |
p 为将已复制的数据在光标下一行贴上,P则为贴在游标上一行 |
指令模式快捷键
|
快捷键 |
作用 |
|
/word |
向光标之下寻找一个名称为 word 的字符串 |
|
?word |
向光标之上寻找一个名称为 word 的字符串 |
|
n |
重复前一个搜寻的动作 |
|
N |
与 n 刚好相反,为『反向』进行前一个搜寻动作 |
|
:w |
将编辑的数据写入硬盘档案中(常用) |
|
:q |
离开 vi (常用) |
|
:q! |
若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 |
|
:wq |
储存后离开,若为 :wq! 则为强制储存后离开 (常用) |
:%s/oldStr/newStr/gc
|
代码 |
说明 |
|
: |
冒号说明下面是一条命令 |
|
% |
操作的返回,%s代码从第一行到最后一行;1,3代码从第一行到第三行;2,$代表从第二行到最后一行; |
|
s |
指替换操作 |
|
/oldStr |
将要被替换的字符串”oldStr” |
|
/newStr |
替换使用的新字符串”newStr” |
|
g |
代表全局,如果没有,则只替换每行第一个被找到的匹配项 |
|
c |
每次替换前会询问用户是否执行替换,没有则直接替换 |
Vim常用命令

:set nu
取消行号显示
:set nu!
(1)在正常模式下(按ESC进入),使用v进入可视模式,移动光标键选定内容
(2)复制选定块到缓冲区,用y;复制选定块中的的整行,用yy(你选中4行,中间两行是完全选中,此时yy选中的就是这中间两行)
(3)剪切选定块到缓冲区,用d
(4)粘贴缓冲区中的内容,用p
动手练一练
1. 在 /tmp 这个目录下建立一个名为 vitest 的目录;
2. 进入 vitest 这个目录当中;
3. 将 /etc/man.config 复制到vitest目录底下;
4. 使用 vi 开启本目录下的 man.config 这个档案;
5. 在 vi 中设定一下行号;
6. 移动到第 58 行,向右移动 40 个字符,请问你看到的双引号内是什么目录?
7. 移动到第一行,并且向下搜寻一下『bzip2 』这个字符串,请问他在第几行?
8. 接着下来,将 50 到 100 行之间的“man”改为“ MAN”,并且一个一个挑选是否需要修改,如何下达指令?如果在挑选过程中一直按y, 结果会在最后一行出现改变了几个 man 呢?
9. 修改完之后,突然反悔了,要全部复原,有哪些方法?
10. 复制 65 到 73 这九行的内容(含有 MANPATH_MAP),并且贴到最后一行之后;
11. 21 到 42 行之间的开头为 # 符号的批注数据我不要了,要如何删除?
12.将这个文件另存成一个 man.test.config 的文件;
13.去到第 27 行,并且删除 15 个字符,结果出现的第一个单字是什么?
14.在第一行新增一行,该行内容输入” I am a student,I come from HS”;
15.保存后离开!
1. 『 mkdir /tmp/vitest』
2. 『 cd /tmp/vitest』
3. 『 cp /etc/man.config .』
4. 『 vi man.config』
5. 『 :set nu』然后你会在画面中看到左侧出现数字即为行号。
6. 先按下『 58G』再按下『 40→』会看到『 /dir/bin/foo』这个字样在双引号内;
7. 先执行『 1G』或『 gg』后,直接输入『 /bzip2』,则会去到第 137 行才对!
8. 直接下达『:50,100s/man/MAN/gc 』即可!若一直按『 y』最终会出现『在 23 行内置换 25
个字符串』的说明。
9. (1)简单的方法可以一直按『u 』回复到原始状态,(2)使用不储存离开『:q! 』之后,再重新读
取一次该档案;
10.『 65G』 然后再『9yy 』之后最后一行会出现『复制九行』之类的说明字样。 按下『G 』到最
后一行,再给他『p 』贴上九行!
11.因为 21~42 22 行,因此『21G 』→『22dd 』就能删除 22 行,此时你会发现游标所在 21
行的地方变成 MANPATH 开头啰, 批注的 # 符号那几行都被删除了。
12.『:w man.test.config 』,你会发现最后一行出现 "man.test.config" [New].. 的字样。
13.『 27G』 之后,再给他『15x 』即可删除 15 个字符,出现『you 』的字样;
14.先『1G 』去到第一行,然后按下大写的『O 』便新增一行且在插入模式;开始输入『 I am a
student...』后, 按下[Esc]回到一般模式等待后续工作;
15.『 :wq』
更多推荐


所有评论(0)