2.Vi编辑器

1 编辑器的三种模式

vi编辑器的模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
三种模式:
编辑模式(命令模式) :所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式
输入模式:大部分机键动作都会理解为输入的字符
末行模式:在末行模式,输入很多文件管理命令

模式之间的相互转换:
编辑-->输入
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
s:删除光标所在的字符并开始插入
-----------------------------------------
I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A:在光标所在你行的行尾开始插入
O:在光标所在行的上面另起一行开始插入
S:删除光标所在行并开始插入

输入模式-->编辑模式
Esc(键盘左上方的按键)

编辑模式--->末行模式
:
末行模式:-->编辑模式
ESC(键盘左上方的按键)(一次或者多次)

2 打开和关闭文件

1
2
3
4
5
6
7
打开文件
vi /path/to/file

关闭文件
在末行模式下
wq: 保存退出
q!: 退出不保存

3 移动光标

1
2
3
4
5
6
7
8
9
10
11
12
逐字符移动: 
h:左移动
l:右移动
j:向下移动
k:向上移动
行内跳转:
0:跳转到行首
$: 跳转到行尾
行间跳转;(末行模式)
num: 跳转到某一行(末行模式)
G: 跳转行最后一行(编辑模式)
gg: 跳转到第一行(编辑模式)

4 翻屏操作

1
2
3
4
在编辑模式下:
ctrl+f 向下翻一页
ctrl+b 向上翻一页

5 删除命令

1
2
3
dd: 删除光标所在行 (编辑模式)
3dd:从光标行开始删除3(编辑模式)
: 1,4d 删除第一行到第四行(末行模式)

6 赋值和粘贴命令

1
2
3
yy 复制光标所在行 (编辑模式)
2yy 从光标行开始复制2(编辑模式)
p: 粘贴命令

7 查找和替换

1
2
3
4
5
6
7
8
9
10
11
文件的查找
/parttern 从前往后查找
?parttern 从后往前查找
n: 下一个匹配的字符串
N: 上一个匹配的字符串
文本的替换(末行模式)
startNum,endNums/partter/string/gi
g:全局替换
i:忽略大小写
%s/f/F/gi
:.,$s/F/f/gi

8 非正常关闭和退出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim编辑文件非正常退出时会生成一个.swp文件,下次再编辑同样的文件,会报错

解决方案:
      出现以上提示,可输入“R”,恢复文件,然后将.swp文件删除即可。
      删除.swp文件的命令:rm .{your file name}.swp

关于.swp文件:
      使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备不测,如果你正常退出,那么这个这个swp文件将会自动删除。

不测情况分为两种:
1、当你用多个程序编辑同一个文件时。
2、非常规退出时。

第一种情况的话,为了避免同一个文件产生两个不同的版本,还是建议选择readonly为好。
第二种情况的话,你可以用vim -r filename恢复,然后再把swp文件删除
swp文件的来历,当你强行关闭vi时,比如电源突然断掉或者你使用了Ctrl+ZZ,vi自动生成一个.swp文件,下次你再编辑时,就会出现一些提示。


2.Vi编辑器
https://www.xuwx.top/2021/03/31/2.Vi编辑器/
作者
Shine_ssr
发布于
2021年3月31日
许可协议