vim
请在 /root 这个目录下建立一个名为 vitest 的目录;
mkdir /root/vitest
进入 vitest 这个目录当中;
cd /root/vitest
将 /etc/man.config 拷贝到本目录底下;
cp /etc/man.config .
使用 vi 开启本目录下的 man.config 这个档案;
viman.config
在 vi 中设定一下行号;
set nu
移动到第58 行,向右移动 40 个字符,请问您看到的双引号内是什么目录?
58gg 40+
移动到第一行,并且向下搜寻一下『 text 』这个字符串,请问他在第几行?
1gg /text
接着下来,我要将 50 到 100 行之间的 man 改为 MAN ,并且一个一个挑选是否需要修改,如何下达指令?
:50,100s/man/MAN/gc
修改完之后,突然反悔了,要全部复原,有哪些方法?
u
我要复制 51 到 60 行这十行的内容,并且贴到最后一行之后;
51G 10yy G p
删除 11 到 30 行之间的 20 行;
11G 20dd
将这个档案另存成一个 man.test.config 的檔名;
:wman.test.config
去到第 29 行,并且删除 15 个字符;
29gg 15x
请问目前的档案有多少行与多少字符?
储存后离开吧
操作类型 |
操作键 |
功能 |
光标方向移动 |
á、â、ß、à |
上、下、左、右 |
翻页 |
Page Down或Ctrl+F |
向下翻动一整页内容 |
Page Up或Ctrl+B |
向上翻动一整页内容 |
|
行内快速跳转 |
Home键或“^”、数字“0” |
跳转至行首 |
End键或“$”键 |
跳转到行尾 |
|
行间快速跳转 |
1G或者gg |
跳转到文件的首行 |
G |
跳转到文件的末尾行 |
|
#G |
跳转到文件中的第#行 |
|
行号显示 |
:set nu |
在编辑器中显示行号 |
:set nonu |
取消编辑器中的行号显示 |
操作类型 |
操作键 |
功能 |
剪切 |
x或Del (15x) |
删除光标处的单个字符 |
dd (12dd) |
删除当前光标所在行 |
|
#dd |
删除从光标处开始的#行内容 |
|
d^ |
删除当前光标之前到行首的所有字符 |
|
d$ |
删除当前光标处到行尾的所有字符 |
|
复制 |
yy(20yy) |
复制当前行整行的内容到剪贴板 |
#yy |
复制从光标处开始的#行内容 |
|
粘贴 |
p |
将缓冲区中的内容粘贴到光标位置处之后 |
P |
粘贴到光标位置处之前 |
功能 |
命令 |
备注 |
保存文件 |
:w |
|
:w /root/newfile |
另存为其它文件 |
|
退出vi |
:q |
未修改退出 |
:q! |
放弃对文件内容的修改,并退出vi |
|
保存文件退出vi |
:wq |
/word |
向光标之后寻找一个字符串 名称为word 的字符串。 |
:n1,n2s/word1/word2/g |
在第n1 与n2 行之间 寻找word1 这个字符串, 并将该字符串取代为word2 ! |
:1,$s/word1/word2/g |
从第一行到最后一行 寻找word1 字符串, 并将该字符串取代为word2 ! |
:1,$s/word1/word2/gc |
从第一行到最后一行 寻找word1 字符串, 并将该字符串取代为word2 ! 且在取代前显示提示字符 给使用者确认(conform)是否需要取代! |