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