vi编辑器三种模式

命令模式 (Command mode)

通过在键盘上输入相关命令,实现控制屏幕光标的移动,删除字符或行的内容,撤销文本的修改,移动复制文本等功能,以及进入到插入模式或底线模式中。

插入模式 (Insert mode)

只有在插入模式下,才可以进行文本编辑。
在插入模式中,任何字符都将被当作文本输入到文件中。

底线模式 (Last Line mode)

主要进行一些文字编辑的辅助功能,比如字符串搜索,替换和保存文件等操作。

三种模式间转换

转换


编辑一个文件

创建新文件,进入vi编辑器 vi name
查看文件内容 more name
回退:N
结束:q
撤销:u
返回第一个文件rew
设置行号: :set nu
文件不存盘退出:q!(:q)
文件存盘退出:wq!(:wq)
文件不存盘退出查看内容,查看文件是否为只读内容文件:ls -l name
文件存盘退出查看内容,在当前界面确认文件内容是否被修改more name


移动光标

数字键+方向键 (kjhl)
w向前移动一单词,b向后移动一单词,e移动到本单词末尾
移动到行首: ^
移动到行尾: 2$(第二行行尾)


添加文本

在光标上方插入: O
在光标下方插入: o
在行首插入文本: I
在行末插入文本: A


查找字符串

向前查找字符串: /...(N)
向后查找字符串: /...(n)


字符替换

单个字符替换: r
逐字符覆盖文本: R
对单词替换: cw
替换字符串: [range]s/s1/s2/ [option]

[range] 表示检索范围,省略时表示当前行
1,10表示从第1行到10行
%表示整个文件,同1,$
 ,$从当前行到文件尾

s 为替换命令
s1 要被替换的串,s2 为替换的串

option 表示选项:
/g表示在全局文件中进行替换
/c表示在每次替换之前需要用户进行确认
省略时仅对每行第一个匹配串进行替换

文本复制,剪切,粘贴

复制单词: yl
复制一行: yy
粘贴: p
剪切: x
复制指定字符: yfy (此处y是所指选择单词January的最后一个字符)
剪切指定字符: Dfy
复制单词: yw 2yw
剪切单词: dw