0x00简介
vi由比尔·乔伊(Bill Joy)撰写,所有UNIX like均默认安装此文本编辑器。vi很小,符合Unix哲学中的“只做一件事,并做好它”。vim(vi IMproved)是vi的升级版,现在大多数Linux系统都装了vim。
0x01三种模式
1、vi是一种模式文本编辑器,具备三种使用模式。
- 一般模式:默认模式,用于移动光标、删除、复制、粘贴;
- 编辑模式:用于插入或替换编辑文本;
- 命令模式:用于查找、保存、替换大量文本、显示行号等。
2、三种模式的切换:
0x02一般模式
1、进入vi
vi testvi.txt
如果该文件不存在,则保存退出后将新建该文件。
1 [[email protected] geek]# ls 2 1.txt cprograms iftop-0.17.tar.gz 公共 视频 文档 音乐 3 2.txt htop-1.0.2-6.1.x86_64.rpm scripts 模板 图片 下载 桌面 4 [[email protected] geek]# vi testvi.txt
输入“:”进入命令模式,再输入“wq”保存并退出。
1 [[email protected] geek]# ls 2 1.txt htop-1.0.2-6.1.x86_64.rpm testvi.txt 视频 下载 3 2.txt iftop-0.17.tar.gz 公共 图片 音乐 4 cprograms scripts 模板 文档 桌面
2、返回一般模式
不管是在编辑模式还是命令模式,返回一般模式只需要按【esc】键。特别注意:编辑模式和命令模式不可直接切换,要先切换到一般模式才可以。动动脑筋就知道这样设计的道理了。
3、退出vi
在一般模式下,输入“:”进入命令模式,再输入“wq”保存并退出。如果碰到权限问题,可以“wq!”强制写入然后退出。
4、移动光标
- 上下左右:左用h或←,上用k或↑,下用j或↓,右用l或→;
- 上下滚动:上滚用【Ctrl】+【b】(backward),下滚用【Ctrl】+【f】(foreword);
- 行首行尾:行首用“0”或【home】,行尾用“$”或【end】;
- 文首文尾:文首用“gg”或“1G”,文尾用“G”;
5、复制、粘贴、删除
- 复制:yy,复制光标所在一行;nyy,复制光标所在向下n行;
- 粘贴:p,粘贴在光标下一行;P,粘贴在光标上一行;
- 删除:x或【Del】,向后删除一个字符;X或【backspace】,向前删除一个字符;dd,删除光标所在一行;ndd,删除光标所在向下n行。
6、复原、重做和重复
- 复原:u;
- 重做:【Ctrl】+r;
- 重复上一操作:”.”。
0x03编辑模式
1、插入模式
- i,I(insert)
从当前光标处插入
i
从当前行的第一个非空格符处开始插入
I
- a,A(append)
从当前光标的下一个字符处开始插入
a
从当前行的最后一个字符处插入
A
- o,O
当前行的下一行处插入新行
o
当前行的上一行处插入新行
O
2、替换模式
- r,R(replace):
替换光标所在的字符一次
r
一直替换光标所在的文字
R
0x04命令模式
1、查找与替换
- 查找:
向下查找名称为word的字符串:
/word
向上查找名称为word的字符串:
?word
重复前一个查找:
n
反向重复前一个查找:
N
- 替换:
在n1和n2行之间查找word1,并将其替换为word2
:n1,n2s/word1/word2/g
全文查找word1,并将其替换为word2
:1,$s/word1/word2/g
全文查找word1,并提示用户确认(confirm)是否将其替换为word2
:1,$s/word1/word2/gc
2、行号的设置
显示行号(number):
:set nu
取消行号(no number):
:set nonu
3、保存和离开
保存:
:w
另存为:
:w [filename]
离开:
:q
保存并离开:
:wq或
:x
- 引自鸟哥的Linux私房菜 ?
时间: 2024-10-12 13:14:56