vi编辑器
- 文件已存在——是查看、修改、编辑
- 文件不存在——是保存后,建立新文件
为什么用vi
- 基本所有的linux在装系统时候已经安装了vi
- 功能强大
vim 是vi 的升级版
!vim 打开上一次打开的vim
三种模式
- 命令模式:默认模式,可以实现移动光标,剪切/粘贴文本
- 插入模式:用于修改文本
- 末行模式:保存,退出等搜索替代
三种模式的切换
命令模式
光标移动
- 上下左右四个箭头:方向移动
- ctrl+f或者Pagedown:向下翻页
- ctrl+b或者Pageup :向上翻页
- G:跳转到文件的最后一行
- #G:跳转到#所在行
- gg:跳转到第一行
- 0:跳到真正的行首
- ^:非空白字符的行首
- end或者$:跳到行位
- e :跳到本单词的词尾
- #e:跳到第#个单词的词尾
复制、粘贴、删除
- yy:复制
- yw:复制一个单词
- #yy:复制#行
- 小p:向下粘贴
- 大P:向上粘贴
- dd:删除一整行
- #dd:删除#行
- dw:删除一个单词
- X:删除单个字符
修改、撤销、保存
- 小r:按一次 修改一次
- 大R:按一次 一直修改
- 小u:撤销一次删除
- 大U:撤销这一行的删除
- ~ :切换单词的大小写
- 大J:两行合并成一行
- 大ZZ:保存并退出
- 大ZQ:不保存退出
插入模式
命令模式进入插入模式的方式
- a: 在当前光标位置之后插入内容
- i: 在当前光标位置之前插入内容
- A: 在光标所在行的末尾(行尾)插入内容
- I: 在光标所在行的开头(行首)插入内容
- 小o:在光标所在行的下面插入一个新行
- 大O: 在光标所在行的上面插入一个新行
末行模式
- :wq—— 保存并退出
- :!加命令——在文件里执行命令
- :set cul——光标所在行有下划线
- :set nocul ——取消下划线
- :nlhl——取消高亮
- :set ai——自动对齐
- :set noai ——取消对齐
- :q——退出不保存
- :q!——强制退出不保存
查找替换
: 范围 s/查找的文件内的关键字/替换的关键字/修饰符(g全局)
例子:
:s/2/3/g
把所有的2换成3,不加g只换第一个2
范围
- 不写默认当前光标所在行
- m,n m行到n行
- % 全文
查找的文件内的关键字 可以用正则表达式
替换的关键字 一定要确定